You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@singa.apache.org by wa...@apache.org on 2019/10/10 04:20:27 UTC
[incubator-singa-site] branch master updated (224c4c4 -> 14b6ed2)
This is an automated email from the ASF dual-hosted git repository.
wangwei pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-singa-site.git.
from 224c4c4 add v2 software stack image
new 9d22f49 SINGA-493 Update SINGA website
new 859203b SINGA-493 Update SINGA website
new 14b6ed2 Merge pull request #1 from chrishkchris/SINGA-493
The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
README | 4 +-
content/{en => }/.buildinfo | 2 +-
content/_sources/community/team-list.rst.txt | 61 +-
.../installation.md.txt => develop/build.md.txt} | 237 ++--
content/_sources/develop/contribute-code.md.txt | 111 +-
content/_sources/develop/contribute-docs.md.txt | 73 +-
content/_sources/develop/how-contribute.md.txt | 13 +-
content/_sources/docs/index.rst.txt | 18 +-
content/_sources/docs/installation.md.txt | 377 +-----
.../_sources/docs/model_zoo/caffe/README.md.txt | 18 +
.../_sources/docs/model_zoo/char-rnn/README.md.txt | 19 +-
.../_sources/docs/model_zoo/cifar10/README.md.txt | 20 +-
.../examples/imagenet/inception/README.md.txt | 2 +-
.../docs/model_zoo/imagenet/alexnet/README.md.txt | 18 +
.../docs/model_zoo/imagenet/densenet/README.md.txt | 7 +-
.../model_zoo/imagenet/googlenet/README.md.txt | 29 +-
.../model_zoo/imagenet/inception/README.md.txt | 30 +-
.../docs/model_zoo/imagenet/resnet/README.md.txt | 28 +-
.../docs/model_zoo/imagenet/vgg/README.md.txt | 28 +-
content/_sources/docs/model_zoo/index.rst.txt | 6 +-
.../_sources/docs/model_zoo/mnist/README.md.txt | 18 +
.../docs.rst.txt => _sources/docs/onnx.rst.txt} | 9 +-
content/_sources/downloads.md.txt | 3 +-
content/_sources/index.rst.txt | 30 +-
.../README.md.txt => _sources/security.md.txt} | 5 +-
content/_static/basic.css | 139 +--
content/_static/doctools.js | 65 +-
content/_static/images/imda2019_1.png | Bin 0 -> 297733 bytes
content/_static/images/imda2019_2.png | Bin 0 -> 305041 bytes
content/{zh => }/_static/jquery-3.1.0.js | 0
content/_static/jquery.js | 8 +-
content/_static/searchtools.js | 398 ++++--
content/_static/websupport.js | 4 +-
content/community/issue-tracking.html | 18 +-
content/community/mail-lists.html | 72 +-
content/community/source-repository.html | 28 +-
content/community/team-list.html | 229 ++--
content/{en => }/develop/build.html | 202 +--
content/develop/contribute-code.html | 135 +-
content/develop/contribute-docs.html | 102 +-
content/develop/how-contribute.html | 43 +-
content/develop/how-to-release.html | 95 +-
content/develop/schedule.html | 293 +++--
content/docs/autograd.html | 70 +-
content/docs/benchmark.html | 38 +-
content/docs/cnn.html | 48 +-
content/docs/converter.html | 57 +-
content/docs/data.html | 115 +-
content/docs/dependencies.html | 60 +-
content/docs/device.html | 87 +-
content/docs/docker.html | 44 +-
content/docs/image_tool.html | 330 +----
content/docs/index.html | 105 +-
content/docs/initializer.html | 113 +-
content/docs/install_macos1013.html | 70 +-
content/docs/install_win.html | 418 ++++---
content/docs/installation.html | 410 ++----
content/docs/layer.html | 1002 +--------------
content/docs/loss.html | 242 +---
content/docs/metric.html | 212 +---
content/docs/model_zoo/caffe/README.html | 57 +-
content/docs/model_zoo/char-rnn/README.html | 88 +-
content/docs/model_zoo/cifar10/README.html | 107 +-
content/docs/model_zoo/examples/caffe/README.html | 38 +-
.../docs/model_zoo/examples/char-rnn/README.html | 38 +-
.../docs/model_zoo/examples/cifar10/README.html | 61 +-
.../examples/imagenet/alexnet/README.html | 80 +-
.../examples/imagenet/densenet/README.html | 34 +-
.../examples/imagenet/googlenet/README.html | 36 +-
.../examples/imagenet/inception/README.html | 35 +-
.../model_zoo/examples/imagenet/resnet/README.html | 42 +-
.../model_zoo/examples/imagenet/vgg/README.html | 38 +-
content/docs/model_zoo/examples/index.html | 16 +-
content/docs/model_zoo/examples/mnist/README.html | 27 +-
.../docs/model_zoo/imagenet/alexnet/README.html | 134 +-
.../docs/model_zoo/imagenet/densenet/README.html | 94 +-
.../docs/model_zoo/imagenet/googlenet/README.html | 110 +-
.../docs/model_zoo/imagenet/inception/README.html | 118 +-
content/docs/model_zoo/imagenet/resnet/README.html | 123 +-
content/docs/model_zoo/imagenet/vgg/README.html | 119 +-
content/docs/model_zoo/index.html | 79 +-
content/docs/model_zoo/mnist/README.html | 89 +-
content/docs/net.html | 316 +----
content/docs/neural-net.html | 134 +-
content/docs/notebook/README.html | 16 +-
content/{en => }/docs/onnx.html | 48 +-
content/docs/optimizer.html | 452 +------
content/docs/snapshot.html | 100 +-
content/docs/software_stack.html | 82 +-
content/docs/tensor.html | 1309 +-------------------
content/docs/utils.html | 71 +-
content/downloads.html | 239 ++--
content/en/.buildinfo | 2 +-
content/en/_sources/community/mail-lists.rst.txt | 1 +
content/en/_sources/community/team-list.rst.txt | 61 +-
.../_sources/develop/build.md.txt} | 237 ++--
content/en/_sources/develop/contribute-code.md.txt | 111 +-
content/en/_sources/develop/contribute-docs.md.txt | 73 +-
content/en/_sources/develop/how-contribute.md.txt | 13 +-
content/en/_sources/docs/index.rst.txt | 17 +-
content/en/_sources/docs/installation.md.txt | 377 +-----
.../en/_sources/docs/model_zoo/caffe/README.md.txt | 18 +
.../_sources/docs/model_zoo/char-rnn/README.md.txt | 19 +-
.../_sources/docs/model_zoo/cifar10/README.md.txt | 20 +-
.../examples/imagenet/densenet/README.md.txt | 7 +-
.../examples/imagenet/googlenet/README.md.txt | 11 +-
.../examples/imagenet/inception/README.md.txt | 12 +-
.../examples/imagenet/resnet/README.md.txt | 10 +-
.../model_zoo/examples/imagenet/vgg/README.md.txt | 6 -
.../docs/model_zoo/imagenet/alexnet/README.md.txt | 18 +
.../model_zoo/imagenet/googlenet/README.md.txt | 29 +-
.../model_zoo/imagenet/inception/README.md.txt | 30 +-
.../docs/model_zoo/imagenet/resnet/README.md.txt | 28 +-
.../docs/model_zoo/imagenet/vgg/README.md.txt | 28 +-
content/en/_sources/docs/model_zoo/index.rst.txt | 6 +-
.../en/_sources/docs/model_zoo/mnist/README.md.txt | 18 +
.../docs.rst.txt => en/_sources/docs/onnx.rst.txt} | 9 +-
content/en/_sources/downloads.md.txt | 28 +-
content/en/_sources/index.rst.txt | 40 +-
.../notebook/README.md.txt => security.md.txt} | 5 +-
content/en/_static/basic.css | 39 +-
content/en/_static/css/badge_only.css | 2 +-
content/en/_static/css/theme.css | 6 +-
content/en/_static/doctools.js | 60 +-
content/en/_static/fonts/Inconsolata-Bold.ttf | Bin 108360 -> 109948 bytes
content/en/_static/fonts/Inconsolata-Regular.ttf | Bin 95960 -> 96964 bytes
content/en/_static/images/imda2019_1.png | Bin 0 -> 297733 bytes
content/en/_static/images/imda2019_2.png | Bin 0 -> 305041 bytes
content/{zh => en}/_static/jquery-3.1.0.js | 0
content/en/_static/jquery.js | 8 +-
content/en/_static/js/theme.js | 4 +-
content/en/_static/searchtools.js | 5 +-
content/{zh => en}/_static/singa-logo-updated.ai | 0
content/en/_static/singa.png | Bin 25000 -> 81502 bytes
content/en/_static/style.css | 2 +-
content/en/_static/websupport.js | 4 +-
content/en/community/issue-tracking.html | 47 +-
content/en/community/mail-lists.html | 101 +-
content/en/community/source-repository.html | 57 +-
content/en/community/team-list.html | 265 ++--
content/en/develop/build.html | 202 +--
content/en/develop/contribute-code.html | 92 +-
content/en/develop/contribute-docs.html | 77 +-
content/en/develop/how-contribute.html | 51 +-
content/en/develop/how-to-release.html | 124 +-
content/en/develop/schedule.html | 309 ++---
content/en/docs/autograd.html | 78 +-
content/en/docs/benchmark.html | 50 +-
content/en/docs/cnn.html | 79 +-
content/en/docs/converter.html | 45 +-
content/en/docs/data.html | 45 +-
content/en/docs/dependencies.html | 89 +-
content/en/docs/device.html | 56 +-
content/en/docs/docker.html | 73 +-
content/en/docs/image_tool.html | 45 +-
content/en/docs/index.html | 102 +-
content/en/docs/initializer.html | 45 +-
content/en/docs/install_macos1013.html | 99 +-
content/en/docs/install_win.html | 447 ++++---
content/en/docs/installation.html | 110 +-
content/en/docs/layer.html | 45 +-
content/en/docs/loss.html | 45 +-
content/en/docs/metric.html | 45 +-
content/en/docs/model_zoo/caffe/README.html | 118 +-
content/en/docs/model_zoo/char-rnn/README.html | 135 +-
content/en/docs/model_zoo/cifar10/README.html | 155 +--
.../en/docs/model_zoo/examples/caffe/README.html | 122 +-
.../docs/model_zoo/examples/char-rnn/README.html | 114 +-
.../en/docs/model_zoo/examples/cifar10/README.html | 138 +--
.../examples/imagenet/alexnet/README.html | 160 ++-
.../examples/imagenet/densenet/README.html | 125 +-
.../examples/imagenet/googlenet/README.html | 133 +-
.../examples/imagenet/inception/README.html | 129 +-
.../model_zoo/examples/imagenet/resnet/README.html | 128 +-
.../model_zoo/examples/imagenet/vgg/README.html | 125 +-
content/en/docs/model_zoo/examples/index.html | 92 +-
.../en/docs/model_zoo/examples/mnist/README.html | 110 +-
.../en/docs/model_zoo/imagenet/alexnet/README.html | 183 +--
.../docs/model_zoo/imagenet/densenet/README.html | 62 +-
.../docs/model_zoo/imagenet/googlenet/README.html | 153 ++-
.../docs/model_zoo/imagenet/inception/README.html | 166 ++-
.../en/docs/model_zoo/imagenet/resnet/README.html | 165 ++-
content/en/docs/model_zoo/imagenet/vgg/README.html | 166 ++-
content/en/docs/model_zoo/index.html | 124 +-
content/en/docs/model_zoo/mnist/README.html | 149 ++-
content/en/docs/net.html | 45 +-
content/en/docs/neural-net.html | 163 +--
content/en/docs/notebook/README.html | 45 +-
content/en/docs/onnx.html | 48 +-
content/en/docs/optimizer.html | 45 +-
content/en/docs/snapshot.html | 45 +-
content/en/docs/software_stack.html | 94 +-
content/en/docs/tensor.html | 52 +-
content/en/docs/utils.html | 45 +-
content/en/downloads.html | 268 ++--
content/en/genindex.html | 793 +-----------
content/en/index.html | 138 ++-
content/en/objects.inv | Bin 2967 -> 1426 bytes
content/en/releases/RELEASE_NOTES_0.1.0.html | 185 +--
content/en/releases/RELEASE_NOTES_0.2.0.html | 153 ++-
content/en/releases/RELEASE_NOTES_0.3.0.html | 90 +-
content/en/releases/RELEASE_NOTES_1.0.0.html | 193 +--
content/en/releases/RELEASE_NOTES_1.1.0.html | 118 +-
content/en/releases/RELEASE_NOTES_1.2.0.html | 134 +-
content/en/releases/RELEASE_NOTES_2.0.0.html | 112 +-
content/en/search.html | 79 +-
content/en/searchindex.js | 2 +-
content/en/security.html | 47 +-
content/genindex.html | 39 +-
content/index.html | 111 +-
content/objects.inv | Bin 1822 -> 1426 bytes
content/releases/RELEASE_NOTES_0.1.0.html | 156 ++-
content/releases/RELEASE_NOTES_0.2.0.html | 124 +-
content/releases/RELEASE_NOTES_0.3.0.html | 61 +-
content/releases/RELEASE_NOTES_1.0.0.html | 164 +--
content/releases/RELEASE_NOTES_1.1.0.html | 89 +-
content/releases/RELEASE_NOTES_1.2.0.html | 105 +-
content/releases/RELEASE_NOTES_2.0.0.html | 83 +-
content/search.html | 39 +-
content/searchindex.js | 2 +-
content/security.html | 41 +-
content/zh/.buildinfo | 2 +-
content/zh/_static/basic.css | 124 +-
content/zh/_static/doctools.js | 65 +-
content/zh/_static/images/imda2019_1.png | Bin 0 -> 297733 bytes
content/zh/_static/images/imda2019_2.png | Bin 0 -> 305041 bytes
content/zh/_static/jquery.js | 8 +-
content/zh/_static/searchtools.js | 391 ++++--
content/zh/_static/websupport.js | 4 +-
content/zh/community/issue-tracking.html | 15 +-
content/zh/community/mail-lists.html | 59 +-
content/zh/community/source-repository.html | 19 +-
content/zh/community/team-list.html | 181 +--
content/zh/develop/contribute-code.html | 43 +-
content/zh/develop/how-contribute.html | 23 +-
content/zh/develop/schedule.html | 297 ++---
content/zh/docs.html | 41 +-
content/zh/docs/data.html | 33 +-
content/zh/docs/device.html | 25 +-
content/zh/docs/image_tool.html | 69 +-
content/zh/docs/index.html | 41 +-
content/zh/docs/initializer.html | 23 +-
content/zh/docs/install_macos1013.html | 65 +-
content/zh/docs/install_win.html | 413 +++---
content/zh/docs/installation.html | 175 +--
content/zh/docs/layer.html | 277 +++--
content/zh/docs/loss.html | 39 +-
content/zh/docs/metric.html | 27 +-
content/zh/docs/model_zoo/char-rnn/README.html | 31 +-
content/zh/docs/model_zoo/cifar10/README.html | 43 +-
.../zh/docs/model_zoo/imagenet/alexnet/README.html | 63 +-
.../docs/model_zoo/imagenet/densenet/README.html | 35 +-
.../docs/model_zoo/imagenet/googlenet/README.html | 29 +-
.../docs/model_zoo/imagenet/inception/README.html | 27 +-
.../zh/docs/model_zoo/imagenet/resnet/README.html | 43 +-
content/zh/docs/model_zoo/imagenet/vgg/README.html | 39 +-
content/zh/docs/model_zoo/index.html | 13 +-
content/zh/docs/model_zoo/mnist/README.html | 22 +-
content/zh/docs/net.html | 49 +-
content/zh/docs/optimizer.html | 113 +-
content/zh/docs/snapshot.html | 21 +-
content/zh/docs/software_stack.html | 47 +-
content/zh/docs/tensor.html | 209 ++--
content/zh/docs/utils.html | 17 +-
content/zh/downloads.html | 209 ++--
content/zh/genindex.html | 13 +-
content/zh/index.html | 81 +-
content/zh/search.html | 13 +-
content/zh/searchindex.js | 2 +-
269 files changed, 11041 insertions(+), 14332 deletions(-)
copy content/{en => }/.buildinfo (82%)
copy content/_sources/{docs/installation.md.txt => develop/build.md.txt} (64%)
copy content/{zh/_sources/docs.rst.txt => _sources/docs/onnx.rst.txt} (94%)
copy content/{en/_sources/docs/notebook/README.md.txt => _sources/security.md.txt} (81%)
create mode 100644 content/_static/images/imda2019_1.png
create mode 100644 content/_static/images/imda2019_2.png
copy content/{zh => }/_static/jquery-3.1.0.js (100%)
copy content/{en => }/develop/build.html (60%)
copy content/{en => }/docs/onnx.html (85%)
copy content/{_sources/docs/installation.md.txt => en/_sources/develop/build.md.txt} (64%)
copy content/{zh/_sources/docs.rst.txt => en/_sources/docs/onnx.rst.txt} (94%)
copy content/en/_sources/{docs/notebook/README.md.txt => security.md.txt} (81%)
create mode 100644 content/en/_static/images/imda2019_1.png
create mode 100644 content/en/_static/images/imda2019_2.png
copy content/{zh => en}/_static/jquery-3.1.0.js (100%)
copy content/{zh => en}/_static/singa-logo-updated.ai (100%)
create mode 100644 content/zh/_static/images/imda2019_1.png
create mode 100644 content/zh/_static/images/imda2019_2.png
[incubator-singa-site] 08/08: Merge pull request #1 from
chrishkchris/SINGA-493
Posted by wa...@apache.org.
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/incubator-singa-site.git
commit 14b6ed23a69403720418460f329f1d288acdb861
Merge: 224c4c4 859203b
Author: Wei Wang <nu...@users.noreply.github.com>
AuthorDate: Thu Oct 10 12:20:23 2019 +0800
Merge pull request #1 from chrishkchris/SINGA-493
SINGA-493 Update SINGA website
README | 4 +-
content/{en => }/.buildinfo | 2 +-
content/_sources/community/team-list.rst.txt | 61 +-
.../installation.md.txt => develop/build.md.txt} | 237 +-
content/_sources/develop/contribute-code.md.txt | 111 +-
content/_sources/develop/contribute-docs.md.txt | 73 +-
content/_sources/develop/how-contribute.md.txt | 13 +-
content/_sources/docs/index.rst.txt | 18 +-
content/_sources/docs/installation.md.txt | 377 +-
.../_sources/docs/model_zoo/caffe/README.md.txt | 18 +
.../_sources/docs/model_zoo/char-rnn/README.md.txt | 19 +-
.../_sources/docs/model_zoo/cifar10/README.md.txt | 20 +-
.../examples/imagenet/inception/README.md.txt | 2 +-
.../docs/model_zoo/imagenet/alexnet/README.md.txt | 18 +
.../docs/model_zoo/imagenet/densenet/README.md.txt | 7 +-
.../model_zoo/imagenet/googlenet/README.md.txt | 29 +-
.../model_zoo/imagenet/inception/README.md.txt | 30 +-
.../docs/model_zoo/imagenet/resnet/README.md.txt | 28 +-
.../docs/model_zoo/imagenet/vgg/README.md.txt | 28 +-
content/_sources/docs/model_zoo/index.rst.txt | 6 +-
.../_sources/docs/model_zoo/mnist/README.md.txt | 18 +
.../index.rst.txt => _sources/docs/onnx.rst.txt} | 26 +-
content/_sources/downloads.md.txt | 3 +-
content/_sources/index.rst.txt | 30 +-
content/_sources/security.md.txt | 22 +
content/_static/basic.css | 139 +-
content/_static/doctools.js | 65 +-
content/_static/images/imda2019_1.png | Bin 0 -> 297733 bytes
content/_static/images/imda2019_2.png | Bin 0 -> 305041 bytes
content/_static/jquery-3.1.0.js | 10074 +++++++++++++++++++
content/_static/jquery.js | 8 +-
content/_static/searchtools.js | 398 +-
content/_static/websupport.js | 4 +-
content/community/issue-tracking.html | 18 +-
content/community/mail-lists.html | 72 +-
content/community/source-repository.html | 28 +-
content/community/team-list.html | 229 +-
content/{en => }/develop/build.html | 202 +-
content/develop/contribute-code.html | 135 +-
content/develop/contribute-docs.html | 102 +-
content/develop/how-contribute.html | 43 +-
content/develop/how-to-release.html | 95 +-
content/develop/schedule.html | 293 +-
content/docs/autograd.html | 70 +-
content/docs/benchmark.html | 38 +-
content/docs/cnn.html | 48 +-
content/docs/converter.html | 57 +-
content/docs/data.html | 115 +-
content/docs/dependencies.html | 60 +-
content/docs/device.html | 87 +-
content/docs/docker.html | 44 +-
content/docs/image_tool.html | 330 +-
content/docs/index.html | 105 +-
content/docs/initializer.html | 113 +-
content/docs/install_macos1013.html | 70 +-
content/docs/install_win.html | 418 +-
content/docs/installation.html | 410 +-
content/docs/layer.html | 1002 +-
content/docs/loss.html | 242 +-
content/docs/metric.html | 212 +-
content/docs/model_zoo/caffe/README.html | 57 +-
content/docs/model_zoo/char-rnn/README.html | 88 +-
content/docs/model_zoo/cifar10/README.html | 107 +-
content/docs/model_zoo/examples/caffe/README.html | 38 +-
.../docs/model_zoo/examples/char-rnn/README.html | 38 +-
.../docs/model_zoo/examples/cifar10/README.html | 61 +-
.../examples/imagenet/alexnet/README.html | 80 +-
.../examples/imagenet/densenet/README.html | 34 +-
.../examples/imagenet/googlenet/README.html | 36 +-
.../examples/imagenet/inception/README.html | 35 +-
.../model_zoo/examples/imagenet/resnet/README.html | 42 +-
.../model_zoo/examples/imagenet/vgg/README.html | 38 +-
content/docs/model_zoo/examples/index.html | 16 +-
content/docs/model_zoo/examples/mnist/README.html | 27 +-
.../docs/model_zoo/imagenet/alexnet/README.html | 134 +-
.../docs/model_zoo/imagenet/densenet/README.html | 94 +-
.../docs/model_zoo/imagenet/googlenet/README.html | 110 +-
.../docs/model_zoo/imagenet/inception/README.html | 118 +-
content/docs/model_zoo/imagenet/resnet/README.html | 123 +-
content/docs/model_zoo/imagenet/vgg/README.html | 119 +-
content/docs/model_zoo/index.html | 79 +-
content/docs/model_zoo/mnist/README.html | 89 +-
content/docs/net.html | 316 +-
content/docs/neural-net.html | 134 +-
content/docs/notebook/README.html | 16 +-
content/{en => }/docs/onnx.html | 48 +-
content/docs/optimizer.html | 452 +-
content/docs/snapshot.html | 100 +-
content/docs/software_stack.html | 82 +-
content/docs/tensor.html | 1309 +--
content/docs/utils.html | 71 +-
content/downloads.html | 239 +-
content/en/.buildinfo | 2 +-
content/en/_sources/community/mail-lists.rst.txt | 1 +
content/en/_sources/community/team-list.rst.txt | 61 +-
.../_sources/develop/build.md.txt} | 237 +-
content/en/_sources/develop/contribute-code.md.txt | 111 +-
content/en/_sources/develop/contribute-docs.md.txt | 73 +-
content/en/_sources/develop/how-contribute.md.txt | 13 +-
content/en/_sources/docs/index.rst.txt | 17 +-
content/en/_sources/docs/installation.md.txt | 377 +-
.../en/_sources/docs/model_zoo/caffe/README.md.txt | 18 +
.../_sources/docs/model_zoo/char-rnn/README.md.txt | 19 +-
.../_sources/docs/model_zoo/cifar10/README.md.txt | 20 +-
.../examples/imagenet/densenet/README.md.txt | 7 +-
.../examples/imagenet/googlenet/README.md.txt | 11 +-
.../examples/imagenet/inception/README.md.txt | 12 +-
.../examples/imagenet/resnet/README.md.txt | 10 +-
.../model_zoo/examples/imagenet/vgg/README.md.txt | 6 -
.../docs/model_zoo/imagenet/alexnet/README.md.txt | 18 +
.../model_zoo/imagenet/googlenet/README.md.txt | 29 +-
.../model_zoo/imagenet/inception/README.md.txt | 30 +-
.../docs/model_zoo/imagenet/resnet/README.md.txt | 28 +-
.../docs/model_zoo/imagenet/vgg/README.md.txt | 28 +-
content/en/_sources/docs/model_zoo/index.rst.txt | 6 +-
.../en/_sources/docs/model_zoo/mnist/README.md.txt | 18 +
.../_sources/docs/{index.rst.txt => onnx.rst.txt} | 26 +-
content/en/_sources/downloads.md.txt | 28 +-
content/en/_sources/index.rst.txt | 40 +-
content/en/_sources/security.md.txt | 22 +
content/en/_static/basic.css | 39 +-
content/en/_static/css/badge_only.css | 2 +-
content/en/_static/css/theme.css | 6 +-
content/en/_static/doctools.js | 60 +-
content/en/_static/fonts/Inconsolata-Bold.ttf | Bin 108360 -> 109948 bytes
content/en/_static/fonts/Inconsolata-Regular.ttf | Bin 95960 -> 96964 bytes
content/en/_static/images/imda2019_1.png | Bin 0 -> 297733 bytes
content/en/_static/images/imda2019_2.png | Bin 0 -> 305041 bytes
content/en/_static/jquery-3.1.0.js | 10074 +++++++++++++++++++
content/en/_static/jquery.js | 8 +-
content/en/_static/js/theme.js | 4 +-
content/en/_static/searchtools.js | 5 +-
content/en/_static/singa-logo-updated.ai | 1557 +++
content/en/_static/singa.png | Bin 25000 -> 81502 bytes
content/en/_static/style.css | 2 +-
content/en/_static/websupport.js | 4 +-
content/en/community/issue-tracking.html | 47 +-
content/en/community/mail-lists.html | 101 +-
content/en/community/source-repository.html | 57 +-
content/en/community/team-list.html | 265 +-
content/en/develop/build.html | 202 +-
content/en/develop/contribute-code.html | 92 +-
content/en/develop/contribute-docs.html | 77 +-
content/en/develop/how-contribute.html | 51 +-
content/en/develop/how-to-release.html | 124 +-
content/en/develop/schedule.html | 309 +-
content/en/docs/autograd.html | 78 +-
content/en/docs/benchmark.html | 50 +-
content/en/docs/cnn.html | 79 +-
content/en/docs/converter.html | 45 +-
content/en/docs/data.html | 45 +-
content/en/docs/dependencies.html | 89 +-
content/en/docs/device.html | 56 +-
content/en/docs/docker.html | 73 +-
content/en/docs/image_tool.html | 45 +-
content/en/docs/index.html | 102 +-
content/en/docs/initializer.html | 45 +-
content/en/docs/install_macos1013.html | 99 +-
content/en/docs/install_win.html | 447 +-
content/en/docs/installation.html | 110 +-
content/en/docs/layer.html | 45 +-
content/en/docs/loss.html | 45 +-
content/en/docs/metric.html | 45 +-
content/en/docs/model_zoo/caffe/README.html | 118 +-
content/en/docs/model_zoo/char-rnn/README.html | 135 +-
content/en/docs/model_zoo/cifar10/README.html | 155 +-
.../en/docs/model_zoo/examples/caffe/README.html | 122 +-
.../docs/model_zoo/examples/char-rnn/README.html | 114 +-
.../en/docs/model_zoo/examples/cifar10/README.html | 138 +-
.../examples/imagenet/alexnet/README.html | 160 +-
.../examples/imagenet/densenet/README.html | 125 +-
.../examples/imagenet/googlenet/README.html | 133 +-
.../examples/imagenet/inception/README.html | 129 +-
.../model_zoo/examples/imagenet/resnet/README.html | 128 +-
.../model_zoo/examples/imagenet/vgg/README.html | 125 +-
content/en/docs/model_zoo/examples/index.html | 92 +-
.../en/docs/model_zoo/examples/mnist/README.html | 110 +-
.../en/docs/model_zoo/imagenet/alexnet/README.html | 183 +-
.../docs/model_zoo/imagenet/densenet/README.html | 62 +-
.../docs/model_zoo/imagenet/googlenet/README.html | 153 +-
.../docs/model_zoo/imagenet/inception/README.html | 166 +-
.../en/docs/model_zoo/imagenet/resnet/README.html | 165 +-
content/en/docs/model_zoo/imagenet/vgg/README.html | 166 +-
content/en/docs/model_zoo/index.html | 124 +-
content/en/docs/model_zoo/mnist/README.html | 149 +-
content/en/docs/net.html | 45 +-
content/en/docs/neural-net.html | 163 +-
content/en/docs/notebook/README.html | 45 +-
content/en/docs/onnx.html | 48 +-
content/en/docs/optimizer.html | 45 +-
content/en/docs/snapshot.html | 45 +-
content/en/docs/software_stack.html | 94 +-
content/en/docs/tensor.html | 52 +-
content/en/docs/utils.html | 45 +-
content/en/downloads.html | 268 +-
content/en/genindex.html | 793 +-
content/en/index.html | 138 +-
content/en/objects.inv | Bin 2967 -> 1426 bytes
content/en/releases/RELEASE_NOTES_0.1.0.html | 185 +-
content/en/releases/RELEASE_NOTES_0.2.0.html | 153 +-
content/en/releases/RELEASE_NOTES_0.3.0.html | 90 +-
content/en/releases/RELEASE_NOTES_1.0.0.html | 193 +-
content/en/releases/RELEASE_NOTES_1.1.0.html | 118 +-
content/en/releases/RELEASE_NOTES_1.2.0.html | 134 +-
content/en/releases/RELEASE_NOTES_2.0.0.html | 112 +-
content/en/search.html | 79 +-
content/en/searchindex.js | 2 +-
content/en/security.html | 47 +-
content/genindex.html | 39 +-
content/index.html | 111 +-
content/objects.inv | Bin 1822 -> 1426 bytes
content/releases/RELEASE_NOTES_0.1.0.html | 156 +-
content/releases/RELEASE_NOTES_0.2.0.html | 124 +-
content/releases/RELEASE_NOTES_0.3.0.html | 61 +-
content/releases/RELEASE_NOTES_1.0.0.html | 164 +-
content/releases/RELEASE_NOTES_1.1.0.html | 89 +-
content/releases/RELEASE_NOTES_1.2.0.html | 105 +-
content/releases/RELEASE_NOTES_2.0.0.html | 83 +-
content/search.html | 39 +-
content/searchindex.js | 2 +-
content/security.html | 41 +-
content/zh/.buildinfo | 2 +-
content/zh/_static/basic.css | 124 +-
content/zh/_static/doctools.js | 65 +-
content/zh/_static/images/imda2019_1.png | Bin 0 -> 297733 bytes
content/zh/_static/images/imda2019_2.png | Bin 0 -> 305041 bytes
content/zh/_static/jquery.js | 8 +-
content/zh/_static/searchtools.js | 391 +-
content/zh/_static/websupport.js | 4 +-
content/zh/community/issue-tracking.html | 15 +-
content/zh/community/mail-lists.html | 59 +-
content/zh/community/source-repository.html | 19 +-
content/zh/community/team-list.html | 181 +-
content/zh/develop/contribute-code.html | 43 +-
content/zh/develop/how-contribute.html | 23 +-
content/zh/develop/schedule.html | 297 +-
content/zh/docs.html | 41 +-
content/zh/docs/data.html | 33 +-
content/zh/docs/device.html | 25 +-
content/zh/docs/image_tool.html | 69 +-
content/zh/docs/index.html | 41 +-
content/zh/docs/initializer.html | 23 +-
content/zh/docs/install_macos1013.html | 65 +-
content/zh/docs/install_win.html | 413 +-
content/zh/docs/installation.html | 175 +-
content/zh/docs/layer.html | 277 +-
content/zh/docs/loss.html | 39 +-
content/zh/docs/metric.html | 27 +-
content/zh/docs/model_zoo/char-rnn/README.html | 31 +-
content/zh/docs/model_zoo/cifar10/README.html | 43 +-
.../zh/docs/model_zoo/imagenet/alexnet/README.html | 63 +-
.../docs/model_zoo/imagenet/densenet/README.html | 35 +-
.../docs/model_zoo/imagenet/googlenet/README.html | 29 +-
.../docs/model_zoo/imagenet/inception/README.html | 27 +-
.../zh/docs/model_zoo/imagenet/resnet/README.html | 43 +-
content/zh/docs/model_zoo/imagenet/vgg/README.html | 39 +-
content/zh/docs/model_zoo/index.html | 13 +-
content/zh/docs/model_zoo/mnist/README.html | 22 +-
content/zh/docs/net.html | 49 +-
content/zh/docs/optimizer.html | 113 +-
content/zh/docs/snapshot.html | 21 +-
content/zh/docs/software_stack.html | 47 +-
content/zh/docs/tensor.html | 209 +-
content/zh/docs/utils.html | 17 +-
content/zh/downloads.html | 209 +-
content/zh/genindex.html | 13 +-
content/zh/index.html | 81 +-
content/zh/search.html | 13 +-
content/zh/searchindex.js | 2 +-
269 files changed, 32782 insertions(+), 14364 deletions(-)
[incubator-singa-site] 06/08: SINGA-493 Update SINGA website
Posted by wa...@apache.org.
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/incubator-singa-site.git
commit 9d22f4983fdccbe6698254866a7d2979e5c2e838
Author: Chris Yeung <ch...@yahoo.com.hk>
AuthorDate: Fri Oct 4 22:47:06 2019 +0800
SINGA-493 Update SINGA website
---
README | 4 +-
content/.buildinfo | 4 +
content/_sources/develop/build.md.txt | 408 ++
content/_sources/docs/onnx.rst.txt | 24 +
content/_sources/security.md.txt | 22 +
content/_static/images/imda2019_1.png | Bin 0 -> 297733 bytes
content/_static/images/imda2019_2.png | Bin 0 -> 305041 bytes
content/_static/jquery-3.1.0.js | 10074 +++++++++++++++++++++++++++++
content/develop/build.html | 686 ++
content/docs/onnx.html | 304 +
content/en/_sources/develop/build.md.txt | 408 ++
content/en/_sources/docs/onnx.rst.txt | 24 +
content/en/_sources/security.md.txt | 22 +
content/en/_static/images/imda2019_1.png | Bin 0 -> 297733 bytes
content/en/_static/images/imda2019_2.png | Bin 0 -> 305041 bytes
content/en/_static/jquery-3.1.0.js | 10074 +++++++++++++++++++++++++++++
content/en/_static/singa-logo-updated.ai | 1557 +++++
content/zh/_static/images/imda2019_1.png | Bin 0 -> 297733 bytes
content/zh/_static/images/imda2019_2.png | Bin 0 -> 305041 bytes
19 files changed, 23609 insertions(+), 2 deletions(-)
diff --git a/README b/README
index 664b062..73ca06a 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-# Website for incuabor-singa
+# Website for incubator-singa
-Refer to [this page](https://github.com/apache/incubator-singa/blob/master/doc/en/develop/contribute-docs.md) for the instructions of bulding the website.
+Refer to [this page](https://github.com/apache/incubator-singa/blob/master/doc/en/develop/contribute-docs.md) for the instructions of building the website.
diff --git a/content/.buildinfo b/content/.buildinfo
new file mode 100644
index 0000000..0bb8303
--- /dev/null
+++ b/content/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: 236a8df618fde24df443d05c17138591
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/content/_sources/develop/build.md.txt b/content/_sources/develop/build.md.txt
new file mode 100644
index 0000000..feb34f8
--- /dev/null
+++ b/content/_sources/develop/build.md.txt
@@ -0,0 +1,408 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Build SINGA from Source
+
+
+The source files could be downloaded either as a
+[tar.gz file](https://dist.apache.org/repos/dist/dev/incubator/singa/), or as a git repo
+
+ $ git clone https://github.com/apache/incubator-singa.git
+ $ cd incubator-singa/
+
+If you want to contribute code to SINGA, refer to [this page]() for the steps and requirements.
+
+## Use Conda to build SINGA
+
+Conda-build is a building tool that installs the dependent libraries from anaconda cloud and
+executes the building scripts.
+
+To install conda-build (after installing conda)
+
+ conda install conda-build
+
+### Build CPU Version
+
+To build the CPU version of SINGA
+
+ conda build tool/conda/singa/
+
+The above commands have been tested on Ubuntu (14.04, 16.04 and 18.04) and macOS 10.11.
+Refer to the [Travis-CI page](https://travis-ci.org/apache/incubator-singa) for more information.
+
+### Build GPU Version
+
+To build the GPU version of SINGA, the building machine must have Nvida GPU, and the CUDA driver (>= 384.81), CUDA toolkit (>=9) and cuDNN (>=7) must have be installed. The following two Docker images provide the building environment:
+
+1. apache/singa:conda-cuda9.0
+2. apache/singa:conda-cuda10.0
+
+Once the building environment is ready, you need to export the CUDA version first, and then run conda command to build SINGA
+
+ export CUDA=x.y (e.g. 9.0)
+ conda build tool/conda/singa/
+
+### Post Processing
+
+The location of the generated package file (`.tar.gz`) is shown on the screen.
+The generated package can be installed directly,
+
+ conda install -c conda-forge --use-local <path to the package file>
+
+or uploaded to anaconda cloud for others to download and install. You need to register an account on anaconda for [uploading the package](https://docs.anaconda.com/anaconda-cloud/user-guide/getting-started/).
+
+ conda install anaconda-client
+ anaconda login
+ anaconda upload -l main <path to the package file>
+
+After uploading the package to the cloud, you can see it on [Anaconda Cloud](https://anaconda.org/) website or via the following command
+
+ conda search -c <anaconda username> singa
+
+Each specific SINGA package is identified by the version and build string. To install a specific SINGA package, you need to provide all the information, e.g.,
+
+ conda install -c <anaconda username> -c conda-forge singa=2.1.0.dev=cpu_py36
+
+To make the installation command simple, you can create the following additional packages which depend on the latest CPU and GPU SINGA packages.
+
+ # for singa-cpu
+ conda build tool/conda/cpu/ --python=3.6
+ conda build tool/conda/cpu/ --python=3.7
+ # for singa-gpu
+ conda build tool/conda/gpu/ --python=3.6
+ conda build tool/conda/gpu/ --python=3.7
+
+Therefore, when you run
+
+ conda install -c <anaconda username> -c conda-forge singa-xpu
+
+(`xpu` is either 'cpu' or 'gpu'), the corresponding real SINGA package is installed as the dependent library.
+
+## Use native tools to build SINGA on Ubuntu
+
+Refer to SINGA [Dockerfiles](https://github.com/apache/incubator-singa/blob/master/tool/docker/devel/ubuntu/cuda9/Dockerfile#L30)
+for the instructions of installing the dependent libraries on Ubuntu 16.04. You can also create a Docker container using the [devel images]() and build SINGA inside the container.
+To build SINGA with GPU, MKLDNN, Python and unit tests, run the following instructions
+
+ mkdir build # at the root of incubator-singa folder
+ cd build
+ cmake -DENABLE_TEST=ON -DUSE_CUDA=ON -DUSE_MKLDNN=ON -DUSE_PYTHON3=ON ..
+ make
+ cd python
+ pip install .
+
+The details of the CMake options are explained in the last section of this page.
+The last command install the Python package. You can also run `pip install -e .`, which creates symlinks instead of copying the Python files into the site-package folder.
+
+If SINGA is compiled with ENABLE_TEST=ON, you can run the unit tests by
+
+ $ ./bin/test_singa
+
+You can see all the testing cases with testing results. If SINGA passes all
+tests, then you have successfully installed SINGA.
+
+
+## Use native tools to Build SINGA on Centos7
+
+Building from source will be different for Centos7 as package names differ.Follow the instructions given below.
+
+### Installing dependencies
+
+Basic packages/libraries
+
+ sudo yum install freetype-devel libXft-devel ncurses-devel openblas-devel blas-devel lapack devel atlas-devel kernel-headers unzip wget pkgconfig zip zlib-devel libcurl-devel cmake curl unzip dh-autoreconf git python-devel glog-devel protobuf-devel
+For build-essential
+
+ sudo yum group install "Development Tools"
+For installing swig
+
+ sudo yum install pcre-devel
+ wget http://prdownloads.sourceforge.net/swig/swig-3.0.10.tar.gz
+ tar xvzf swig-3.0.10.tar.gz
+ cd swig-3.0.10.tar.gz
+ ./configure --prefix=${RUN}
+ make
+ make install
+ For installing gfortran
+
+ sudo yum install centos-release-scl-rh
+ sudo yum --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc-gfortran
+For installing pip and other packages
+
+ sudo yum install epel-release
+ sudo yum install python-pip
+ pip install matplotlib numpy pandas scikit-learn pydot
+
+### Installation
+Follow steps 1-5 of _Use native tools to build SINGA on Ubuntu_
+
+### Testing
+You can run the unit tests by,
+
+ $ ./bin/test_singa
+You can see all the testing cases with testing results. If SINGA passes all
+tests, then you have successfully installed SINGA.
+
+## Compile SINGA on Windows
+
+Instructions for building on Windows with Python support can be found [here](install_win.html).
+
+## More details about the compilation options
+
+### USE_MODULES (deprecated)
+
+If protobuf and openblas are not installed, you can compile SINGA together with them
+
+ $ In SINGA ROOT folder
+ $ mkdir build
+ $ cd build
+ $ cmake -DUSE_MODULES=ON ..
+ $ make
+
+cmake would download OpenBlas and Protobuf (2.6.1) and compile them together
+with SINGA.
+
+You can use `ccmake ..` to configure the compilation options.
+If some dependent libraries are not in the system default paths, you need to export
+the following environment variables
+
+ export CMAKE_INCLUDE_PATH=<path to the header file folder>
+ export CMAKE_LIBRARY_PATH=<path to the lib file folder>
+
+### USE_PYTHON
+
+Option for compiling the Python wrapper for SINGA,
+
+ $ cmake -DUSE_PYTHON=ON ..
+ $ make
+ $ cd python
+ $ pip install .
+
+
+### USE_CUDA
+
+Users are encouraged to install the CUDA and
+[cuDNN](https://developer.nvidia.com/cudnn) for running SINGA on GPUs to
+get better performance.
+
+SINGA has been tested over CUDA 9/10, and cuDNN 7. If cuDNN is
+installed into non-system folder, e.g. /home/bob/local/cudnn/, the following
+commands should be executed for cmake and the runtime to find it
+
+ $ export CMAKE_INCLUDE_PATH=/home/bob/local/cudnn/include:$CMAKE_INCLUDE_PATH
+ $ export CMAKE_LIBRARY_PATH=/home/bob/local/cudnn/lib64:$CMAKE_LIBRARY_PATH
+ $ export LD_LIBRARY_PATH=/home/bob/local/cudnn/lib64:$LD_LIBRARY_PATH
+
+The cmake options for CUDA and cuDNN should be switched on
+
+ # Dependent libs are install already
+ $ cmake -DUSE_CUDA=ON ..
+ $ make
+
+### USE_MKLDNN
+
+User can enable MKL-DNN to enhance the performance of CPU computation.
+
+Installation guide of MKL-DNN could be found [here](https://github.com/intel/mkl-dnn#installation).
+
+SINGA has been tested over MKL-DNN v0.17.2.
+
+To build SINGA with MKL-DNN support:
+
+ # Dependent libs are installed already
+ $ cmake -DUSE_MKLDNN=ON ..
+ $ make
+
+
+
+### USE_OPENCL
+
+SINGA uses opencl-headers and viennacl (version 1.7.1 or newer) for OpenCL support, which
+can be installed using via
+
+ # On Ubuntu 16.04
+ $ sudo apt-get install opencl-headers, libviennacl-dev
+ # On Fedora
+ $ sudo yum install opencl-headers, viennacl
+
+Additionally, you will need the OpenCL Installable Client Driver (ICD) for the platforms that you want to run OpenCL on.
+
+* For AMD and nVidia GPUs, the driver package should also install the correct OpenCL ICD.
+* For Intel CPUs and/or GPUs, get the driver from the [Intel website.](https://software.intel.com/en-us/articles/opencl-drivers) Note that the drivers provided on that website only supports recent CPUs and Iris GPUs.
+* For older Intel CPUs, you can use the `beignet-opencl-icd` package.
+
+Note that running OpenCL on CPUs is not currently recommended because it is slow.
+Memory transfer is on the order of whole seconds (1000's of ms on CPUs as compared to 1's of ms on GPUs).
+
+More information on setting up a working OpenCL environment may be found [here](https://wiki.tiker.net/OpenCLHowTo).
+
+If the package version of ViennaCL is not at least 1.7.1, you will need to build it from source:
+
+Clone [the repository from here](https://github.com/viennacl/viennacl-dev), checkout the `release-1.7.1` tag and build it.
+Remember to add its directory to `PATH` and the built libraries to `LD_LIBRARY_PATH`.
+
+To build SINGA with OpenCL support (tested on SINGA 1.1):
+
+ $ cmake -DUSE_OPENCL=ON ..
+ $ make
+
+
+### PACKAGE
+
+This setting is used to build the Debian package. Set PACKAGE=ON and build the package with make command like this:
+
+ $ cmake -DPACKAGE=ON
+ $ make package
+
+## FAQ
+
+* Q: Error from 'import singa'
+
+ A: Please check the detailed error from `python -c "from singa import _singa_wrap"`. Sometimes it is caused by the dependent libraries, e.g. there are multiple versions of protobuf, missing of cudnn, numpy version mismatch. Following steps show the solutions for different cases
+ 1. Check the cudnn and cuda. If cudnn is missing or not match with the wheel version, you can download the correct version of cudnn into ~/local/cudnn/ and
+
+ $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/cudnn/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
+
+ 2. If it is the problem related to protobuf. You can install protobuf (3.6.1) from source into a local folder, say ~/local/; Decompress the tar file, and then
+
+ $ ./configure --prefix=/home/<yourname>local
+ $ make && make install
+ $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
+ $ source ~/.bashrc
+
+ 3. If it cannot find other libs including python, then create virtual env using pip or conda;
+
+ 4. If it is not caused by the above reasons, go to the folder of `_singa_wrap.so`,
+
+ $ python
+ >> import importlib
+ >> importlib.import_module('_singa_wrap')
+
+ Check the error message. For example, if the numpy version mismatches, the error message would be,
+
+ RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa
+
+ Then you need to upgrade the numpy.
+
+
+* Q: Error from running `cmake ..`, which cannot find the dependent libraries.
+
+ A: If you haven't installed the libraries, install them. If you installed
+ the libraries in a folder that is outside of the system folder, e.g. /usr/local,
+ you need to export the following variables
+
+ $ export CMAKE_INCLUDE_PATH=<path to your header file folder>
+ $ export CMAKE_LIBRARY_PATH=<path to your lib file folder>
+
+
+* Q: Error from `make`, e.g. the linking phase
+
+ A: If your libraries are in other folders than system default paths, you need
+ to export the following varaibles
+
+ $ export LIBRARY_PATH=<path to your lib file folder>
+ $ export LD_LIBRARY_PATH=<path to your lib file folder>
+
+
+* Q: Error from header files, e.g. 'cblas.h no such file or directory exists'
+
+ A: You need to include the folder of the cblas.h into CPLUS_INCLUDE_PATH,
+ e.g.,
+
+ $ export CPLUS_INCLUDE_PATH=/opt/OpenBLAS/include:$CPLUS_INCLUDE_PATH
+
+* Q:While compiling SINGA, I get error `SSE2 instruction set not enabled`
+
+ A:You can try following command:
+
+ $ make CFLAGS='-msse2' CXXFLAGS='-msse2'
+
+* Q:I get `ImportError: cannot import name enum_type_wrapper` from google.protobuf.internal when I try to import .py files.
+
+ A: You need to install the python binding of protobuf, which could be installed via
+
+ $ sudo apt-get install protobuf
+
+ or from source
+
+ $ cd /PROTOBUF/SOURCE/FOLDER
+ $ cd python
+ $ python setup.py build
+ $ python setup.py install
+
+* Q: When I build OpenBLAS from source, I am told that I need a Fortran compiler.
+
+ A: You can compile OpenBLAS by
+
+ $ make ONLY_CBLAS=1
+
+ or install it using
+
+ $ sudo apt-get install libopenblas-dev
+
+* Q: When I build protocol buffer, it reports that GLIBC++_3.4.20 not found in /usr/lib64/libstdc++.so.6.
+
+ A: This means the linker found libstdc++.so.6 but that library
+ belongs to an older version of GCC than was used to compile and link the
+ program. The program depends on code defined in
+ the newer libstdc++ that belongs to the newer version of GCC, so the linker
+ must be told how to find the newer libstdc++ shared library.
+ The simplest way to fix this is to find the correct libstdc++ and export it to
+ LD_LIBRARY_PATH. For example, if GLIBC++_3.4.20 is listed in the output of the
+ following command,
+
+ $ strings /usr/local/lib64/libstdc++.so.6|grep GLIBC++
+
+ then you just set your environment variable as
+
+ $ export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
+
+* Q: When I build glog, it reports that "src/logging_unittest.cc:83:20: error: ‘gflags’ is not a namespace-name"
+
+ A: It maybe that you have installed gflags with a different namespace such as "google". so glog can't find 'gflags' namespace.
+ Because it is not necessary to have gflags to build glog. So you can change the configure.ac file to ignore gflags.
+
+ 1. cd to glog src directory
+ 2. change line 125 of configure.ac to "AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=0, ac_cv_have_libgflags=0)"
+ 3. autoreconf
+
+ After this, you can build glog again.
+
+* Q: When using virtual environment, every time I run pip install, it would reinstall numpy. However, the numpy would not be used when I `import numpy`
+
+ A: It could be caused by the `PYTHONPATH` which should be set to empty when you are using virtual environment to avoid the conflicts with the path of
+ the virtual environment.
+
+* Q: When compiling PySINGA from source, there is a compilation error due to the missing of <numpy/objectarray.h>
+
+ A: Please install numpy and export the path of numpy header files as
+
+ $ export CPLUS_INCLUDE_PATH=`python -c "import numpy; print numpy.get_include()"`:$CPLUS_INCLUDE_PATH
+
+* Q: When I run SINGA in Mac OS X, I got the error "Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6"
+
+ A: This error happens typically when you have multiple version of Python on your system and you installed SINGA via pip (this problem is resolved for installation via conda),
+ e.g, the one comes with the OS and the one installed by Homebrew. The Python linked by PySINGA must be the same as the Python interpreter.
+ You can check your interpreter by `which python` and check the Python linked by PySINGA via `otool -L <path to _singa_wrap.so>`.
+ To fix this error, compile SINGA with the correct version of Python.
+ In particular, if you build PySINGA from source, you need to specify the paths when invoking [cmake](http://stackoverflow.com/questions/15291500/i-have-2-versions-of-python-installed-but-cmake-is-using-older-version-how-do)
+
+ $ cmake -DPYTHON_LIBRARY=`python-config --prefix`/lib/libpython2.7.dylib -DPYTHON_INCLUDE_DIR=`python-config --prefix`/include/python2.7/ ..
+
+ If installed PySINGA from binary packages, e.g. debian or wheel, then you need to change the python interpreter, e.g., reset the $PATH to put the correct path of Python at the front position.
\ No newline at end of file
diff --git a/content/_sources/docs/onnx.rst.txt b/content/_sources/docs/onnx.rst.txt
new file mode 100644
index 0000000..f180f2a
--- /dev/null
+++ b/content/_sources/docs/onnx.rst.txt
@@ -0,0 +1,24 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+ONNX
+====
+
+(under construction)
+
+ONNX ....
\ No newline at end of file
diff --git a/content/_sources/security.md.txt b/content/_sources/security.md.txt
new file mode 100644
index 0000000..f9114fa
--- /dev/null
+++ b/content/_sources/security.md.txt
@@ -0,0 +1,22 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Security
+
+Users can report security vulnerabilities to `SINGA Security Team Mail List <ma...@singa.apache.org>`_.
\ No newline at end of file
diff --git a/content/_static/images/imda2019_1.png b/content/_static/images/imda2019_1.png
new file mode 100644
index 0000000..cd2a7b7
Binary files /dev/null and b/content/_static/images/imda2019_1.png differ
diff --git a/content/_static/images/imda2019_2.png b/content/_static/images/imda2019_2.png
new file mode 100644
index 0000000..52ff4d2
Binary files /dev/null and b/content/_static/images/imda2019_2.png differ
diff --git a/content/_static/jquery-3.1.0.js b/content/_static/jquery-3.1.0.js
new file mode 100644
index 0000000..f2fc274
--- /dev/null
+++ b/content/_static/jquery-3.1.0.js
@@ -0,0 +1,10074 @@
+/*eslint-disable no-unused-vars*/
+/*!
+ * jQuery JavaScript Library v3.1.0
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2016-07-07T21:44Z
+ */
+( function( global, factory ) {
+
+ "use strict";
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+
+
+ function DOMEval( code, doc ) {
+ doc = doc || document;
+
+ var script = doc.createElement( "script" );
+
+ script.text = code;
+ doc.head.appendChild( script ).parentNode.removeChild( script );
+ }
+/* global Symbol */
+// Defining this global in .eslintrc would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+ version = "3.1.0",
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+
+ // The jQuery object is actually just the init constructor 'enhanced'
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
+ },
+
+ // Support: Android <=4.0 only
+ // Make sure we trim BOM and NBSP
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+ // Matches dashed string for camelizing
+ rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([a-z])/g,
+
+ // Used by jQuery.camelCase as callback to replace()
+ fcamelCase = function( all, letter ) {
+ return letter.toUpperCase();
+ };
+
+jQuery.fn = jQuery.prototype = {
+
+ // The current version of jQuery being used
+ jquery: version,
+
+ constructor: jQuery,
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ toArray: function() {
+ return slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+ return num != null ?
+
+ // Return just the one element from the set
+ ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
+
+ // Return all the elements in a clean array
+ slice.call( this );
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ each: function( callback ) {
+ return jQuery.each( this, callback );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map( this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ } ) );
+ },
+
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor();
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: arr.sort,
+ splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[ 0 ] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+
+ // Skip the boolean and the target
+ target = arguments[ i ] || {};
+ i++;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
+ target = {};
+ }
+
+ // Extend jQuery itself if only one argument is passed
+ if ( i === length ) {
+ target = this;
+ i--;
+ }
+
+ for ( ; i < length; i++ ) {
+
+ // Only deal with non-null/undefined values
+ if ( ( options = arguments[ i ] ) != null ) {
+
+ // Extend the base object
+ for ( name in options ) {
+ src = target[ name ];
+ copy = options[ name ];
+
+ // Prevent never-ending loop
+ if ( target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+ ( copyIsArray = jQuery.isArray( copy ) ) ) ) {
+
+ if ( copyIsArray ) {
+ copyIsArray = false;
+ clone = src && jQuery.isArray( src ) ? src : [];
+
+ } else {
+ clone = src && jQuery.isPlainObject( src ) ? src : {};
+ }
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend( {
+
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+ // Assume jQuery is ready without the ready module
+ isReady: true,
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ noop: function() {},
+
+ isFunction: function( obj ) {
+ return jQuery.type( obj ) === "function";
+ },
+
+ isArray: Array.isArray,
+
+ isWindow: function( obj ) {
+ return obj != null && obj === obj.window;
+ },
+
+ isNumeric: function( obj ) {
+
+ // As of jQuery 3.0, isNumeric is limited to
+ // strings and numbers (primitives or objects)
+ // that can be coerced to finite numbers (gh-2662)
+ var type = jQuery.type( obj );
+ return ( type === "number" || type === "string" ) &&
+
+ // parseFloat NaNs numeric-cast false positives ("")
+ // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+ // subtraction forces infinities to NaN
+ !isNaN( obj - parseFloat( obj ) );
+ },
+
+ isPlainObject: function( obj ) {
+ var proto, Ctor;
+
+ // Detect obvious negatives
+ // Use toString instead of jQuery.type to catch host objects
+ if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+ return false;
+ }
+
+ proto = getProto( obj );
+
+ // Objects with no prototype (e.g., `Object.create( null )`) are plain
+ if ( !proto ) {
+ return true;
+ }
+
+ // Objects with prototype are plain iff they were constructed by a global Object function
+ Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+ return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+ },
+
+ isEmptyObject: function( obj ) {
+
+ /* eslint-disable no-unused-vars */
+ // See https://github.com/eslint/eslint/issues/6125
+ var name;
+
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ type: function( obj ) {
+ if ( obj == null ) {
+ return obj + "";
+ }
+
+ // Support: Android <=2.3 only (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call( obj ) ] || "object" :
+ typeof obj;
+ },
+
+ // Evaluates a script in a global context
+ globalEval: function( code ) {
+ DOMEval( code );
+ },
+
+ // Convert dashed to camelCase; used by the css and data modules
+ // Support: IE <=9 - 11, Edge 12 - 13
+ // Microsoft forgot to hump their vendor prefix (#9572)
+ camelCase: function( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+ },
+
+ nodeName: function( elem, name ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+ },
+
+ each: function( obj, callback ) {
+ var length, i = 0;
+
+ if ( isArrayLike( obj ) ) {
+ length = obj.length;
+ for ( ; i < length; i++ ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // Support: Android <=4.0 only
+ trim: function( text ) {
+ return text == null ?
+ "" :
+ ( text + "" ).replace( rtrim, "" );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArrayLike( Object( arr ) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ return arr == null ? -1 : indexOf.call( arr, elem, i );
+ },
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ merge: function( first, second ) {
+ var len = +second.length,
+ j = 0,
+ i = first.length;
+
+ for ( ; j < len; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
+ i = 0,
+ length = elems.length,
+ callbackExpect = !invert;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
+ }
+ }
+
+ return matches;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var length, value,
+ i = 0,
+ ret = [];
+
+ // Go through the array, translating each of the items to their new values
+ if ( isArrayLike( elems ) ) {
+ length = elems.length;
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return concat.apply( [], ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // Bind a function to a context, optionally partially applying any
+ // arguments.
+ proxy: function( fn, context ) {
+ var tmp, args, proxy;
+
+ if ( typeof context === "string" ) {
+ tmp = fn[ context ];
+ context = fn;
+ fn = tmp;
+ }
+
+ // Quick check to determine if target is callable, in the spec
+ // this throws a TypeError, but we will just return undefined.
+ if ( !jQuery.isFunction( fn ) ) {
+ return undefined;
+ }
+
+ // Simulated bind
+ args = slice.call( arguments, 2 );
+ proxy = function() {
+ return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+ };
+
+ // Set the guid of unique handler to the same of original handler, so it can be removed
+ proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+ return proxy;
+ },
+
+ now: Date.now,
+
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+ jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+ // Support: real iOS 8.2 only (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = !!obj && "length" in obj && obj.length,
+ type = jQuery.type( obj );
+
+ if ( type === "function" || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.0
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-01-04
+ */
+(function( window ) {
+
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf as it's faster than native
+ // https://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+
+ // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+ identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+ "*\\]",
+
+ pseudos = ":(" + identifier + ")(?:\\((" +
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + identifier + ")" ),
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+
+ // CSS escapes
+ // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox<24
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ high < 0 ?
+ // BMP codepoint
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // CSS string/identifier serialization
+ // https://drafts.csswg.org/cssom/#common-serializing-idioms
+ rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
+ fcssescape = function( ch, asCodePoint ) {
+ if ( asCodePoint ) {
+
+ // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+ if ( ch === "\0" ) {
+ return "\uFFFD";
+ }
+
+ // Control characters and (dependent upon position) numbers get escaped as code points
+ return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+ }
+
+ // Other potentially-special ASCII characters get backslash-escaped
+ return "\\" + ch;
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ },
+
+ disabledAncestor = addCombinator(
+ function( elem ) {
+ return elem.disabled === true;
+ },
+ { dir: "parentNode", next: "legend" }
+ );
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var m, i, elem, nid, match, groups, newSelector,
+ newContext = context && context.ownerDocument,
+
+ // nodeType defaults to 9, since context defaults to document
+ nodeType = context ? context.nodeType : 9;
+
+ results = results || [];
+
+ // Return early from calls with invalid selector or context
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
+ if ( !seed ) {
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+ context = context || document;
+
+ if ( documentIsHTML ) {
+
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
+ // (excepting DocumentFragment context, where the methods don't exist)
+ if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+ // ID selector
+ if ( (m = match[1]) ) {
+
+ // Document context
+ if ( nodeType === 9 ) {
+ if ( (elem = context.getElementById( m )) ) {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+
+ // Element context
+ } else {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( newContext && (elem = newContext.getElementById( m )) &&
+ contains( context, elem ) &&
+ elem.id === m ) {
+
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Type selector
+ } else if ( match[2] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Class selector
+ } else if ( (m = match[3]) && support.getElementsByClassName &&
+ context.getElementsByClassName ) {
+
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // Take advantage of querySelectorAll
+ if ( support.qsa &&
+ !compilerCache[ selector + " " ] &&
+ (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+ if ( nodeType !== 1 ) {
+ newContext = context;
+ newSelector = selector;
+
+ // qSA looks outside Element context, which is not what we want
+ // Thanks to Andrew Dupont for this workaround technique
+ // Support: IE <=8
+ // Exclude object elements
+ } else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( (nid = context.getAttribute( "id" )) ) {
+ nid = nid.replace( rcssescape, fcssescape );
+ } else {
+ context.setAttribute( "id", (nid = expando) );
+ }
+
+ // Prefix every selector in the list
+ groups = tokenize( selector );
+ i = groups.length;
+ while ( i-- ) {
+ groups[i] = "#" + nid + " " + toSelector( groups[i] );
+ }
+ newSelector = groups.join( "," );
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+ }
+
+ if ( newSelector ) {
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key + " " ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+ var el = document.createElement("fieldset");
+
+ try {
+ return !!fn( el );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( el.parentNode ) {
+ el.parentNode.removeChild( el );
+ }
+ // release memory in IE
+ el = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = arr.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ a.sourceIndex - b.sourceIndex;
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return (name === "input" || name === "button") && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+ // Known :disabled false positives:
+ // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset)
+ // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+ return function( elem ) {
+
+ // Check form elements and option elements for explicit disabling
+ return "label" in elem && elem.disabled === disabled ||
+ "form" in elem && elem.disabled === disabled ||
+
+ // Check non-disabled form elements for fieldset[disabled] ancestors
+ "form" in elem && elem.disabled === false && (
+ // Support: IE6-11+
+ // Ancestry is covered for us
+ elem.isDisabled === disabled ||
+
+ // Otherwise, assume any non-<option> under fieldset[disabled] is disabled
+ /* jshint -W018 */
+ elem.isDisabled !== !disabled &&
+ ("label" in elem || !disabledAncestor( elem )) !== disabled
+ );
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction(function( argument ) {
+ argument = +argument;
+ return markFunction(function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ (j = matchIndexes[i]) ] ) {
+ seed[j] = !(matches[j] = seed[j]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ // documentElement is verified for cases where it doesn't yet exist
+ // (such as loading iframes in IE - #4833)
+ var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+ return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, subWindow,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // Return early if doc is invalid or already selected
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Update global variables
+ document = doc;
+ docElem = document.documentElement;
+ documentIsHTML = !isXML( document );
+
+ // Support: IE 9-11, Edge
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+ if ( preferredDoc !== document &&
+ (subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+ // Support: IE 11, Edge
+ if ( subWindow.addEventListener ) {
+ subWindow.addEventListener( "unload", unloadHandler, false );
+
+ // Support: IE 9 - 10 only
+ } else if ( subWindow.attachEvent ) {
+ subWindow.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert(function( el ) {
+ el.className = "i";
+ return !el.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( el ) {
+ el.appendChild( document.createComment("") );
+ return !el.getElementsByTagName("*").length;
+ });
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programmatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( el ) {
+ docElem.appendChild( el ).id = expando;
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ });
+
+ // ID find and filter
+ if ( support.getById ) {
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var m = context.getElementById( id );
+ return m ? [ m ] : [];
+ }
+ };
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ } else {
+ // Support: IE6/7
+ // getElementById is not reliable as a find shortcut
+ delete Expr.find["ID"];
+
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" &&
+ elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See https://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert(function( el ) {
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // https://bugs.jquery.com/ticket/12359
+ docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+ "<select id='" + expando + "-\r\\' msallowcapture=''>" +
+ "<option selected=''></option></select>";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !el.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push("~=");
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !el.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibling-combinator selector` fails
+ if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push(".#.+[+~]");
+ }
+ });
+
+ assert(function( el ) {
+ el.innerHTML = "<a href='' disabled='disabled'></a>" +
+ "<select disabled='disabled'><option/></select>";
+
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = document.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ el.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( el.querySelectorAll("[name=d]").length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( el.querySelectorAll(":enabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Support: IE9-11+
+ // IE's :disabled selector does not pick up the children of disabled fieldsets
+ docElem.appendChild( el ).disabled = true;
+ if ( el.querySelectorAll(":disabled").length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ el.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( el ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( el, "*" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( el, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully self-exclusive
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+ return a === document ? -1 :
+ b === document ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ // Make sure that attribute selectors are quoted
+ expr = expr.replace( rattributeQuotes, "='$1']" );
+
+ if ( support.matchesSelector && documentIsHTML &&
+ !compilerCache[ expr + " " ] &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch (e) {}
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.escape = function( sel ) {
+ return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+ // If no nodeType, this is expected to be an array
+ while ( (node = elem[i++]) ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[6] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] ) {
+ match[2] = match[4] || match[5] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+ // Get excess from tokenize (recursively)
+ (excess = tokenize( unquoted, true )) &&
+ // advance to the next closing parenthesis
+ (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+ // excess is a negative index
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType,
+ diff = false;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) {
+
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+
+ // Seek `elem` from a previously-cached index
+
+ // ...in a gzip-friendly way
+ node = parent;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex && cache[ 2 ];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ } else {
+ // Use previously-cached element index if available
+ if ( useCache ) {
+ // ...in a gzip-friendly way
+ node = elem;
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex;
+ }
+
+ // xml :nth-child(...)
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ if ( diff === false ) {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) &&
+ ++diff ) {
+
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ outerCache = node[ expando ] || (node[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ (outerCache[ node.uniqueID ] = {});
+
+ uniqueCache[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction(function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[i] );
+ seed[ idx ] = !( matches[ idx ] = matched[i] );
+ }
+ }) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+ // Potentially complex pseudos
+ "not": markFunction(function( selector ) {
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction(function( seed, matches, context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( (elem = unmatched[i]) ) {
+ seed[i] = !(matches[i] = elem);
+ }
+ }
+ }) :
+ function( elem, context, xml ) {
+ input[0] = elem;
+ matcher( input, null, xml, results );
+ // Don't keep the element (issue #299)
+ input[0] = null;
+ return !results.pop();
+ };
+ }),
+
+ "has": markFunction(function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ }),
+
+ "contains": markFunction(function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "enabled": createDisabledPseudo( false ),
+ "disabled": createDisabledPseudo( true ),
+
+ "checked": function( elem ) {
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+ },
+
+ "selected": function( elem ) {
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || (match = rcomma.exec( soFar )) ) {
+ if ( match ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( (tokens = []) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ skip = combinator.next,
+ key = skip || dir,
+ checkNonElements = base && key === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, uniqueCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+ if ( skip && skip === elem.nodeName.toLowerCase() ) {
+ elem = elem[ dir ] || elem;
+ } else if ( (oldCache = uniqueCache[ key ]) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return (newCache[ 2 ] = oldCache[ 2 ]);
+ } else {
+ // Reuse newcache so results back-propagate to previous elements
+ uniqueCache[ key ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[i]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( (elem = unmatched[i]) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction(function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ });
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[0].type ],
+ implicitRelative = leadingRelative || Expr.relative[" "],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ (checkContext = context).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+ matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+ } else {
+ matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[j].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+ len = elems.length;
+
+ if ( outermost ) {
+ outermostContext = context === document || context || outermost;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+ for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ if ( !context && elem.ownerDocument !== document ) {
+ setDocument( elem );
+ xml = !documentIsHTML;
+ }
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context || document, xml) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+ // They will have gone through all possible matchers
+ if ( (elem = !matcher && elem) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
+ // makes the latter nonnegative.
+ matchedCount += i;
+
+ // Apply set filters to unmatched elements
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+ // no element matchers and no seed.
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
+ // numerically zero.
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( (matcher = setMatchers[j++]) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !(unmatched[i] || setMatched[i]) ) {
+ setMatched[i] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[i] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is only one selector in the list and no seed
+ // (the latter of which guarantees us context)
+ if ( match.length === 1 ) {
+
+ // Reduce context if the leading compound selector is an ID
+ tokens = match[0] = match[0].slice( 0 );
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+ support.getById && context.nodeType === 9 && documentIsHTML &&
+ Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[i];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ (type = token.type) ] ) {
+ break;
+ }
+ if ( (find = Expr.find[ type ]) ) {
+ // Search, expanding context for leading sibling combinators
+ if ( (seed = find(
+ token.matches[0].replace( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+ // Should return 1, but returns 4 (following)
+ return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+ el.innerHTML = "<a href='#'></a>";
+ return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+ el.innerHTML = "<input/>";
+ el.firstChild.setAttribute( "value", "" );
+ return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+ return el.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ null;
+ }
+ });
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+};
+
+
+var siblings = function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+var risSimple = /^.[^:#\[\.,]*$/;
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( jQuery.isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ return !!qualifier.call( elem, i, elem ) !== not;
+ } );
+
+ }
+
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ } );
+
+ }
+
+ if ( typeof qualifier === "string" ) {
+ if ( risSimple.test( qualifier ) ) {
+ return jQuery.filter( qualifier, elements, not );
+ }
+
+ qualifier = jQuery.filter( qualifier, elements );
+ }
+
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;
+ } );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ return elems.length === 1 && elem.nodeType === 1 ?
+ jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
+ jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ } ) );
+};
+
+jQuery.fn.extend( {
+ find: function( selector ) {
+ var i, ret,
+ len = this.length,
+ self = this;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter( function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ } ) );
+ }
+
+ ret = this.pushStack( [] );
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], false ) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], true ) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ // Shortcut simple #id case for speed
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+ init = jQuery.fn.init = function( selector, context, root ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Method init() accepts an alternate rootjQuery
+ // so migrate can support jQuery.sub (gh-2101)
+ root = root || rootjQuery;
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector[ 0 ] === "<" &&
+ selector[ selector.length - 1 ] === ">" &&
+ selector.length >= 3 ) {
+
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && ( match[ 1 ] || !context ) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[ 1 ] ) {
+ context = context instanceof jQuery ? context[ 0 ] : context;
+
+ // Option to run scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[ 1 ],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+
+ // Properties of context are called as methods if possible
+ if ( jQuery.isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[ 2 ] );
+
+ if ( elem ) {
+
+ // Inject the element directly into the jQuery object
+ this[ 0 ] = elem;
+ this.length = 1;
+ }
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || root ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this[ 0 ] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( jQuery.isFunction( selector ) ) {
+ return root.ready !== undefined ?
+ root.ready( selector ) :
+
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+ // Methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.fn.extend( {
+ has: function( target ) {
+ var targets = jQuery( target, this ),
+ l = targets.length;
+
+ return this.filter( function() {
+ var i = 0;
+ for ( ; i < l; i++ ) {
+ if ( jQuery.contains( this, targets[ i ] ) ) {
+ return true;
+ }
+ }
+ } );
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ targets = typeof selectors !== "string" && jQuery( selectors );
+
+ // Positional selectors never match, since there's no _selection_ context
+ if ( !rneedsContext.test( selectors ) ) {
+ for ( ; i < l; i++ ) {
+ for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && ( targets ?
+ targets.index( cur ) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+ },
+
+ // Determine the position of an element within the set
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // Index in selector
+ if ( typeof elem === "string" ) {
+ return indexOf.call( jQuery( elem ), this[ 0 ] );
+ }
+
+ // Locate the position of the desired element
+ return indexOf.call( this,
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[ 0 ] : elem
+ );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.uniqueSort(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ }
+} );
+
+function sibling( cur, dir ) {
+ while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+ return cur;
+}
+
+jQuery.each( {
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, i, until ) {
+ return dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, i, until ) {
+ return dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, i, until ) {
+ return dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return siblings( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return siblings( elem.firstChild );
+ },
+ contents: function( elem ) {
+ return elem.contentDocument || jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var matched = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ matched = jQuery.filter( selector, matched );
+ }
+
+ if ( this.length > 1 ) {
+
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ jQuery.uniqueSort( matched );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack( matched );
+ };
+} );
+var rnotwhite = ( /\S+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+ var object = {};
+ jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ } );
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ createOptions( options ) :
+ jQuery.extend( {}, options );
+
+ var // Flag to know if list is currently firing
+ firing,
+
+ // Last fire value for non-forgettable lists
+ memory,
+
+ // Flag to know if list was already fired
+ fired,
+
+ // Flag to prevent firing
+ locked,
+
+ // Actual callback list
+ list = [],
+
+ // Queue of execution data for repeatable lists
+ queue = [],
+
+ // Index of currently firing callback (modified by add/remove as needed)
+ firingIndex = -1,
+
+ // Fire callbacks
+ fire = function() {
+
+ // Enforce single-firing
+ locked = options.once;
+
+ // Execute callbacks for all pending executions,
+ // respecting firingIndex overrides and runtime changes
+ fired = firing = true;
+ for ( ; queue.length; firingIndex = -1 ) {
+ memory = queue.shift();
+ while ( ++firingIndex < list.length ) {
+
+ // Run callback and check for early termination
+ if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+ options.stopOnFalse ) {
+
+ // Jump to end and forget the data so .add doesn't re-fire
+ firingIndex = list.length;
+ memory = false;
+ }
+ }
+ }
+
+ // Forget the data if we're done with it
+ if ( !options.memory ) {
+ memory = false;
+ }
+
+ firing = false;
+
+ // Clean up if we're done firing for good
+ if ( locked ) {
+
+ // Keep an empty list if we have data for future add calls
+ if ( memory ) {
+ list = [];
+
+ // Otherwise, this object is spent
+ } else {
+ list = "";
+ }
+ }
+ },
+
+ // Actual Callbacks object
+ self = {
+
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+
+ // If we have memory from a past run, we should fire after adding
+ if ( memory && !firing ) {
+ firingIndex = list.length - 1;
+ queue.push( memory );
+ }
+
+ ( function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ if ( jQuery.isFunction( arg ) ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
+
+ // Inspect recursively
+ add( arg );
+ }
+ } );
+ } )( arguments );
+
+ if ( memory && !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Remove a callback from the list
+ remove: function() {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+
+ // Handle firing indexes
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ } );
+ return this;
+ },
+
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ?
+ jQuery.inArray( fn, list ) > -1 :
+ list.length > 0;
+ },
+
+ // Remove all callbacks from the list
+ empty: function() {
+ if ( list ) {
+ list = [];
+ }
+ return this;
+ },
+
+ // Disable .fire and .add
+ // Abort any current/pending executions
+ // Clear all callbacks and values
+ disable: function() {
+ locked = queue = [];
+ list = memory = "";
+ return this;
+ },
+ disabled: function() {
+ return !list;
+ },
+
+ // Disable .fire
+ // Also disable .add unless we have memory (since it would have no effect)
+ // Abort any pending executions
+ lock: function() {
+ locked = queue = [];
+ if ( !memory && !firing ) {
+ list = memory = "";
+ }
+ return this;
+ },
+ locked: function() {
+ return !!locked;
+ },
+
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ if ( !locked ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ queue.push( args );
+ if ( !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+
+
+function Identity( v ) {
+ return v;
+}
+function Thrower( ex ) {
+ throw ex;
+}
+
+function adoptValue( value, resolve, reject ) {
+ var method;
+
+ try {
+
+ // Check for promise aspect first to privilege synchronous behavior
+ if ( value && jQuery.isFunction( ( method = value.promise ) ) ) {
+ method.call( value ).done( resolve ).fail( reject );
+
+ // Other thenables
+ } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {
+ method.call( value, resolve, reject );
+
+ // Other non-thenables
+ } else {
+
+ // Support: Android 4.0 only
+ // Strict mode functions invoked without .call/.apply get global-object context
+ resolve.call( undefined, value );
+ }
+
+ // For Promises/A+, convert exceptions into rejections
+ // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+ // Deferred#then to conditionally suppress rejection.
+ } catch ( value ) {
+
+ // Support: Android 4.0 only
+ // Strict mode functions invoked without .call/.apply get global-object context
+ reject.call( undefined, value );
+ }
+}
+
+jQuery.extend( {
+
+ Deferred: function( func ) {
+ var tuples = [
+
+ // action, add listener, callbacks,
+ // ... .then handlers, argument index, [final state]
+ [ "notify", "progress", jQuery.Callbacks( "memory" ),
+ jQuery.Callbacks( "memory" ), 2 ],
+ [ "resolve", "done", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ "catch": function( fn ) {
+ return promise.then( null, fn );
+ },
+
+ // Keep pipe for back-compat
+ pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+
+ return jQuery.Deferred( function( newDefer ) {
+ jQuery.each( tuples, function( i, tuple ) {
+
+ // Map tuples (progress, done, fail) to arguments (done, fail, progress)
+ var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+ // deferred.progress(function() { bind to newDefer or newDefer.notify })
+ // deferred.done(function() { bind to newDefer or newDefer.resolve })
+ // deferred.fail(function() { bind to newDefer or newDefer.reject })
+ deferred[ tuple[ 1 ] ]( function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && jQuery.isFunction( returned.promise ) ) {
+ returned.promise()
+ .progress( newDefer.notify )
+ .done( newDefer.resolve )
+ .fail( newDefer.reject );
+ } else {
+ newDefer[ tuple[ 0 ] + "With" ](
+ this,
+ fn ? [ returned ] : arguments
+ );
+ }
+ } );
+ } );
+ fns = null;
+ } ).promise();
+ },
+ then: function( onFulfilled, onRejected, onProgress ) {
+ var maxDepth = 0;
+ function resolve( depth, deferred, handler, special ) {
+ return function() {
+ var that = this,
+ args = arguments,
+ mightThrow = function() {
+ var returned, then;
+
+ // Support: Promises/A+ section 2.3.3.3.3
+ // https://promisesaplus.com/#point-59
+ // Ignore double-resolution attempts
+ if ( depth < maxDepth ) {
+ return;
+ }
+
+ returned = handler.apply( that, args );
+
+ // Support: Promises/A+ section 2.3.1
+ // https://promisesaplus.com/#point-48
+ if ( returned === deferred.promise() ) {
+ throw new TypeError( "Thenable self-resolution" );
+ }
+
+ // Support: Promises/A+ sections 2.3.3.1, 3.5
+ // https://promisesaplus.com/#point-54
+ // https://promisesaplus.com/#point-75
+ // Retrieve `then` only once
+ then = returned &&
+
+ // Support: Promises/A+ section 2.3.4
+ // https://promisesaplus.com/#point-64
+ // Only check objects and functions for thenability
+ ( typeof returned === "object" ||
+ typeof returned === "function" ) &&
+ returned.then;
+
+ // Handle a returned thenable
+ if ( jQuery.isFunction( then ) ) {
+
+ // Special processors (notify) just wait for resolution
+ if ( special ) {
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special )
+ );
+
+ // Normal processors (resolve) also hook into progress
+ } else {
+
+ // ...and disregard older resolution values
+ maxDepth++;
+
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special ),
+ resolve( maxDepth, deferred, Identity,
+ deferred.notifyWith )
+ );
+ }
+
+ // Handle all other returned values
+ } else {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Identity ) {
+ that = undefined;
+ args = [ returned ];
+ }
+
+ // Process the value(s)
+ // Default process is resolve
+ ( special || deferred.resolveWith )( that, args );
+ }
+ },
+
+ // Only normal processors (resolve) catch and reject exceptions
+ process = special ?
+ mightThrow :
+ function() {
+ try {
+ mightThrow();
+ } catch ( e ) {
+
+ if ( jQuery.Deferred.exceptionHook ) {
+ jQuery.Deferred.exceptionHook( e,
+ process.stackTrace );
+ }
+
+ // Support: Promises/A+ section 2.3.3.3.4.1
+ // https://promisesaplus.com/#point-61
+ // Ignore post-resolution exceptions
+ if ( depth + 1 >= maxDepth ) {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Thrower ) {
+ that = undefined;
+ args = [ e ];
+ }
+
+ deferred.rejectWith( that, args );
+ }
+ }
+ };
+
+ // Support: Promises/A+ section 2.3.3.3.1
+ // https://promisesaplus.com/#point-57
+ // Re-resolve promises immediately to dodge false rejection from
+ // subsequent errors
+ if ( depth ) {
+ process();
+ } else {
+
+ // Call an optional hook to record the stack, in case of exception
+ // since it's otherwise lost when execution goes async
+ if ( jQuery.Deferred.getStackHook ) {
+ process.stackTrace = jQuery.Deferred.getStackHook();
+ }
+ window.setTimeout( process );
+ }
+ };
+ }
+
+ return jQuery.Deferred( function( newDefer ) {
+
+ // progress_handlers.add( ... )
+ tuples[ 0 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ jQuery.isFunction( onProgress ) ?
+ onProgress :
+ Identity,
+ newDefer.notifyWith
+ )
+ );
+
+ // fulfilled_handlers.add( ... )
+ tuples[ 1 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ jQuery.isFunction( onFulfilled ) ?
+ onFulfilled :
+ Identity
+ )
+ );
+
+ // rejected_handlers.add( ... )
+ tuples[ 2 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ jQuery.isFunction( onRejected ) ?
+ onRejected :
+ Thrower
+ )
+ );
+ } ).promise();
+ },
+
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 5 ];
+
+ // promise.progress = list.add
+ // promise.done = list.add
+ // promise.fail = list.add
+ promise[ tuple[ 1 ] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add(
+ function() {
+
+ // state = "resolved" (i.e., fulfilled)
+ // state = "rejected"
+ state = stateString;
+ },
+
+ // rejected_callbacks.disable
+ // fulfilled_callbacks.disable
+ tuples[ 3 - i ][ 2 ].disable,
+
+ // progress_callbacks.lock
+ tuples[ 0 ][ 2 ].lock
+ );
+ }
+
+ // progress_handlers.fire
+ // fulfilled_handlers.fire
+ // rejected_handlers.fire
+ list.add( tuple[ 3 ].fire );
+
+ // deferred.notify = function() { deferred.notifyWith(...) }
+ // deferred.resolve = function() { deferred.resolveWith(...) }
+ // deferred.reject = function() { deferred.rejectWith(...) }
+ deferred[ tuple[ 0 ] ] = function() {
+ deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+ return this;
+ };
+
+ // deferred.notifyWith = list.fireWith
+ // deferred.resolveWith = list.fireWith
+ // deferred.rejectWith = list.fireWith
+ deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+ } );
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( singleValue ) {
+ var
+
+ // count of uncompleted subordinates
+ remaining = arguments.length,
+
+ // count of unprocessed arguments
+ i = remaining,
+
+ // subordinate fulfillment data
+ resolveContexts = Array( i ),
+ resolveValues = slice.call( arguments ),
+
+ // the master Deferred
+ master = jQuery.Deferred(),
+
+ // subordinate callback factory
+ updateFunc = function( i ) {
+ return function( value ) {
+ resolveContexts[ i ] = this;
+ resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( !( --remaining ) ) {
+ master.resolveWith( resolveContexts, resolveValues );
+ }
+ };
+ };
+
+ // Single- and empty arguments are adopted like Promise.resolve
+ if ( remaining <= 1 ) {
+ adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject );
+
+ // Use .then() to unwrap secondary thenables (cf. gh-3000)
+ if ( master.state() === "pending" ||
+ jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+ return master.then();
+ }
+ }
+
+ // Multiple arguments are aggregated like Promise.all array elements
+ while ( i-- ) {
+ adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+ }
+
+ return master.promise();
+ }
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+ // Support: IE 8 - 9 only
+ // Console exists when dev tools are open, which can happen at any time
+ if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+ window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+ }
+};
+
+
+
+
+jQuery.readyException = function( error ) {
+ window.setTimeout( function() {
+ throw error;
+ } );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+ readyList
+ .then( fn )
+
+ // Wrap jQuery.readyException in a function so that the lookup
+ // happens at the time of error handling instead of callback
+ // registration.
+ .catch( function( error ) {
+ jQuery.readyException( error );
+ } );
+
+ return this;
+};
+
+jQuery.extend( {
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Hold (or release) the ready event
+ holdReady: function( hold ) {
+ if ( hold ) {
+ jQuery.readyWait++;
+ } else {
+ jQuery.ready( true );
+ }
+ },
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+ }
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+ document.removeEventListener( "DOMContentLoaded", completed );
+ window.removeEventListener( "load", completed );
+ jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+ ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ window.setTimeout( jQuery.ready );
+
+} else {
+
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ len = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( jQuery.type( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ access( elems, fn, i, key[ i ], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !jQuery.isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < len; i++ ) {
+ fn(
+ elems[ i ], key, raw ?
+ value :
+ value.call( elems[ i ], i, fn( elems[ i ], key ) )
+ );
+ }
+ }
+ }
+
+ return chainable ?
+ elems :
+
+ // Gets
+ bulk ?
+ fn.call( elems ) :
+ len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+var acceptData = function( owner ) {
+
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+ this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+ cache: function( owner ) {
+
+ // Check if the owner object already has a cache
+ var value = owner[ this.expando ];
+
+ // If not, create one
+ if ( !value ) {
+ value = {};
+
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return an empty object.
+ if ( acceptData( owner ) ) {
+
+ // If it is a node unlikely to be stringify-ed or looped over
+ // use plain assignment
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = value;
+
+ // Otherwise secure it in a non-enumerable property
+ // configurable must be true to allow the property to be
+ // deleted when data is removed
+ } else {
+ Object.defineProperty( owner, this.expando, {
+ value: value,
+ configurable: true
+ } );
+ }
+ }
+ }
+
+ return value;
+ },
+ set: function( owner, data, value ) {
+ var prop,
+ cache = this.cache( owner );
+
+ // Handle: [ owner, key, value ] args
+ // Always use camelCase key (gh-2257)
+ if ( typeof data === "string" ) {
+ cache[ jQuery.camelCase( data ) ] = value;
+
+ // Handle: [ owner, { properties } ] args
+ } else {
+
+ // Copy the properties one-by-one to the cache object
+ for ( prop in data ) {
+ cache[ jQuery.camelCase( prop ) ] = data[ prop ];
+ }
+ }
+ return cache;
+ },
+ get: function( owner, key ) {
+ return key === undefined ?
+ this.cache( owner ) :
+
+ // Always use camelCase key (gh-2257)
+ owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];
+ },
+ access: function( owner, key, value ) {
+
+ // In cases where either:
+ //
+ // 1. No key was specified
+ // 2. A string key was specified, but no value provided
+ //
+ // Take the "read" path and allow the get method to determine
+ // which value to return, respectively either:
+ //
+ // 1. The entire cache object
+ // 2. The data stored at the key
+ //
+ if ( key === undefined ||
+ ( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+ return this.get( owner, key );
+ }
+
+ // When the key is not a string, or both a key and value
+ // are specified, set or extend (existing objects) with either:
+ //
+ // 1. An object of properties
+ // 2. A key and value
+ //
+ this.set( owner, key, value );
+
+ // Since the "set" path can have two possible entry points
+ // return the expected data based on which path was taken[*]
+ return value !== undefined ? value : key;
+ },
+ remove: function( owner, key ) {
+ var i,
+ cache = owner[ this.expando ];
+
+ if ( cache === undefined ) {
+ return;
+ }
+
+ if ( key !== undefined ) {
+
+ // Support array or space separated string of keys
+ if ( jQuery.isArray( key ) ) {
+
+ // If key is an array of keys...
+ // We always set camelCase keys, so remove that.
+ key = key.map( jQuery.camelCase );
+ } else {
+ key = jQuery.camelCase( key );
+
+ // If a key with the spaces exists, use it.
+ // Otherwise, create an array by matching non-whitespace
+ key = key in cache ?
+ [ key ] :
+ ( key.match( rnotwhite ) || [] );
+ }
+
+ i = key.length;
+
+ while ( i-- ) {
+ delete cache[ key[ i ] ];
+ }
+ }
+
+ // Remove the expando if there's no more data
+ if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+ // Support: Chrome <=35 - 45
+ // Webkit & Blink performance suffers when deleting properties
+ // from DOM nodes, so set to undefined instead
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = undefined;
+ } else {
+ delete owner[ this.expando ];
+ }
+ }
+ },
+ hasData: function( owner ) {
+ var cache = owner[ this.expando ];
+ return cache !== undefined && !jQuery.isEmptyObject( cache );
+ }
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+// Implementation Summary
+//
+// 1. Enforce API surface and semantic compatibility with 1.9.x branch
+// 2. Improve the module's maintainability by reducing the storage
+// paths to a single mechanism.
+// 3. Use the same single mechanism to support "private" and "user" data.
+// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+// 5. Avoid exposing implementation details on user objects (eg. expando properties)
+// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /[A-Z]/g;
+
+function dataAttr( elem, key, data ) {
+ var name;
+
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+ name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = data === "true" ? true :
+ data === "false" ? false :
+ data === "null" ? null :
+
+ // Only convert to a number if it doesn't change the string
+ +data + "" === data ? +data :
+ rbrace.test( data ) ? JSON.parse( data ) :
+ data;
+ } catch ( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ dataUser.set( elem, key, data );
+ } else {
+ data = undefined;
+ }
+ }
+ return data;
+}
+
+jQuery.extend( {
+ hasData: function( elem ) {
+ return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return dataUser.access( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ dataUser.remove( elem, name );
+ },
+
+ // TODO: Now that all calls to _data and _removeData have been replaced
+ // with direct calls to dataPriv methods, these can be deprecated.
+ _data: function( elem, name, data ) {
+ return dataPriv.access( elem, name, data );
+ },
+
+ _removeData: function( elem, name ) {
+ dataPriv.remove( elem, name );
+ }
+} );
+
+jQuery.fn.extend( {
+ data: function( key, value ) {
+ var i, name, data,
+ elem = this[ 0 ],
+ attrs = elem && elem.attributes;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = dataUser.get( elem );
+
+ if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
+
+ // Support: IE 11 only
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = jQuery.camelCase( name.slice( 5 ) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ dataPriv.set( elem, "hasDataAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each( function() {
+ dataUser.set( this, key );
+ } );
+ }
+
+ return access( this, function( value ) {
+ var data;
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if ( elem && value === undefined ) {
+
+ // Attempt to get data from the cache
+ // The key will always be camelCased in Data
+ data = dataUser.get( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ this.each( function() {
+
+ // We always store the camelCased key
+ dataUser.set( this, key, value );
+ } );
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each( function() {
+ dataUser.remove( this, key );
+ } );
+ }
+} );
+
+
+jQuery.extend( {
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = dataPriv.get( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || jQuery.isArray( data ) ) {
+ queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // Clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // Not public - generate a queueHooks object, or return the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+ empty: jQuery.Callbacks( "once memory" ).add( function() {
+ dataPriv.remove( elem, [ type + "queue", key ] );
+ } )
+ } );
+ }
+} );
+
+jQuery.fn.extend( {
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[ 0 ], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each( function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // Ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ dequeue: function( type ) {
+ return this.each( function() {
+ jQuery.dequeue( this, type );
+ } );
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while ( i-- ) {
+ tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHiddenWithinTree = function( elem, el ) {
+
+ // isHiddenWithinTree might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+
+ // Inline style trumps all
+ return elem.style.display === "none" ||
+ elem.style.display === "" &&
+
+ // Otherwise, check computed style
+ // Support: Firefox <=43 - 45
+ // Disconnected elements can have computed display: none, so first confirm that elem is
+ // in the document.
+ jQuery.contains( elem.ownerDocument, elem ) &&
+
+ jQuery.css( elem, "display" ) === "none";
+ };
+
+var swap = function( elem, options, callback, args ) {
+ var ret, name,
+ old = {};
+
+ // Remember the old values, and insert the new ones
+ for ( name in options ) {
+ old[ name ] = elem.style[ name ];
+ elem.style[ name ] = options[ name ];
+ }
+
+ ret = callback.apply( elem, args || [] );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+};
+
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+ var adjusted,
+ scale = 1,
+ maxIterations = 20,
+ currentValue = tween ?
+ function() {
+ return tween.cur();
+ } :
+ function() {
+ return jQuery.css( elem, prop, "" );
+ },
+ initial = currentValue(),
+ unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+ // Starting value computation is required for potential unit mismatches
+ initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+ rcssNum.exec( jQuery.css( elem, prop ) );
+
+ if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+ // Trust units reported by jQuery.css
+ unit = unit || initialInUnit[ 3 ];
+
+ // Make sure we update the tween properties later on
+ valueParts = valueParts || [];
+
+ // Iteratively approximate from a nonzero starting point
+ initialInUnit = +initial || 1;
+
+ do {
+
+ // If previous iteration zeroed out, double until we get *something*.
+ // Use string for doubling so we don't accidentally see scale as unchanged below
+ scale = scale || ".5";
+
+ // Adjust and apply
+ initialInUnit = initialInUnit / scale;
+ jQuery.style( elem, prop, initialInUnit + unit );
+
+ // Update scale, tolerating zero or NaN from tween.cur()
+ // Break the loop if scale is unchanged or perfect, or if we've just had enough.
+ } while (
+ scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
+ );
+ }
+
+ if ( valueParts ) {
+ initialInUnit = +initialInUnit || +initial || 0;
+
+ // Apply relative offset (+=/-=) if specified
+ adjusted = valueParts[ 1 ] ?
+ initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+ +valueParts[ 2 ];
+ if ( tween ) {
+ tween.unit = unit;
+ tween.start = initialInUnit;
+ tween.end = adjusted;
+ }
+ }
+ return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+ var temp,
+ doc = elem.ownerDocument,
+ nodeName = elem.nodeName,
+ display = defaultDisplayMap[ nodeName ];
+
+ if ( display ) {
+ return display;
+ }
+
+ temp = doc.body.appendChild( doc.createElement( nodeName ) ),
+ display = jQuery.css( temp, "display" );
+
+ temp.parentNode.removeChild( temp );
+
+ if ( display === "none" ) {
+ display = "block";
+ }
+ defaultDisplayMap[ nodeName ] = display;
+
+ return display;
+}
+
+function showHide( elements, show ) {
+ var display, elem,
+ values = [],
+ index = 0,
+ length = elements.length;
+
+ // Determine new display value for elements that need to change
+ for ( ; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+
+ display = elem.style.display;
+ if ( show ) {
+
+ // Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+ // check is required in this first loop unless we have a nonempty display value (either
+ // inline or about-to-be-restored)
+ if ( display === "none" ) {
+ values[ index ] = dataPriv.get( elem, "display" ) || null;
+ if ( !values[ index ] ) {
+ elem.style.display = "";
+ }
+ }
+ if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+ values[ index ] = getDefaultDisplay( elem );
+ }
+ } else {
+ if ( display !== "none" ) {
+ values[ index ] = "none";
+
+ // Remember what we're overwriting
+ dataPriv.set( elem, "display", display );
+ }
+ }
+ }
+
+ // Set the display of the elements in a second loop to avoid constant reflow
+ for ( index = 0; index < length; index++ ) {
+ if ( values[ index ] != null ) {
+ elements[ index ].style.display = values[ index ];
+ }
+ }
+
+ return elements;
+}
+
+jQuery.fn.extend( {
+ show: function() {
+ return showHide( this, true );
+ },
+ hide: function() {
+ return showHide( this );
+ },
+ toggle: function( state ) {
+ if ( typeof state === "boolean" ) {
+ return state ? this.show() : this.hide();
+ }
+
+ return this.each( function() {
+ if ( isHiddenWithinTree( this ) ) {
+ jQuery( this ).show();
+ } else {
+ jQuery( this ).hide();
+ }
+ } );
+ }
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+
+var rscriptType = ( /^$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+ // Support: IE <=9 only
+ option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+ // XHTML parsers do not magically insert elements in the
+ // same way that tag soup parsers do. So we cannot shorten
+ // this by omitting <tbody> or other required elements.
+ thead: [ 1, "<table>", "</table>" ],
+ col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+ tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+ td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+ _default: [ 0, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+ // Support: IE <=9 - 11 only
+ // Use typeof to avoid zero-argument method invocation on host objects (#15151)
+ var ret = typeof context.getElementsByTagName !== "undefined" ?
+ context.getElementsByTagName( tag || "*" ) :
+ typeof context.querySelectorAll !== "undefined" ?
+ context.querySelectorAll( tag || "*" ) :
+ [];
+
+ return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
+ jQuery.merge( [ context ], ret ) :
+ ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+ var i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ dataPriv.set(
+ elems[ i ],
+ "globalEval",
+ !refElements || dataPriv.get( refElements[ i ], "globalEval" )
+ );
+ }
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+ var elem, tmp, tag, wrap, contains, j,
+ fragment = context.createDocumentFragment(),
+ nodes = [],
+ i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ elem = elems[ i ];
+
+ if ( elem || elem === 0 ) {
+
+ // Add nodes directly
+ if ( jQuery.type( elem ) === "object" ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+ // Convert non-html into a text node
+ } else if ( !rhtml.test( elem ) ) {
+ nodes.push( context.createTextNode( elem ) );
+
+ // Convert html into DOM nodes
+ } else {
+ tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+ // Deserialize a standard representation
+ tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+ wrap = wrapMap[ tag ] || wrapMap._default;
+ tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+ // Descend through wrappers to the right content
+ j = wrap[ 0 ];
+ while ( j-- ) {
+ tmp = tmp.lastChild;
+ }
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, tmp.childNodes );
+
+ // Remember the top-level container
+ tmp = fragment.firstChild;
+
+ // Ensure the created nodes are orphaned (#12392)
+ tmp.textContent = "";
+ }
+ }
+ }
+
+ // Remove wrapper from fragment
+ fragment.textContent = "";
+
+ i = 0;
+ while ( ( elem = nodes[ i++ ] ) ) {
+
+ // Skip elements already in the context collection (trac-4087)
+ if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+ if ( ignored ) {
+ ignored.push( elem );
+ }
+ continue;
+ }
+
+ contains = jQuery.contains( elem.ownerDocument, elem );
+
+ // Append to fragment
+ tmp = getAll( fragment.appendChild( elem ), "script" );
+
+ // Preserve script evaluation history
+ if ( contains ) {
+ setGlobalEval( tmp );
+ }
+
+ // Capture executables
+ if ( scripts ) {
+ j = 0;
+ while ( ( elem = tmp[ j++ ] ) ) {
+ if ( rscriptType.test( elem.type || "" ) ) {
+ scripts.push( elem );
+ }
+ }
+ }
+ }
+
+ return fragment;
+}
+
+
+( function() {
+ var fragment = document.createDocumentFragment(),
+ div = fragment.appendChild( document.createElement( "div" ) ),
+ input = document.createElement( "input" );
+
+ // Support: Android 4.0 - 4.3 only
+ // Check state lost if the name is set (#11217)
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
+
+ div.appendChild( input );
+
+ // Support: Android <=4.1 only
+ // Older WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE <=11 only
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ div.innerHTML = "<textarea>x</textarea>";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+var documentElement = document.documentElement;
+
+
+
+var
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+// Support: IE <=9 only
+// See #13393 for more info
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+ var origFn, type;
+
+ // Types can be a map of types/handlers
+ if ( typeof types === "object" ) {
+
+ // ( types-Object, selector, data )
+ if ( typeof selector !== "string" ) {
+
+ // ( types-Object, data )
+ data = data || selector;
+ selector = undefined;
+ }
+ for ( type in types ) {
+ on( elem, type, selector, data, types[ type ], one );
+ }
+ return elem;
+ }
+
+ if ( data == null && fn == null ) {
+
+ // ( types, fn )
+ fn = selector;
+ data = selector = undefined;
+ } else if ( fn == null ) {
+ if ( typeof selector === "string" ) {
+
+ // ( types, selector, fn )
+ fn = data;
+ data = undefined;
+ } else {
+
+ // ( types, data, fn )
+ fn = data;
+ data = selector;
+ selector = undefined;
+ }
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ } else if ( !fn ) {
+ return elem;
+ }
+
+ if ( one === 1 ) {
+ origFn = fn;
+ fn = function( event ) {
+
+ // Can use an empty set, since event contains the info
+ jQuery().off( event );
+ return origFn.apply( this, arguments );
+ };
+
+ // Use same guid so caller can remove using origFn
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ }
+ return elem.each( function() {
+ jQuery.event.add( this, types, fn, data, selector );
+ } );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.get( elem );
+
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ if ( !elemData ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Ensure that invalid selectors throw exceptions at attach time
+ // Evaluate against documentElement in case elem is a non-element node (e.g., document)
+ if ( selector ) {
+ jQuery.find.matchesSelector( documentElement, selector );
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !( events = elemData.events ) ) {
+ events = elemData.events = {};
+ }
+ if ( !( eventHandle = elemData.handle ) ) {
+ eventHandle = elemData.handle = function( e ) {
+
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+ jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+ };
+ }
+
+ // Handle multiple events separated by a space
+ types = ( types || "" ).match( rnotwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend( {
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join( "." )
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !( handlers = events[ type ] ) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener if the special events handler returns false
+ if ( !special.setup ||
+ special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+ if ( !elemData || !( events = elemData.events ) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( rnotwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[ 2 ] &&
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector ||
+ selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown ||
+ special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove data and the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ dataPriv.remove( elem, "handle events" );
+ }
+ },
+
+ dispatch: function( nativeEvent ) {
+
+ // Make a writable jQuery.Event from the native event object
+ var event = jQuery.event.fix( nativeEvent );
+
+ var i, j, ret, matched, handleObj, handlerQueue,
+ args = new Array( arguments.length ),
+ handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[ 0 ] = event;
+
+ for ( i = 1; i < arguments.length; i++ ) {
+ args[ i ] = arguments[ i ];
+ }
+
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( ( handleObj = matched.handlers[ j++ ] ) &&
+ !event.isImmediatePropagationStopped() ) {
+
+ // Triggered event must either 1) have no namespace, or 2) have namespace(s)
+ // a subset or equal to those in the bound event (both can have no namespace).
+ if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+ handleObj.handler ).apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( ( event.result = ret ) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, matches, sel, handleObj,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Support: IE <=9
+ // Find delegate handlers
+ // Black-hole SVG <use> instance trees (#13180)
+ //
+ // Support: Firefox <=42
+ // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
+ if ( delegateCount && cur.nodeType &&
+ ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
+
+ for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+ // Don't check non-elements (#13208)
+ // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+ if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) {
+ matches = [];
+ for ( i = 0; i < delegateCount; i++ ) {
+ handleObj = handlers[ i ];
+
+ // Don't conflict with Object.prototype properties (#13203)
+ sel = handleObj.selector + " ";
+
+ if ( matches[ sel ] === undefined ) {
+ matches[ sel ] = handleObj.needsContext ?
+ jQuery( sel, this ).index( cur ) > -1 :
+ jQuery.find( sel, this, null, [ cur ] ).length;
+ }
+ if ( matches[ sel ] ) {
+ matches.push( handleObj );
+ }
+ }
+ if ( matches.length ) {
+ handlerQueue.push( { elem: cur, handlers: matches } );
+ }
+ }
+ }
+ }
+
+ // Add the remaining (directly-bound) handlers
+ if ( delegateCount < handlers.length ) {
+ handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );
+ }
+
+ return handlerQueue;
+ },
+
+ addProp: function( name, hook ) {
+ Object.defineProperty( jQuery.Event.prototype, name, {
+ enumerable: true,
+ configurable: true,
+
+ get: jQuery.isFunction( hook ) ?
+ function() {
+ if ( this.originalEvent ) {
+ return hook( this.originalEvent );
+ }
+ } :
+ function() {
+ if ( this.originalEvent ) {
+ return this.originalEvent[ name ];
+ }
+ },
+
+ set: function( value ) {
+ Object.defineProperty( this, name, {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: value
+ } );
+ }
+ } );
+ },
+
+ fix: function( originalEvent ) {
+ return originalEvent[ jQuery.expando ] ?
+ originalEvent :
+ new jQuery.Event( originalEvent );
+ },
+
+ special: {
+ load: {
+
+ // Prevent triggered image.load events from bubbling to window.load
+ noBubble: true
+ },
+ focus: {
+
+ // Fire native event if possible so blur/focus sequence is correct
+ trigger: function() {
+ if ( this !== safeActiveElement() && this.focus ) {
+ this.focus();
+ return false;
+ }
+ },
+ delegateType: "focusin"
+ },
+ blur: {
+ trigger: function() {
+ if ( this === safeActiveElement() && this.blur ) {
+ this.blur();
+ return false;
+ }
+ },
+ delegateType: "focusout"
+ },
+ click: {
+
+ // For checkbox, fire native event so checked state will be right
+ trigger: function() {
+ if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
+ this.click();
+ return false;
+ }
+ },
+
+ // For cross-browser consistency, don't fire native .click() on links
+ _default: function( event ) {
+ return jQuery.nodeName( event.target, "a" );
+ }
+ },
+
+ beforeunload: {
+ postDispatch: function( event ) {
+
+ // Support: Firefox 20+
+ // Firefox doesn't alert if the returnValue field is not set.
+ if ( event.result !== undefined && event.originalEvent ) {
+ event.originalEvent.returnValue = event.result;
+ }
+ }
+ }
+ }
+};
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+ // This "if" is needed for plain objects
+ if ( elem.removeEventListener ) {
+ elem.removeEventListener( type, handle );
+ }
+};
+
+jQuery.Event = function( src, props ) {
+
+ // Allow instantiation without the 'new' keyword
+ if ( !( this instanceof jQuery.Event ) ) {
+ return new jQuery.Event( src, props );
+ }
+
+ // Event object
+ if ( src && src.type ) {
+ this.originalEvent = src;
+ this.type = src.type;
+
+ // Events bubbling up the document may have been marked as prevented
+ // by a handler lower down the tree; reflect the correct value.
+ this.isDefaultPrevented = src.defaultPrevented ||
+ src.defaultPrevented === undefined &&
+
+ // Support: Android <=2.3 only
+ src.returnValue === false ?
+ returnTrue :
+ returnFalse;
+
+ // Create target properties
+ // Support: Safari <=6 - 7 only
+ // Target should not be a text node (#504, #13143)
+ this.target = ( src.target && src.target.nodeType === 3 ) ?
+ src.target.parentNode :
+ src.target;
+
+ this.currentTarget = src.currentTarget;
+ this.relatedTarget = src.relatedTarget;
+
+ // Event type
+ } else {
+ this.type = src;
+ }
+
+ // Put explicitly provided properties onto the event object
+ if ( props ) {
+ jQuery.extend( this, props );
+ }
+
+ // Create a timestamp if incoming event doesn't have one
+ this.timeStamp = src && src.timeStamp || jQuery.now();
+
+ // Mark it as fixed
+ this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ constructor: jQuery.Event,
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse,
+ isSimulated: false,
+
+ preventDefault: function() {
+ var e = this.originalEvent;
+
+ this.isDefaultPrevented = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.preventDefault();
+ }
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopPropagation();
+ }
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+
+ this.isImmediatePropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopImmediatePropagation();
+ }
+
+ this.stopPropagation();
+ }
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+ altKey: true,
+ bubbles: true,
+ cancelable: true,
+ changedTouches: true,
+ ctrlKey: true,
+ detail: true,
+ eventPhase: true,
+ metaKey: true,
+ pageX: true,
+ pageY: true,
+ shiftKey: true,
+ view: true,
+ "char": true,
+ charCode: true,
+ key: true,
+ keyCode: true,
+ button: true,
+ buttons: true,
+ clientX: true,
+ clientY: true,
+ offsetX: true,
+ offsetY: true,
+ pointerId: true,
+ pointerType: true,
+ screenX: true,
+ screenY: true,
+ targetTouches: true,
+ toElement: true,
+ touches: true,
+
+ which: function( event ) {
+ var button = event.button;
+
+ // Add which for key events
+ if ( event.which == null && rkeyEvent.test( event.type ) ) {
+ return event.charCode != null ? event.charCode : event.keyCode;
+ }
+
+ // Add which for click: 1 === left; 2 === middle; 3 === right
+ if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+ return ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
+ }
+
+ return event.which;
+ }
+}, jQuery.event.addProp );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ delegateType: fix,
+ bindType: fix,
+
+ handle: function( event ) {
+ var ret,
+ target = this,
+ related = event.relatedTarget,
+ handleObj = event.handleObj;
+
+ // For mouseenter/leave call the handler if related is outside the target.
+ // NB: No relatedTarget if the mouse left/entered the browser window
+ if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+ event.type = handleObj.origType;
+ ret = handleObj.handler.apply( this, arguments );
+ event.type = fix;
+ }
+ return ret;
+ }
+ };
+} );
+
+jQuery.fn.extend( {
+
+ on: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn );
+ },
+ one: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn, 1 );
+ },
+ off: function( types, selector, fn ) {
+ var handleObj, type;
+ if ( types && types.preventDefault && types.handleObj ) {
+
+ // ( event ) dispatched jQuery.Event
+ handleObj = types.handleObj;
+ jQuery( types.delegateTarget ).off(
+ handleObj.namespace ?
+ handleObj.origType + "." + handleObj.namespace :
+ handleObj.origType,
+ handleObj.selector,
+ handleObj.handler
+ );
+ return this;
+ }
+ if ( typeof types === "object" ) {
+
+ // ( types-object [, selector] )
+ for ( type in types ) {
+ this.off( type, selector, types[ type ] );
+ }
+ return this;
+ }
+ if ( selector === false || typeof selector === "function" ) {
+
+ // ( types [, fn] )
+ fn = selector;
+ selector = undefined;
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ }
+ return this.each( function() {
+ jQuery.event.remove( this, types, fn, selector );
+ } );
+ }
+} );
+
+
+var
+
+ /* eslint-disable max-len */
+
+ // See https://github.com/eslint/eslint/issues/3229
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+ /* eslint-enable */
+
+ // Support: IE <=10 - 11, Edge 12 - 13
+ // In IE/Edge using regex groups here causes severe slowdowns.
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
+ rnoInnerhtml = /<script|<style|<link/i,
+
+ // checked="checked" or checked
+ rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+ rscriptTypeMasked = /^true\/(.*)/,
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+function manipulationTarget( elem, content ) {
+ if ( jQuery.nodeName( elem, "table" ) &&
+ jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+ return elem.getElementsByTagName( "tbody" )[ 0 ] || elem;
+ }
+
+ return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+ return elem;
+}
+function restoreScript( elem ) {
+ var match = rscriptTypeMasked.exec( elem.type );
+
+ if ( match ) {
+ elem.type = match[ 1 ];
+ } else {
+ elem.removeAttribute( "type" );
+ }
+
+ return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+ var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+ if ( dest.nodeType !== 1 ) {
+ return;
+ }
+
+ // 1. Copy private data: events, handlers, etc.
+ if ( dataPriv.hasData( src ) ) {
+ pdataOld = dataPriv.access( src );
+ pdataCur = dataPriv.set( dest, pdataOld );
+ events = pdataOld.events;
+
+ if ( events ) {
+ delete pdataCur.handle;
+ pdataCur.events = {};
+
+ for ( type in events ) {
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+ jQuery.event.add( dest, type, events[ type ][ i ] );
+ }
+ }
+ }
+ }
+
+ // 2. Copy user data
+ if ( dataUser.hasData( src ) ) {
+ udataOld = dataUser.access( src );
+ udataCur = jQuery.extend( {}, udataOld );
+
+ dataUser.set( dest, udataCur );
+ }
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+ var nodeName = dest.nodeName.toLowerCase();
+
+ // Fails to persist the checked state of a cloned checkbox or radio button.
+ if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+ dest.checked = src.checked;
+
+ // Fails to return the selected option to the default selected state when cloning options
+ } else if ( nodeName === "input" || nodeName === "textarea" ) {
+ dest.defaultValue = src.defaultValue;
+ }
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+ // Flatten any nested arrays
+ args = concat.apply( [], args );
+
+ var fragment, first, scripts, hasScripts, node, doc,
+ i = 0,
+ l = collection.length,
+ iNoClone = l - 1,
+ value = args[ 0 ],
+ isFunction = jQuery.isFunction( value );
+
+ // We can't cloneNode fragments that contain checked, in WebKit
+ if ( isFunction ||
+ ( l > 1 && typeof value === "string" &&
+ !support.checkClone && rchecked.test( value ) ) ) {
+ return collection.each( function( index ) {
+ var self = collection.eq( index );
+ if ( isFunction ) {
+ args[ 0 ] = value.call( this, index, self.html() );
+ }
+ domManip( self, args, callback, ignored );
+ } );
+ }
+
+ if ( l ) {
+ fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+ first = fragment.firstChild;
+
+ if ( fragment.childNodes.length === 1 ) {
+ fragment = first;
+ }
+
+ // Require either new content or an interest in ignored elements to invoke the callback
+ if ( first || ignored ) {
+ scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+ hasScripts = scripts.length;
+
+ // Use the original fragment for the last item
+ // instead of the first because it can end up
+ // being emptied incorrectly in certain situations (#8070).
+ for ( ; i < l; i++ ) {
+ node = fragment;
+
+ if ( i !== iNoClone ) {
+ node = jQuery.clone( node, true, true );
+
+ // Keep references to cloned scripts for later restoration
+ if ( hasScripts ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( scripts, getAll( node, "script" ) );
+ }
+ }
+
+ callback.call( collection[ i ], node, i );
+ }
+
+ if ( hasScripts ) {
+ doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+ // Reenable scripts
+ jQuery.map( scripts, restoreScript );
+
+ // Evaluate executable scripts on first document insertion
+ for ( i = 0; i < hasScripts; i++ ) {
+ node = scripts[ i ];
+ if ( rscriptType.test( node.type || "" ) &&
+ !dataPriv.access( node, "globalEval" ) &&
+ jQuery.contains( doc, node ) ) {
+
+ if ( node.src ) {
+
+ // Optional AJAX dependency, but won't run scripts if not present
+ if ( jQuery._evalUrl ) {
+ jQuery._evalUrl( node.src );
+ }
+ } else {
+ DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return collection;
+}
+
+function remove( elem, selector, keepData ) {
+ var node,
+ nodes = selector ? jQuery.filter( selector, elem ) : elem,
+ i = 0;
+
+ for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+ if ( !keepData && node.nodeType === 1 ) {
+ jQuery.cleanData( getAll( node ) );
+ }
+
+ if ( node.parentNode ) {
+ if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+ setGlobalEval( getAll( node, "script" ) );
+ }
+ node.parentNode.removeChild( node );
+ }
+ }
+
+ return elem;
+}
+
+jQuery.extend( {
+ htmlPrefilter: function( html ) {
+ return html.replace( rxhtmlTag, "<$1></$2>" );
+ },
+
+ clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+ var i, l, srcElements, destElements,
+ clone = elem.cloneNode( true ),
+ inPage = jQuery.contains( elem.ownerDocument, elem );
+
+ // Fix IE cloning issues
+ if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+ !jQuery.isXMLDoc( elem ) ) {
+
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+ destElements = getAll( clone );
+ srcElements = getAll( elem );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ fixInput( srcElements[ i ], destElements[ i ] );
+ }
+ }
+
+ // Copy the events from the original to the clone
+ if ( dataAndEvents ) {
+ if ( deepDataAndEvents ) {
+ srcElements = srcElements || getAll( elem );
+ destElements = destElements || getAll( clone );
+
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
+ cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+ }
+ } else {
+ cloneCopyEvent( elem, clone );
+ }
+ }
+
+ // Preserve script evaluation history
+ destElements = getAll( clone, "script" );
+ if ( destElements.length > 0 ) {
+ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+ }
+
+ // Return the cloned set
+ return clone;
+ },
+
+ cleanData: function( elems ) {
+ var data, elem, type,
+ special = jQuery.event.special,
+ i = 0;
+
+ for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+ if ( acceptData( elem ) ) {
+ if ( ( data = elem[ dataPriv.expando ] ) ) {
+ if ( data.events ) {
+ for ( type in data.events ) {
+ if ( special[ type ] ) {
+ jQuery.event.remove( elem, type );
+
+ // This is a shortcut to avoid jQuery.event.remove's overhead
+ } else {
+ jQuery.removeEvent( elem, type, data.handle );
+ }
+ }
+ }
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataPriv.expando ] = undefined;
+ }
+ if ( elem[ dataUser.expando ] ) {
+
+ // Support: Chrome <=35 - 45+
+ // Assign undefined instead of using delete, see Data#remove
+ elem[ dataUser.expando ] = undefined;
+ }
+ }
+ }
+ }
+} );
+
+jQuery.fn.extend( {
+ detach: function( selector ) {
+ return remove( this, selector, true );
+ },
+
+ remove: function( selector ) {
+ return remove( this, selector );
+ },
+
+ text: function( value ) {
+ return access( this, function( value ) {
+ return value === undefined ?
+ jQuery.text( this ) :
+ this.empty().each( function() {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ this.textContent = value;
+ }
+ } );
+ }, null, value, arguments.length );
+ },
+
+ append: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.appendChild( elem );
+ }
+ } );
+ },
+
+ prepend: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+ var target = manipulationTarget( this, elem );
+ target.insertBefore( elem, target.firstChild );
+ }
+ } );
+ },
+
+ before: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this );
+ }
+ } );
+ },
+
+ after: function() {
+ return domManip( this, arguments, function( elem ) {
+ if ( this.parentNode ) {
+ this.parentNode.insertBefore( elem, this.nextSibling );
+ }
+ } );
+ },
+
+ empty: function() {
+ var elem,
+ i = 0;
+
+ for ( ; ( elem = this[ i ] ) != null; i++ ) {
+ if ( elem.nodeType === 1 ) {
+
+ // Prevent memory leaks
+ jQuery.cleanData( getAll( elem, false ) );
+
+ // Remove any remaining nodes
+ elem.textContent = "";
+ }
+ }
+
+ return this;
+ },
+
+ clone: function( dataAndEvents, deepDataAndEvents ) {
+ dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+ deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+ return this.map( function() {
+ return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+ } );
+ },
+
+ html: function( value ) {
+ return access( this, function( value ) {
+ var elem = this[ 0 ] || {},
+ i = 0,
+ l = this.length;
+
+ if ( value === undefined && elem.nodeType === 1 ) {
+ return elem.innerHTML;
+ }
+
+ // See if we can take a shortcut and just use innerHTML
+ if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+ !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+ value = jQuery.htmlPrefilter( value );
+
+ try {
+ for ( ; i < l; i++ ) {
+ elem = this[ i ] || {};
+
+ // Remove element nodes and prevent memory leaks
+ if ( elem.nodeType === 1 ) {
+ jQuery.cleanData( getAll( elem, false ) );
+ elem.innerHTML = value;
+ }
+ }
+
+ elem = 0;
+
+ // If using innerHTML throws an exception, use the fallback method
+ } catch ( e ) {}
+ }
+
+ if ( elem ) {
+ this.empty().append( value );
+ }
+ }, null, value, arguments.length );
+ },
+
+ replaceWith: function() {
+ var ignored = [];
+
+ // Make the changes, replacing each non-ignored context element with the new content
+ return domManip( this, arguments, function( elem ) {
+ var parent = this.parentNode;
+
+ if ( jQuery.inArray( this, ignored ) < 0 ) {
+ jQuery.cleanData( getAll( this ) );
+ if ( parent ) {
+ parent.replaceChild( elem, this );
+ }
+ }
+
+ // Force callback invocation
+ }, ignored );
+ }
+} );
+
+jQuery.each( {
+ appendTo: "append",
+ prependTo: "prepend",
+ insertBefore: "before",
+ insertAfter: "after",
+ replaceAll: "replaceWith"
+}, function( name, original ) {
+ jQuery.fn[ name ] = function( selector ) {
+ var elems,
+ ret = [],
+ insert = jQuery( selector ),
+ last = insert.length - 1,
+ i = 0;
+
+ for ( ; i <= last; i++ ) {
+ elems = i === last ? this : this.clone( true );
+ jQuery( insert[ i ] )[ original ]( elems );
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // .get() because push.apply(_, arraylike) throws on ancient WebKit
+ push.apply( ret, elems.get() );
+ }
+
+ return this.pushStack( ret );
+ };
+} );
+var rmargin = ( /^margin/ );
+
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+ // Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+ // IE throws on elements created in popups
+ // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+ var view = elem.ownerDocument.defaultView;
+
+ if ( !view || !view.opener ) {
+ view = window;
+ }
+
+ return view.getComputedStyle( elem );
+ };
+
+
+
+( function() {
+
+ // Executing both pixelPosition & boxSizingReliable tests require only one layout
+ // so they're executed at the same time to save the second computation.
+ function computeStyleTests() {
+
+ // This is a singleton, we need to execute it only once
+ if ( !div ) {
+ return;
+ }
+
+ div.style.cssText =
+ "box-sizing:border-box;" +
+ "position:relative;display:block;" +
+ "margin:auto;border:1px;padding:1px;" +
+ "top:1%;width:50%";
+ div.innerHTML = "";
+ documentElement.appendChild( container );
+
+ var divStyle = window.getComputedStyle( div );
+ pixelPositionVal = divStyle.top !== "1%";
+
+ // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+ reliableMarginLeftVal = divStyle.marginLeft === "2px";
+ boxSizingReliableVal = divStyle.width === "4px";
+
+ // Support: Android 4.0 - 4.3 only
+ // Some styles come back with percentage values, even though they shouldn't
+ div.style.marginRight = "50%";
+ pixelMarginRightVal = divStyle.marginRight === "4px";
+
+ documentElement.removeChild( container );
+
+ // Nullify the div so it wouldn't be stored in the memory and
+ // it will also be a sign that checks already performed
+ div = null;
+ }
+
+ var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,
+ container = document.createElement( "div" ),
+ div = document.createElement( "div" );
+
+ // Finish early in limited (non-browser) environments
+ if ( !div.style ) {
+ return;
+ }
+
+ // Support: IE <=9 - 11 only
+ // Style of cloned element affects source element cloned (#8908)
+ div.style.backgroundClip = "content-box";
+ div.cloneNode( true ).style.backgroundClip = "";
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+ container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
+ "padding:0;margin-top:1px;position:absolute";
+ container.appendChild( div );
+
+ jQuery.extend( support, {
+ pixelPosition: function() {
+ computeStyleTests();
+ return pixelPositionVal;
+ },
+ boxSizingReliable: function() {
+ computeStyleTests();
+ return boxSizingReliableVal;
+ },
+ pixelMarginRight: function() {
+ computeStyleTests();
+ return pixelMarginRightVal;
+ },
+ reliableMarginLeft: function() {
+ computeStyleTests();
+ return reliableMarginLeftVal;
+ }
+ } );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+ var width, minWidth, maxWidth, ret,
+ style = elem.style;
+
+ computed = computed || getStyles( elem );
+
+ // Support: IE <=9 only
+ // getPropertyValue is only needed for .css('filter') (#12537)
+ if ( computed ) {
+ ret = computed.getPropertyValue( name ) || computed[ name ];
+
+ if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+ ret = jQuery.style( elem, name );
+ }
+
+ // A tribute to the "awesome hack by Dean Edwards"
+ // Android Browser returns percentage for some values,
+ // but width seems to be reliably pixels.
+ // This is against the CSSOM draft spec:
+ // https://drafts.csswg.org/cssom/#resolved-values
+ if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
+
+ // Remember the original values
+ width = style.width;
+ minWidth = style.minWidth;
+ maxWidth = style.maxWidth;
+
+ // Put in the new values to get a computed value out
+ style.minWidth = style.maxWidth = style.width = ret;
+ ret = computed.width;
+
+ // Revert the changed values
+ style.width = width;
+ style.minWidth = minWidth;
+ style.maxWidth = maxWidth;
+ }
+ }
+
+ return ret !== undefined ?
+
+ // Support: IE <=9 - 11 only
+ // IE returns zIndex value as an integer.
+ ret + "" :
+ ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+ // Define the hook, we'll check on the first run if it's really needed.
+ return {
+ get: function() {
+ if ( conditionFn() ) {
+
+ // Hook not needed (or it's not possible to use it due
+ // to missing dependency), remove it.
+ delete this.get;
+ return;
+ }
+
+ // Hook needed; redefine it so that the support test is not executed again.
+ return ( this.get = hookFn ).apply( this, arguments );
+ }
+ };
+}
+
+
+var
+
+ // Swappable if display is none or starts with table
+ // except "table", "table-cell", or "table-caption"
+ // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+ cssNormalTransform = {
+ letterSpacing: "0",
+ fontWeight: "400"
+ },
+
+ cssPrefixes = [ "Webkit", "Moz", "ms" ],
+ emptyStyle = document.createElement( "div" ).style;
+
+// Return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( name ) {
+
+ // Shortcut for names that are not vendor prefixed
+ if ( name in emptyStyle ) {
+ return name;
+ }
+
+ // Check for vendor prefixed names
+ var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+ i = cssPrefixes.length;
+
+ while ( i-- ) {
+ name = cssPrefixes[ i ] + capName;
+ if ( name in emptyStyle ) {
+ return name;
+ }
+ }
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+
+ // Any relative (+/-) values have already been
+ // normalized at this point
+ var matches = rcssNum.exec( value );
+ return matches ?
+
+ // Guard against undefined "subtract", e.g., when used as in cssHooks
+ Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+ value;
+}
+
+function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
+ var i = extra === ( isBorderBox ? "border" : "content" ) ?
+
+ // If we already have the right measurement, avoid augmentation
+ 4 :
+
+ // Otherwise initialize for horizontal or vertical properties
+ name === "width" ? 1 : 0,
+
+ val = 0;
+
+ for ( ; i < 4; i += 2 ) {
+
+ // Both box models exclude margin, so add it if we want it
+ if ( extra === "margin" ) {
+ val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
+ }
+
+ if ( isBorderBox ) {
+
+ // border-box includes padding, so remove it if we want content
+ if ( extra === "content" ) {
+ val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+ }
+
+ // At this point, extra isn't border nor margin, so remove border
+ if ( extra !== "margin" ) {
+ val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ } else {
+
+ // At this point, extra isn't content, so add padding
+ val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+ // At this point, extra isn't content nor padding, so add border
+ if ( extra !== "padding" ) {
+ val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+ }
+ }
+ }
+
+ return val;
+}
+
+function getWidthOrHeight( elem, name, extra ) {
+
+ // Start with offset property, which is equivalent to the border-box value
+ var val,
+ valueIsBorderBox = true,
+ styles = getStyles( elem ),
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a disconnected node
+ // in IE throws an error.
+ if ( elem.getClientRects().length ) {
+ val = elem.getBoundingClientRect()[ name ];
+ }
+
+ // Some non-html elements return undefined for offsetWidth, so check for null/undefined
+ // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
+ // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
+ if ( val <= 0 || val == null ) {
+
+ // Fall back to computed then uncomputed css if necessary
+ val = curCSS( elem, name, styles );
+ if ( val < 0 || val == null ) {
+ val = elem.style[ name ];
+ }
+
+ // Computed unit is not pixels. Stop here and return.
+ if ( rnumnonpx.test( val ) ) {
+ return val;
+ }
+
+ // Check for style in case a browser which returns unreliable values
+ // for getComputedStyle silently falls back to the reliable elem.style
+ valueIsBorderBox = isBorderBox &&
+ ( support.boxSizingReliable() || val === elem.style[ name ] );
+
+ // Normalize "", auto, and prepare for extra
+ val = parseFloat( val ) || 0;
+ }
+
+ // Use the active box-sizing model to add/subtract irrelevant styles
+ return ( val +
+ augmentWidthOrHeight(
+ elem,
+ name,
+ extra || ( isBorderBox ? "border" : "content" ),
+ valueIsBorderBox,
+ styles
+ )
+ ) + "px";
+}
+
+jQuery.extend( {
+
+ // Add in style property hooks for overriding the default
+ // behavior of getting and setting a style property
+ cssHooks: {
+ opacity: {
+ get: function( elem, computed ) {
+ if ( computed ) {
+
+ // We should always get a number back from opacity
+ var ret = curCSS( elem, "opacity" );
+ return ret === "" ? "1" : ret;
+ }
+ }
+ }
+ },
+
+ // Don't automatically add "px" to these possibly-unitless properties
+ cssNumber: {
+ "animationIterationCount": true,
+ "columnCount": true,
+ "fillOpacity": true,
+ "flexGrow": true,
+ "flexShrink": true,
+ "fontWeight": true,
+ "lineHeight": true,
+ "opacity": true,
+ "order": true,
+ "orphans": true,
+ "widows": true,
+ "zIndex": true,
+ "zoom": true
+ },
+
+ // Add in properties whose names you wish to fix before
+ // setting or getting the value
+ cssProps: {
+ "float": "cssFloat"
+ },
+
+ // Get and set the style property on a DOM Node
+ style: function( elem, name, value, extra ) {
+
+ // Don't set styles on text and comment nodes
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+ return;
+ }
+
+ // Make sure that we're working with the right name
+ var ret, type, hooks,
+ origName = jQuery.camelCase( name ),
+ style = elem.style;
+
+ name = jQuery.cssProps[ origName ] ||
+ ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
+
+ // Gets hook for the prefixed version, then unprefixed version
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // Check if we're setting a value
+ if ( value !== undefined ) {
+ type = typeof value;
+
+ // Convert "+=" or "-=" to relative numbers (#7345)
+ if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+ value = adjustCSS( elem, name, ret );
+
+ // Fixes bug #9237
+ type = "number";
+ }
+
+ // Make sure that null and NaN values aren't set (#7116)
+ if ( value == null || value !== value ) {
+ return;
+ }
+
+ // If a number was passed in, add the unit (except for certain CSS properties)
+ if ( type === "number" ) {
+ value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+ }
+
+ // background-* props affect original clone's values
+ if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+ style[ name ] = "inherit";
+ }
+
+ // If a hook was provided, use that value, otherwise just set the specified value
+ if ( !hooks || !( "set" in hooks ) ||
+ ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+ style[ name ] = value;
+ }
+
+ } else {
+
+ // If a hook was provided get the non-computed value from there
+ if ( hooks && "get" in hooks &&
+ ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+ return ret;
+ }
+
+ // Otherwise just get the value from the style object
+ return style[ name ];
+ }
+ },
+
+ css: function( elem, name, extra, styles ) {
+ var val, num, hooks,
+ origName = jQuery.camelCase( name );
+
+ // Make sure that we're working with the right name
+ name = jQuery.cssProps[ origName ] ||
+ ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
+
+ // Try prefixed name followed by the unprefixed name
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+ // If a hook was provided get the computed value from there
+ if ( hooks && "get" in hooks ) {
+ val = hooks.get( elem, true, extra );
+ }
+
+ // Otherwise, if a way to get the computed value exists, use that
+ if ( val === undefined ) {
+ val = curCSS( elem, name, styles );
+ }
+
+ // Convert "normal" to computed value
+ if ( val === "normal" && name in cssNormalTransform ) {
+ val = cssNormalTransform[ name ];
+ }
+
+ // Make numeric if forced or a qualifier was provided and val looks numeric
+ if ( extra === "" || extra ) {
+ num = parseFloat( val );
+ return extra === true || isFinite( num ) ? num || 0 : val;
+ }
+ return val;
+ }
+} );
+
+jQuery.each( [ "height", "width" ], function( i, name ) {
+ jQuery.cssHooks[ name ] = {
+ get: function( elem, computed, extra ) {
+ if ( computed ) {
+
+ // Certain elements can have dimension info if we invisibly show them
+ // but it must have a current display style that would benefit
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+ // Support: Safari 8+
+ // Table columns in Safari have non-zero offsetWidth & zero
+ // getBoundingClientRect().width unless display is changed.
+ // Support: IE <=11 only
+ // Running getBoundingClientRect on a disconnected node
+ // in IE throws an error.
+ ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+ swap( elem, cssShow, function() {
+ return getWidthOrHeight( elem, name, extra );
+ } ) :
+ getWidthOrHeight( elem, name, extra );
+ }
+ },
+
+ set: function( elem, value, extra ) {
+ var matches,
+ styles = extra && getStyles( elem ),
+ subtract = extra && augmentWidthOrHeight(
+ elem,
+ name,
+ extra,
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+ styles
+ );
+
+ // Convert to pixels if value adjustment is needed
+ if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+ ( matches[ 3 ] || "px" ) !== "px" ) {
+
+ elem.style[ name ] = value;
+ value = jQuery.css( elem, name );
+ }
+
+ return setPositiveNumber( elem, value, subtract );
+ }
+ };
+} );
+
+jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
+ function( elem, computed ) {
+ if ( computed ) {
+ return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
+ elem.getBoundingClientRect().left -
+ swap( elem, { marginLeft: 0 }, function() {
+ return elem.getBoundingClientRect().left;
+ } )
+ ) + "px";
+ }
+ }
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+ margin: "",
+ padding: "",
+ border: "Width"
+}, function( prefix, suffix ) {
+ jQuery.cssHooks[ prefix + suffix ] = {
+ expand: function( value ) {
+ var i = 0,
+ expanded = {},
+
+ // Assumes a single number if not a string
+ parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+ for ( ; i < 4; i++ ) {
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+ }
+
+ return expanded;
+ }
+ };
+
+ if ( !rmargin.test( prefix ) ) {
+ jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+ }
+} );
+
+jQuery.fn.extend( {
+ css: function( name, value ) {
+ return access( this, function( elem, name, value ) {
+ var styles, len,
+ map = {},
+ i = 0;
+
+ if ( jQuery.isArray( name ) ) {
+ styles = getStyles( elem );
+ len = name.length;
+
+ for ( ; i < len; i++ ) {
+ map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+ }
+
+ return map;
+ }
+
+ return value !== undefined ?
+ jQuery.style( elem, name, value ) :
+ jQuery.css( elem, name );
+ }, name, value, arguments.length > 1 );
+ }
+} );
+
+
+function Tween( elem, options, prop, end, easing ) {
+ return new Tween.prototype.init( elem, options, prop, end, easing );
+}
+jQuery.Tween = Tween;
+
+Tween.prototype = {
+ constructor: Tween,
+ init: function( elem, options, prop, end, easing, unit ) {
+ this.elem = elem;
+ this.prop = prop;
+ this.easing = easing || jQuery.easing._default;
+ this.options = options;
+ this.start = this.now = this.cur();
+ this.end = end;
+ this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
+ },
+ cur: function() {
+ var hooks = Tween.propHooks[ this.prop ];
+
+ return hooks && hooks.get ?
+ hooks.get( this ) :
+ Tween.propHooks._default.get( this );
+ },
+ run: function( percent ) {
+ var eased,
+ hooks = Tween.propHooks[ this.prop ];
+
+ if ( this.options.duration ) {
+ this.pos = eased = jQuery.easing[ this.easing ](
+ percent, this.options.duration * percent, 0, 1, this.options.duration
+ );
+ } else {
+ this.pos = eased = percent;
+ }
+ this.now = ( this.end - this.start ) * eased + this.start;
+
+ if ( this.options.step ) {
+ this.options.step.call( this.elem, this.now, this );
+ }
+
+ if ( hooks && hooks.set ) {
+ hooks.set( this );
+ } else {
+ Tween.propHooks._default.set( this );
+ }
+ return this;
+ }
+};
+
+Tween.prototype.init.prototype = Tween.prototype;
+
+Tween.propHooks = {
+ _default: {
+ get: function( tween ) {
+ var result;
+
+ // Use a property on the element directly when it is not a DOM element,
+ // or when there is no matching style property that exists.
+ if ( tween.elem.nodeType !== 1 ||
+ tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
+ return tween.elem[ tween.prop ];
+ }
+
+ // Passing an empty string as a 3rd parameter to .css will automatically
+ // attempt a parseFloat and fallback to a string if the parse fails.
+ // Simple values such as "10px" are parsed to Float;
+ // complex values such as "rotate(1rad)" are returned as-is.
+ result = jQuery.css( tween.elem, tween.prop, "" );
+
+ // Empty strings, null, undefined and "auto" are converted to 0.
+ return !result || result === "auto" ? 0 : result;
+ },
+ set: function( tween ) {
+
+ // Use step hook for back compat.
+ // Use cssHook if its there.
+ // Use .style if available and use plain properties where available.
+ if ( jQuery.fx.step[ tween.prop ] ) {
+ jQuery.fx.step[ tween.prop ]( tween );
+ } else if ( tween.elem.nodeType === 1 &&
+ ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
+ jQuery.cssHooks[ tween.prop ] ) ) {
+ jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
+ } else {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+ }
+};
+
+// Support: IE <=9 only
+// Panic based approach to setting things on disconnected nodes
+Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
+ set: function( tween ) {
+ if ( tween.elem.nodeType && tween.elem.parentNode ) {
+ tween.elem[ tween.prop ] = tween.now;
+ }
+ }
+};
+
+jQuery.easing = {
+ linear: function( p ) {
+ return p;
+ },
+ swing: function( p ) {
+ return 0.5 - Math.cos( p * Math.PI ) / 2;
+ },
+ _default: "swing"
+};
+
+jQuery.fx = Tween.prototype.init;
+
+// Back compat <1.8 extension point
+jQuery.fx.step = {};
+
+
+
+
+var
+ fxNow, timerId,
+ rfxtypes = /^(?:toggle|show|hide)$/,
+ rrun = /queueHooks$/;
+
+function raf() {
+ if ( timerId ) {
+ window.requestAnimationFrame( raf );
+ jQuery.fx.tick();
+ }
+}
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+ window.setTimeout( function() {
+ fxNow = undefined;
+ } );
+ return ( fxNow = jQuery.now() );
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, includeWidth ) {
+ var which,
+ i = 0,
+ attrs = { height: type };
+
+ // If we include width, step value is 1 to do all cssExpand values,
+ // otherwise step value is 2 to skip over Left and Right
+ includeWidth = includeWidth ? 1 : 0;
+ for ( ; i < 4; i += 2 - includeWidth ) {
+ which = cssExpand[ i ];
+ attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
+ }
+
+ if ( includeWidth ) {
+ attrs.opacity = attrs.width = type;
+ }
+
+ return attrs;
+}
+
+function createTween( value, prop, animation ) {
+ var tween,
+ collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
+ index = 0,
+ length = collection.length;
+ for ( ; index < length; index++ ) {
+ if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
+
+ // We're done with this property
+ return tween;
+ }
+ }
+}
+
+function defaultPrefilter( elem, props, opts ) {
+ var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
+ isBox = "width" in props || "height" in props,
+ anim = this,
+ orig = {},
+ style = elem.style,
+ hidden = elem.nodeType && isHiddenWithinTree( elem ),
+ dataShow = dataPriv.get( elem, "fxshow" );
+
+ // Queue-skipping animations hijack the fx hooks
+ if ( !opts.queue ) {
+ hooks = jQuery._queueHooks( elem, "fx" );
+ if ( hooks.unqueued == null ) {
+ hooks.unqueued = 0;
+ oldfire = hooks.empty.fire;
+ hooks.empty.fire = function() {
+ if ( !hooks.unqueued ) {
+ oldfire();
+ }
+ };
+ }
+ hooks.unqueued++;
+
+ anim.always( function() {
+
+ // Ensure the complete handler is called before this completes
+ anim.always( function() {
+ hooks.unqueued--;
+ if ( !jQuery.queue( elem, "fx" ).length ) {
+ hooks.empty.fire();
+ }
+ } );
+ } );
+ }
+
+ // Detect show/hide animations
+ for ( prop in props ) {
+ value = props[ prop ];
+ if ( rfxtypes.test( value ) ) {
+ delete props[ prop ];
+ toggle = toggle || value === "toggle";
+ if ( value === ( hidden ? "hide" : "show" ) ) {
+
+ // Pretend to be hidden if this is a "show" and
+ // there is still data from a stopped show/hide
+ if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
+ hidden = true;
+
+ // Ignore all other no-op show/hide data
+ } else {
+ continue;
+ }
+ }
+ orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
+ }
+ }
+
+ // Bail out if this is a no-op like .hide().hide()
+ propTween = !jQuery.isEmptyObject( props );
+ if ( !propTween && jQuery.isEmptyObject( orig ) ) {
+ return;
+ }
+
+ // Restrict "overflow" and "display" styles during box animations
+ if ( isBox && elem.nodeType === 1 ) {
+
+ // Support: IE <=9 - 11, Edge 12 - 13
+ // Record all 3 overflow attributes because IE does not infer the shorthand
+ // from identically-valued overflowX and overflowY
+ opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
+
+ // Identify a display type, preferring old show/hide data over the CSS cascade
+ restoreDisplay = dataShow && dataShow.display;
+ if ( restoreDisplay == null ) {
+ restoreDisplay = dataPriv.get( elem, "display" );
+ }
+ display = jQuery.css( elem, "display" );
+ if ( display === "none" ) {
+ if ( restoreDisplay ) {
+ display = restoreDisplay;
+ } else {
+
+ // Get nonempty value(s) by temporarily forcing visibility
+ showHide( [ elem ], true );
+ restoreDisplay = elem.style.display || restoreDisplay;
+ display = jQuery.css( elem, "display" );
+ showHide( [ elem ] );
+ }
+ }
+
+ // Animate inline elements as inline-block
+ if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
+ if ( jQuery.css( elem, "float" ) === "none" ) {
+
+ // Restore the original display value at the end of pure show/hide animations
+ if ( !propTween ) {
+ anim.done( function() {
+ style.display = restoreDisplay;
+ } );
+ if ( restoreDisplay == null ) {
+ display = style.display;
+ restoreDisplay = display === "none" ? "" : display;
+ }
+ }
+ style.display = "inline-block";
+ }
+ }
+ }
+
+ if ( opts.overflow ) {
+ style.overflow = "hidden";
+ anim.always( function() {
+ style.overflow = opts.overflow[ 0 ];
+ style.overflowX = opts.overflow[ 1 ];
+ style.overflowY = opts.overflow[ 2 ];
+ } );
+ }
+
+ // Implement show/hide animations
+ propTween = false;
+ for ( prop in orig ) {
+
+ // General show/hide setup for this element animation
+ if ( !propTween ) {
+ if ( dataShow ) {
+ if ( "hidden" in dataShow ) {
+ hidden = dataShow.hidden;
+ }
+ } else {
+ dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
+ }
+
+ // Store hidden/visible for toggle so `.stop().toggle()` "reverses"
+ if ( toggle ) {
+ dataShow.hidden = !hidden;
+ }
+
+ // Show elements before animating them
+ if ( hidden ) {
+ showHide( [ elem ], true );
+ }
+
+ /* eslint-disable no-loop-func */
+
+ anim.done( function() {
+
+ /* eslint-enable no-loop-func */
+
+ // The final step of a "hide" animation is actually hiding the element
+ if ( !hidden ) {
+ showHide( [ elem ] );
+ }
+ dataPriv.remove( elem, "fxshow" );
+ for ( prop in orig ) {
+ jQuery.style( elem, prop, orig[ prop ] );
+ }
+ } );
+ }
+
+ // Per-property setup
+ propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
+ if ( !( prop in dataShow ) ) {
+ dataShow[ prop ] = propTween.start;
+ if ( hidden ) {
+ propTween.end = propTween.start;
+ propTween.start = 0;
+ }
+ }
+ }
+}
+
+function propFilter( props, specialEasing ) {
+ var index, name, easing, value, hooks;
+
+ // camelCase, specialEasing and expand cssHook pass
+ for ( index in props ) {
+ name = jQuery.camelCase( index );
+ easing = specialEasing[ name ];
+ value = props[ index ];
+ if ( jQuery.isArray( value ) ) {
+ easing = value[ 1 ];
+ value = props[ index ] = value[ 0 ];
+ }
+
+ if ( index !== name ) {
+ props[ name ] = value;
+ delete props[ index ];
+ }
+
+ hooks = jQuery.cssHooks[ name ];
+ if ( hooks && "expand" in hooks ) {
+ value = hooks.expand( value );
+ delete props[ name ];
+
+ // Not quite $.extend, this won't overwrite existing keys.
+ // Reusing 'index' because we have the correct "name"
+ for ( index in value ) {
+ if ( !( index in props ) ) {
+ props[ index ] = value[ index ];
+ specialEasing[ index ] = easing;
+ }
+ }
+ } else {
+ specialEasing[ name ] = easing;
+ }
+ }
+}
+
+function Animation( elem, properties, options ) {
+ var result,
+ stopped,
+ index = 0,
+ length = Animation.prefilters.length,
+ deferred = jQuery.Deferred().always( function() {
+
+ // Don't match elem in the :animated selector
+ delete tick.elem;
+ } ),
+ tick = function() {
+ if ( stopped ) {
+ return false;
+ }
+ var currentTime = fxNow || createFxNow(),
+ remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
+
+ // Support: Android 2.3 only
+ // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+ temp = remaining / animation.duration || 0,
+ percent = 1 - temp,
+ index = 0,
+ length = animation.tweens.length;
+
+ for ( ; index < length; index++ ) {
+ animation.tweens[ index ].run( percent );
+ }
+
+ deferred.notifyWith( elem, [ animation, percent, remaining ] );
+
+ if ( percent < 1 && length ) {
+ return remaining;
+ } else {
+ deferred.resolveWith( elem, [ animation ] );
+ return false;
+ }
+ },
+ animation = deferred.promise( {
+ elem: elem,
+ props: jQuery.extend( {}, properties ),
+ opts: jQuery.extend( true, {
+ specialEasing: {},
+ easing: jQuery.easing._default
+ }, options ),
+ originalProperties: properties,
+ originalOptions: options,
+ startTime: fxNow || createFxNow(),
+ duration: options.duration,
+ tweens: [],
+ createTween: function( prop, end ) {
+ var tween = jQuery.Tween( elem, animation.opts, prop, end,
+ animation.opts.specialEasing[ prop ] || animation.opts.easing );
+ animation.tweens.push( tween );
+ return tween;
+ },
+ stop: function( gotoEnd ) {
+ var index = 0,
+
+ // If we are going to the end, we want to run all the tweens
+ // otherwise we skip this part
+ length = gotoEnd ? animation.tweens.length : 0;
+ if ( stopped ) {
+ return this;
+ }
+ stopped = true;
+ for ( ; index < length; index++ ) {
+ animation.tweens[ index ].run( 1 );
+ }
+
+ // Resolve when we played the last frame; otherwise, reject
+ if ( gotoEnd ) {
+ deferred.notifyWith( elem, [ animation, 1, 0 ] );
+ deferred.resolveWith( elem, [ animation, gotoEnd ] );
+ } else {
+ deferred.rejectWith( elem, [ animation, gotoEnd ] );
+ }
+ return this;
+ }
+ } ),
+ props = animation.props;
+
+ propFilter( props, animation.opts.specialEasing );
+
+ for ( ; index < length; index++ ) {
+ result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
+ if ( result ) {
+ if ( jQuery.isFunction( result.stop ) ) {
+ jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
+ jQuery.proxy( result.stop, result );
+ }
+ return result;
+ }
+ }
+
+ jQuery.map( props, createTween, animation );
+
+ if ( jQuery.isFunction( animation.opts.start ) ) {
+ animation.opts.start.call( elem, animation );
+ }
+
+ jQuery.fx.timer(
+ jQuery.extend( tick, {
+ elem: elem,
+ anim: animation,
+ queue: animation.opts.queue
+ } )
+ );
+
+ // attach callbacks from options
+ return animation.progress( animation.opts.progress )
+ .done( animation.opts.done, animation.opts.complete )
+ .fail( animation.opts.fail )
+ .always( animation.opts.always );
+}
+
+jQuery.Animation = jQuery.extend( Animation, {
+
+ tweeners: {
+ "*": [ function( prop, value ) {
+ var tween = this.createTween( prop, value );
+ adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
+ return tween;
+ } ]
+ },
+
+ tweener: function( props, callback ) {
+ if ( jQuery.isFunction( props ) ) {
+ callback = props;
+ props = [ "*" ];
+ } else {
+ props = props.match( rnotwhite );
+ }
+
+ var prop,
+ index = 0,
+ length = props.length;
+
+ for ( ; index < length; index++ ) {
+ prop = props[ index ];
+ Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
+ Animation.tweeners[ prop ].unshift( callback );
+ }
+ },
+
+ prefilters: [ defaultPrefilter ],
+
+ prefilter: function( callback, prepend ) {
+ if ( prepend ) {
+ Animation.prefilters.unshift( callback );
+ } else {
+ Animation.prefilters.push( callback );
+ }
+ }
+} );
+
+jQuery.speed = function( speed, easing, fn ) {
+ var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+ complete: fn || !fn && easing ||
+ jQuery.isFunction( speed ) && speed,
+ duration: speed,
+ easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
+ };
+
+ // Go to the end state if fx are off or if document is hidden
+ if ( jQuery.fx.off || document.hidden ) {
+ opt.duration = 0;
+
+ } else {
+ opt.duration = typeof opt.duration === "number" ?
+ opt.duration : opt.duration in jQuery.fx.speeds ?
+ jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
+ }
+
+ // Normalize opt.queue - true/undefined/null -> "fx"
+ if ( opt.queue == null || opt.queue === true ) {
+ opt.queue = "fx";
+ }
+
+ // Queueing
+ opt.old = opt.complete;
+
+ opt.complete = function() {
+ if ( jQuery.isFunction( opt.old ) ) {
+ opt.old.call( this );
+ }
+
+ if ( opt.queue ) {
+ jQuery.dequeue( this, opt.queue );
+ }
+ };
+
+ return opt;
+};
+
+jQuery.fn.extend( {
+ fadeTo: function( speed, to, easing, callback ) {
+
+ // Show any hidden elements after setting opacity to 0
+ return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
+
+ // Animate to the value specified
+ .end().animate( { opacity: to }, speed, easing, callback );
+ },
+ animate: function( prop, speed, easing, callback ) {
+ var empty = jQuery.isEmptyObject( prop ),
+ optall = jQuery.speed( speed, easing, callback ),
+ doAnimation = function() {
+
+ // Operate on a copy of prop so per-property easing won't be lost
+ var anim = Animation( this, jQuery.extend( {}, prop ), optall );
+
+ // Empty animations, or finishing resolves immediately
+ if ( empty || dataPriv.get( this, "finish" ) ) {
+ anim.stop( true );
+ }
+ };
+ doAnimation.finish = doAnimation;
+
+ return empty || optall.queue === false ?
+ this.each( doAnimation ) :
+ this.queue( optall.queue, doAnimation );
+ },
+ stop: function( type, clearQueue, gotoEnd ) {
+ var stopQueue = function( hooks ) {
+ var stop = hooks.stop;
+ delete hooks.stop;
+ stop( gotoEnd );
+ };
+
+ if ( typeof type !== "string" ) {
+ gotoEnd = clearQueue;
+ clearQueue = type;
+ type = undefined;
+ }
+ if ( clearQueue && type !== false ) {
+ this.queue( type || "fx", [] );
+ }
+
+ return this.each( function() {
+ var dequeue = true,
+ index = type != null && type + "queueHooks",
+ timers = jQuery.timers,
+ data = dataPriv.get( this );
+
+ if ( index ) {
+ if ( data[ index ] && data[ index ].stop ) {
+ stopQueue( data[ index ] );
+ }
+ } else {
+ for ( index in data ) {
+ if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
+ stopQueue( data[ index ] );
+ }
+ }
+ }
+
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this &&
+ ( type == null || timers[ index ].queue === type ) ) {
+
+ timers[ index ].anim.stop( gotoEnd );
+ dequeue = false;
+ timers.splice( index, 1 );
+ }
+ }
+
+ // Start the next in the queue if the last step wasn't forced.
+ // Timers currently will call their complete callbacks, which
+ // will dequeue but only if they were gotoEnd.
+ if ( dequeue || !gotoEnd ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ finish: function( type ) {
+ if ( type !== false ) {
+ type = type || "fx";
+ }
+ return this.each( function() {
+ var index,
+ data = dataPriv.get( this ),
+ queue = data[ type + "queue" ],
+ hooks = data[ type + "queueHooks" ],
+ timers = jQuery.timers,
+ length = queue ? queue.length : 0;
+
+ // Enable finishing flag on private data
+ data.finish = true;
+
+ // Empty the queue first
+ jQuery.queue( this, type, [] );
+
+ if ( hooks && hooks.stop ) {
+ hooks.stop.call( this, true );
+ }
+
+ // Look for any active animations, and finish them
+ for ( index = timers.length; index--; ) {
+ if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
+ timers[ index ].anim.stop( true );
+ timers.splice( index, 1 );
+ }
+ }
+
+ // Look for any animations in the old queue and finish them
+ for ( index = 0; index < length; index++ ) {
+ if ( queue[ index ] && queue[ index ].finish ) {
+ queue[ index ].finish.call( this );
+ }
+ }
+
+ // Turn off finishing flag
+ delete data.finish;
+ } );
+ }
+} );
+
+jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
+ var cssFn = jQuery.fn[ name ];
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return speed == null || typeof speed === "boolean" ?
+ cssFn.apply( this, arguments ) :
+ this.animate( genFx( name, true ), speed, easing, callback );
+ };
+} );
+
+// Generate shortcuts for custom animations
+jQuery.each( {
+ slideDown: genFx( "show" ),
+ slideUp: genFx( "hide" ),
+ slideToggle: genFx( "toggle" ),
+ fadeIn: { opacity: "show" },
+ fadeOut: { opacity: "hide" },
+ fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+ jQuery.fn[ name ] = function( speed, easing, callback ) {
+ return this.animate( props, speed, easing, callback );
+ };
+} );
+
+jQuery.timers = [];
+jQuery.fx.tick = function() {
+ var timer,
+ i = 0,
+ timers = jQuery.timers;
+
+ fxNow = jQuery.now();
+
+ for ( ; i < timers.length; i++ ) {
+ timer = timers[ i ];
+
+ // Checks the timer has not already been removed
+ if ( !timer() && timers[ i ] === timer ) {
+ timers.splice( i--, 1 );
+ }
+ }
+
+ if ( !timers.length ) {
+ jQuery.fx.stop();
+ }
+ fxNow = undefined;
+};
+
+jQuery.fx.timer = function( timer ) {
+ jQuery.timers.push( timer );
+ if ( timer() ) {
+ jQuery.fx.start();
+ } else {
+ jQuery.timers.pop();
+ }
+};
+
+jQuery.fx.interval = 13;
+jQuery.fx.start = function() {
+ if ( !timerId ) {
+ timerId = window.requestAnimationFrame ?
+ window.requestAnimationFrame( raf ) :
+ window.setInterval( jQuery.fx.tick, jQuery.fx.interval );
+ }
+};
+
+jQuery.fx.stop = function() {
+ if ( window.cancelAnimationFrame ) {
+ window.cancelAnimationFrame( timerId );
+ } else {
+ window.clearInterval( timerId );
+ }
+
+ timerId = null;
+};
+
+jQuery.fx.speeds = {
+ slow: 600,
+ fast: 200,
+
+ // Default speed
+ _default: 400
+};
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+ time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+ type = type || "fx";
+
+ return this.queue( type, function( next, hooks ) {
+ var timeout = window.setTimeout( next, time );
+ hooks.stop = function() {
+ window.clearTimeout( timeout );
+ };
+ } );
+};
+
+
+( function() {
+ var input = document.createElement( "input" ),
+ select = document.createElement( "select" ),
+ opt = select.appendChild( document.createElement( "option" ) );
+
+ input.type = "checkbox";
+
+ // Support: Android <=4.3 only
+ // Default value for a checkbox should be "on"
+ support.checkOn = input.value !== "";
+
+ // Support: IE <=11 only
+ // Must access selectedIndex to make default options select
+ support.optSelected = opt.selected;
+
+ // Support: IE <=11 only
+ // An input loses its value after becoming a radio
+ input = document.createElement( "input" );
+ input.value = "t";
+ input.type = "radio";
+ support.radioValue = input.value === "t";
+} )();
+
+
+var boolHook,
+ attrHandle = jQuery.expr.attrHandle;
+
+jQuery.fn.extend( {
+ attr: function( name, value ) {
+ return access( this, jQuery.attr, name, value, arguments.length > 1 );
+ },
+
+ removeAttr: function( name ) {
+ return this.each( function() {
+ jQuery.removeAttr( this, name );
+ } );
+ }
+} );
+
+jQuery.extend( {
+ attr: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set attributes on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if ( typeof elem.getAttribute === "undefined" ) {
+ return jQuery.prop( elem, name, value );
+ }
+
+ // Attribute hooks are determined by the lowercase version
+ // Grab necessary hook if one is defined
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+ hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+ }
+
+ if ( value !== undefined ) {
+ if ( value === null ) {
+ jQuery.removeAttr( elem, name );
+ return;
+ }
+
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ elem.setAttribute( name, value + "" );
+ return value;
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ ret = jQuery.find.attr( elem, name );
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ? undefined : ret;
+ },
+
+ attrHooks: {
+ type: {
+ set: function( elem, value ) {
+ if ( !support.radioValue && value === "radio" &&
+ jQuery.nodeName( elem, "input" ) ) {
+ var val = elem.value;
+ elem.setAttribute( "type", value );
+ if ( val ) {
+ elem.value = val;
+ }
+ return value;
+ }
+ }
+ }
+ },
+
+ removeAttr: function( elem, value ) {
+ var name,
+ i = 0,
+ attrNames = value && value.match( rnotwhite );
+
+ if ( attrNames && elem.nodeType === 1 ) {
+ while ( ( name = attrNames[ i++ ] ) ) {
+ elem.removeAttribute( name );
+ }
+ }
+ }
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+ set: function( elem, value, name ) {
+ if ( value === false ) {
+
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else {
+ elem.setAttribute( name, name );
+ }
+ return name;
+ }
+};
+
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+ var getter = attrHandle[ name ] || jQuery.find.attr;
+
+ attrHandle[ name ] = function( elem, name, isXML ) {
+ var ret, handle,
+ lowercaseName = name.toLowerCase();
+
+ if ( !isXML ) {
+
+ // Avoid an infinite loop by temporarily removing this function from the getter
+ handle = attrHandle[ lowercaseName ];
+ attrHandle[ lowercaseName ] = ret;
+ ret = getter( elem, name, isXML ) != null ?
+ lowercaseName :
+ null;
+ attrHandle[ lowercaseName ] = handle;
+ }
+ return ret;
+ };
+} );
+
+
+
+
+var rfocusable = /^(?:input|select|textarea|button)$/i,
+ rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend( {
+ prop: function( name, value ) {
+ return access( this, jQuery.prop, name, value, arguments.length > 1 );
+ },
+
+ removeProp: function( name ) {
+ return this.each( function() {
+ delete this[ jQuery.propFix[ name ] || name ];
+ } );
+ }
+} );
+
+jQuery.extend( {
+ prop: function( elem, name, value ) {
+ var ret, hooks,
+ nType = elem.nodeType;
+
+ // Don't get/set properties on text, comment and attribute nodes
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+ // Fix name and attach hooks
+ name = jQuery.propFix[ name ] || name;
+ hooks = jQuery.propHooks[ name ];
+ }
+
+ if ( value !== undefined ) {
+ if ( hooks && "set" in hooks &&
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+ return ret;
+ }
+
+ return ( elem[ name ] = value );
+ }
+
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+ return ret;
+ }
+
+ return elem[ name ];
+ },
+
+ propHooks: {
+ tabIndex: {
+ get: function( elem ) {
+
+ // Support: IE <=9 - 11 only
+ // elem.tabIndex doesn't always return the
+ // correct value when it hasn't been explicitly set
+ // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+ // Use proper attribute retrieval(#12072)
+ var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+ return tabindex ?
+ parseInt( tabindex, 10 ) :
+ rfocusable.test( elem.nodeName ) ||
+ rclickable.test( elem.nodeName ) && elem.href ?
+ 0 :
+ -1;
+ }
+ }
+ },
+
+ propFix: {
+ "for": "htmlFor",
+ "class": "className"
+ }
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+if ( !support.optSelected ) {
+ jQuery.propHooks.selected = {
+ get: function( elem ) {
+ var parent = elem.parentNode;
+ if ( parent && parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ return null;
+ },
+ set: function( elem ) {
+ var parent = elem.parentNode;
+ if ( parent ) {
+ parent.selectedIndex;
+
+ if ( parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ }
+ }
+ };
+}
+
+jQuery.each( [
+ "tabIndex",
+ "readOnly",
+ "maxLength",
+ "cellSpacing",
+ "cellPadding",
+ "rowSpan",
+ "colSpan",
+ "useMap",
+ "frameBorder",
+ "contentEditable"
+], function() {
+ jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+var rclass = /[\t\r\n\f]/g;
+
+function getClass( elem ) {
+ return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+jQuery.fn.extend( {
+ addClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( typeof value === "string" && value ) {
+ classes = value.match( rnotwhite ) || [];
+
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+ cur = elem.nodeType === 1 &&
+ ( " " + curValue + " " ).replace( rclass, " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+ if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+ cur += clazz + " ";
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = jQuery.trim( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ removeClass: function( value ) {
+ var classes, elem, cur, curValue, clazz, j, finalValue,
+ i = 0;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( j ) {
+ jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
+ } );
+ }
+
+ if ( !arguments.length ) {
+ return this.attr( "class", "" );
+ }
+
+ if ( typeof value === "string" && value ) {
+ classes = value.match( rnotwhite ) || [];
+
+ while ( ( elem = this[ i++ ] ) ) {
+ curValue = getClass( elem );
+
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 &&
+ ( " " + curValue + " " ).replace( rclass, " " );
+
+ if ( cur ) {
+ j = 0;
+ while ( ( clazz = classes[ j++ ] ) ) {
+
+ // Remove *all* instances
+ while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+ cur = cur.replace( " " + clazz + " ", " " );
+ }
+ }
+
+ // Only assign if different to avoid unneeded rendering.
+ finalValue = jQuery.trim( cur );
+ if ( curValue !== finalValue ) {
+ elem.setAttribute( "class", finalValue );
+ }
+ }
+ }
+ }
+
+ return this;
+ },
+
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value;
+
+ if ( typeof stateVal === "boolean" && type === "string" ) {
+ return stateVal ? this.addClass( value ) : this.removeClass( value );
+ }
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).toggleClass(
+ value.call( this, i, getClass( this ), stateVal ),
+ stateVal
+ );
+ } );
+ }
+
+ return this.each( function() {
+ var className, i, self, classNames;
+
+ if ( type === "string" ) {
+
+ // Toggle individual class names
+ i = 0;
+ self = jQuery( this );
+ classNames = value.match( rnotwhite ) || [];
+
+ while ( ( className = classNames[ i++ ] ) ) {
+
+ // Check each className given, space separated list
+ if ( self.hasClass( className ) ) {
+ self.removeClass( className );
+ } else {
+ self.addClass( className );
+ }
+ }
+
+ // Toggle whole class name
+ } else if ( value === undefined || type === "boolean" ) {
+ className = getClass( this );
+ if ( className ) {
+
+ // Store className if set
+ dataPriv.set( this, "__className__", className );
+ }
+
+ // If the element has a class name or if we're passed `false`,
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ if ( this.setAttribute ) {
+ this.setAttribute( "class",
+ className || value === false ?
+ "" :
+ dataPriv.get( this, "__className__" ) || ""
+ );
+ }
+ }
+ } );
+ },
+
+ hasClass: function( selector ) {
+ var className, elem,
+ i = 0;
+
+ className = " " + selector + " ";
+ while ( ( elem = this[ i++ ] ) ) {
+ if ( elem.nodeType === 1 &&
+ ( " " + getClass( elem ) + " " ).replace( rclass, " " )
+ .indexOf( className ) > -1
+ ) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+} );
+
+
+
+
+var rreturn = /\r/g,
+ rspaces = /[\x20\t\r\n\f]+/g;
+
+jQuery.fn.extend( {
+ val: function( value ) {
+ var hooks, ret, isFunction,
+ elem = this[ 0 ];
+
+ if ( !arguments.length ) {
+ if ( elem ) {
+ hooks = jQuery.valHooks[ elem.type ] ||
+ jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+ if ( hooks &&
+ "get" in hooks &&
+ ( ret = hooks.get( elem, "value" ) ) !== undefined
+ ) {
+ return ret;
+ }
+
+ ret = elem.value;
+
+ return typeof ret === "string" ?
+
+ // Handle most common string cases
+ ret.replace( rreturn, "" ) :
+
+ // Handle cases where value is null/undef or number
+ ret == null ? "" : ret;
+ }
+
+ return;
+ }
+
+ isFunction = jQuery.isFunction( value );
+
+ return this.each( function( i ) {
+ var val;
+
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
+
+ if ( isFunction ) {
+ val = value.call( this, i, jQuery( this ).val() );
+ } else {
+ val = value;
+ }
+
+ // Treat null/undefined as ""; convert numbers to string
+ if ( val == null ) {
+ val = "";
+
+ } else if ( typeof val === "number" ) {
+ val += "";
+
+ } else if ( jQuery.isArray( val ) ) {
+ val = jQuery.map( val, function( value ) {
+ return value == null ? "" : value + "";
+ } );
+ }
+
+ hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+ // If set returns undefined, fall back to normal setting
+ if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+ this.value = val;
+ }
+ } );
+ }
+} );
+
+jQuery.extend( {
+ valHooks: {
+ option: {
+ get: function( elem ) {
+
+ var val = jQuery.find.attr( elem, "value" );
+ return val != null ?
+ val :
+
+ // Support: IE <=10 - 11 only
+ // option.text throws exceptions (#14686, #14858)
+ // Strip and collapse whitespace
+ // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+ jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " );
+ }
+ },
+ select: {
+ get: function( elem ) {
+ var value, option,
+ options = elem.options,
+ index = elem.selectedIndex,
+ one = elem.type === "select-one",
+ values = one ? null : [],
+ max = one ? index + 1 : options.length,
+ i = index < 0 ?
+ max :
+ one ? index : 0;
+
+ // Loop through all the selected options
+ for ( ; i < max; i++ ) {
+ option = options[ i ];
+
+ // Support: IE <=9 only
+ // IE8-9 doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+
+ // Don't return options that are disabled or in a disabled optgroup
+ !option.disabled &&
+ ( !option.parentNode.disabled ||
+ !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
+
+ // Get the specific value for the option
+ value = jQuery( option ).val();
+
+ // We don't need an array for one selects
+ if ( one ) {
+ return value;
+ }
+
+ // Multi-Selects return an array
+ values.push( value );
+ }
+ }
+
+ return values;
+ },
+
+ set: function( elem, value ) {
+ var optionSet, option,
+ options = elem.options,
+ values = jQuery.makeArray( value ),
+ i = options.length;
+
+ while ( i-- ) {
+ option = options[ i ];
+
+ /* eslint-disable no-cond-assign */
+
+ if ( option.selected =
+ jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+ ) {
+ optionSet = true;
+ }
+
+ /* eslint-enable no-cond-assign */
+ }
+
+ // Force browsers to behave consistently when non-matching value is set
+ if ( !optionSet ) {
+ elem.selectedIndex = -1;
+ }
+ return values;
+ }
+ }
+ }
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = {
+ set: function( elem, value ) {
+ if ( jQuery.isArray( value ) ) {
+ return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+ }
+ }
+ };
+ if ( !support.checkOn ) {
+ jQuery.valHooks[ this ].get = function( elem ) {
+ return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+ };
+ }
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;
+
+jQuery.extend( jQuery.event, {
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+
+ var i, cur, tmp, bubbleType, ontype, handle, special,
+ eventPath = [ elem || document ],
+ type = hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
+
+ cur = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // focus/blur morphs to focusin/out; ensure we're not firing them right now
+ if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+ return;
+ }
+
+ if ( type.indexOf( "." ) > -1 ) {
+
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split( "." );
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join( "." );
+ event.rnamespace = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+ null;
+
+ // Clean up the event in case it is being reused
+ event.result = undefined;
+ if ( !event.target ) {
+ event.target = elem;
+ }
+
+ // Clone any incoming data and prepend the event, creating the handler arg list
+ data = data == null ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+ return;
+ }
+
+ // Determine event propagation path in advance, per W3C events spec (#9951)
+ // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+ if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === ( elem.ownerDocument || document ) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+ dataPriv.get( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native handler
+ handle = ontype && cur[ ontype ];
+ if ( handle && handle.apply && acceptData( cur ) ) {
+ event.result = handle.apply( cur, data );
+ if ( event.result === false ) {
+ event.preventDefault();
+ }
+ }
+ }
+ event.type = type;
+
+ // If nobody prevented the default action, do it now
+ if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+ if ( ( !special._default ||
+ special._default.apply( eventPath.pop(), data ) === false ) &&
+ acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name as the event.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ elem[ ontype ] = null;
+ }
+
+ // Prevent re-triggering of the same event, since we already bubbled it above
+ jQuery.event.triggered = type;
+ elem[ type ]();
+ jQuery.event.triggered = undefined;
+
+ if ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ // Piggyback on a donor event to simulate a different one
+ // Used only for `focus(in | out)` events
+ simulate: function( type, elem, event ) {
+ var e = jQuery.extend(
+ new jQuery.Event(),
+ event,
+ {
+ type: type,
+ isSimulated: true
+ }
+ );
+
+ jQuery.event.trigger( e, null, elem );
+ }
+
+} );
+
+jQuery.fn.extend( {
+
+ trigger: function( type, data ) {
+ return this.each( function() {
+ jQuery.event.trigger( type, data, this );
+ } );
+ },
+ triggerHandler: function( type, data ) {
+ var elem = this[ 0 ];
+ if ( elem ) {
+ return jQuery.event.trigger( type, data, elem, true );
+ }
+ }
+} );
+
+
+jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
+ "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+ "change select submit keydown keypress keyup contextmenu" ).split( " " ),
+ function( i, name ) {
+
+ // Handle event binding
+ jQuery.fn[ name ] = function( data, fn ) {
+ return arguments.length > 0 ?
+ this.on( name, null, data, fn ) :
+ this.trigger( name );
+ };
+} );
+
+jQuery.fn.extend( {
+ hover: function( fnOver, fnOut ) {
+ return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+ }
+} );
+
+
+
+
+support.focusin = "onfocusin" in window;
+
+
+// Support: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+ // Attach a single capturing handler on the document while someone wants focusin/focusout
+ var handler = function( event ) {
+ jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+ };
+
+ jQuery.event.special[ fix ] = {
+ setup: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix );
+
+ if ( !attaches ) {
+ doc.addEventListener( orig, handler, true );
+ }
+ dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+ },
+ teardown: function() {
+ var doc = this.ownerDocument || this,
+ attaches = dataPriv.access( doc, fix ) - 1;
+
+ if ( !attaches ) {
+ doc.removeEventListener( orig, handler, true );
+ dataPriv.remove( doc, fix );
+
+ } else {
+ dataPriv.access( doc, fix, attaches );
+ }
+ }
+ };
+ } );
+}
+var location = window.location;
+
+var nonce = jQuery.now();
+
+var rquery = ( /\?/ );
+
+
+
+// Cross-browser xml parsing
+jQuery.parseXML = function( data ) {
+ var xml;
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+
+ // Support: IE 9 - 11 only
+ // IE throws on parseFromString with invalid input.
+ try {
+ xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
+ } catch ( e ) {
+ xml = undefined;
+ }
+
+ if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
+ jQuery.error( "Invalid XML: " + data );
+ }
+ return xml;
+};
+
+
+var
+ rbracket = /\[\]$/,
+ rCRLF = /\r?\n/g,
+ rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+ rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+ var name;
+
+ if ( jQuery.isArray( obj ) ) {
+
+ // Serialize array item.
+ jQuery.each( obj, function( i, v ) {
+ if ( traditional || rbracket.test( prefix ) ) {
+
+ // Treat each array item as a scalar.
+ add( prefix, v );
+
+ } else {
+
+ // Item is non-scalar (array or object), encode its numeric index.
+ buildParams(
+ prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+ v,
+ traditional,
+ add
+ );
+ }
+ } );
+
+ } else if ( !traditional && jQuery.type( obj ) === "object" ) {
+
+ // Serialize object item.
+ for ( name in obj ) {
+ buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+ }
+
+ } else {
+
+ // Serialize scalar item.
+ add( prefix, obj );
+ }
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+ var prefix,
+ s = [],
+ add = function( key, valueOrFunction ) {
+
+ // If value is a function, invoke it and use its return value
+ var value = jQuery.isFunction( valueOrFunction ) ?
+ valueOrFunction() :
+ valueOrFunction;
+
+ s[ s.length ] = encodeURIComponent( key ) + "=" +
+ encodeURIComponent( value == null ? "" : value );
+ };
+
+ // If an array was passed in, assume that it is an array of form elements.
+ if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+ // Serialize the form elements
+ jQuery.each( a, function() {
+ add( this.name, this.value );
+ } );
+
+ } else {
+
+ // If traditional, encode the "old" way (the way 1.3.2 or older
+ // did it), otherwise encode params recursively.
+ for ( prefix in a ) {
+ buildParams( prefix, a[ prefix ], traditional, add );
+ }
+ }
+
+ // Return the resulting serialization
+ return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+ serialize: function() {
+ return jQuery.param( this.serializeArray() );
+ },
+ serializeArray: function() {
+ return this.map( function() {
+
+ // Can add propHook for "elements" to filter or add form elements
+ var elements = jQuery.prop( this, "elements" );
+ return elements ? jQuery.makeArray( elements ) : this;
+ } )
+ .filter( function() {
+ var type = this.type;
+
+ // Use .is( ":disabled" ) so that fieldset[disabled] works
+ return this.name && !jQuery( this ).is( ":disabled" ) &&
+ rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+ ( this.checked || !rcheckableType.test( type ) );
+ } )
+ .map( function( i, elem ) {
+ var val = jQuery( this ).val();
+
+ return val == null ?
+ null :
+ jQuery.isArray( val ) ?
+ jQuery.map( val, function( val ) {
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } ) :
+ { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+ } ).get();
+ }
+} );
+
+
+var
+ r20 = /%20/g,
+ rhash = /#.*$/,
+ rts = /([?&])_=[^&]*/,
+ rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
+
+ // #7653, #8125, #8152: local protocol detection
+ rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
+ rnoContent = /^(?:GET|HEAD)$/,
+ rprotocol = /^\/\//,
+
+ /* Prefilters
+ * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+ * 2) These are called:
+ * - BEFORE asking for a transport
+ * - AFTER param serialization (s.data is a string if s.processData is true)
+ * 3) key is the dataType
+ * 4) the catchall symbol "*" can be used
+ * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+ */
+ prefilters = {},
+
+ /* Transports bindings
+ * 1) key is the dataType
+ * 2) the catchall symbol "*" can be used
+ * 3) selection will start with transport dataType and THEN go to "*" if needed
+ */
+ transports = {},
+
+ // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+ allTypes = "*/".concat( "*" ),
+
+ // Anchor tag for parsing the document origin
+ originAnchor = document.createElement( "a" );
+ originAnchor.href = location.href;
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+ // dataTypeExpression is optional and defaults to "*"
+ return function( dataTypeExpression, func ) {
+
+ if ( typeof dataTypeExpression !== "string" ) {
+ func = dataTypeExpression;
+ dataTypeExpression = "*";
+ }
+
+ var dataType,
+ i = 0,
+ dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];
+
+ if ( jQuery.isFunction( func ) ) {
+
+ // For each dataType in the dataTypeExpression
+ while ( ( dataType = dataTypes[ i++ ] ) ) {
+
+ // Prepend if requested
+ if ( dataType[ 0 ] === "+" ) {
+ dataType = dataType.slice( 1 ) || "*";
+ ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
+
+ // Otherwise append
+ } else {
+ ( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
+ }
+ }
+ }
+ };
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
+
+ var inspected = {},
+ seekingTransport = ( structure === transports );
+
+ function inspect( dataType ) {
+ var selected;
+ inspected[ dataType ] = true;
+ jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
+ var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
+ if ( typeof dataTypeOrTransport === "string" &&
+ !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
+
+ options.dataTypes.unshift( dataTypeOrTransport );
+ inspect( dataTypeOrTransport );
+ return false;
+ } else if ( seekingTransport ) {
+ return !( selected = dataTypeOrTransport );
+ }
+ } );
+ return selected;
+ }
+
+ return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+ var key, deep,
+ flatOptions = jQuery.ajaxSettings.flatOptions || {};
+
+ for ( key in src ) {
+ if ( src[ key ] !== undefined ) {
+ ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+ }
+ }
+ if ( deep ) {
+ jQuery.extend( true, target, deep );
+ }
+
+ return target;
+}
+
+/* Handles responses to an ajax request:
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+ var ct, type, finalDataType, firstDataType,
+ contents = s.contents,
+ dataTypes = s.dataTypes;
+
+ // Remove auto dataType and get content-type in the process
+ while ( dataTypes[ 0 ] === "*" ) {
+ dataTypes.shift();
+ if ( ct === undefined ) {
+ ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
+ }
+ }
+
+ // Check if we're dealing with a known content-type
+ if ( ct ) {
+ for ( type in contents ) {
+ if ( contents[ type ] && contents[ type ].test( ct ) ) {
+ dataTypes.unshift( type );
+ break;
+ }
+ }
+ }
+
+ // Check to see if we have a response for the expected dataType
+ if ( dataTypes[ 0 ] in responses ) {
+ finalDataType = dataTypes[ 0 ];
+ } else {
+
+ // Try convertible dataTypes
+ for ( type in responses ) {
+ if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
+ finalDataType = type;
+ break;
+ }
+ if ( !firstDataType ) {
+ firstDataType = type;
+ }
+ }
+
+ // Or just use first one
+ finalDataType = finalDataType || firstDataType;
+ }
+
+ // If we found a dataType
+ // We add the dataType to the list if needed
+ // and return the corresponding response
+ if ( finalDataType ) {
+ if ( finalDataType !== dataTypes[ 0 ] ) {
+ dataTypes.unshift( finalDataType );
+ }
+ return responses[ finalDataType ];
+ }
+}
+
+/* Chain conversions given the request and the original response
+ * Also sets the responseXXX fields on the jqXHR instance
+ */
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
+ var conv2, current, conv, tmp, prev,
+ converters = {},
+
+ // Work with a copy of dataTypes in case we need to modify it for conversion
+ dataTypes = s.dataTypes.slice();
+
+ // Create converters map with lowercased keys
+ if ( dataTypes[ 1 ] ) {
+ for ( conv in s.converters ) {
+ converters[ conv.toLowerCase() ] = s.converters[ conv ];
+ }
+ }
+
+ current = dataTypes.shift();
+
+ // Convert to each sequential dataType
+ while ( current ) {
+
+ if ( s.responseFields[ current ] ) {
+ jqXHR[ s.responseFields[ current ] ] = response;
+ }
+
+ // Apply the dataFilter if provided
+ if ( !prev && isSuccess && s.dataFilter ) {
+ response = s.dataFilter( response, s.dataType );
+ }
+
+ prev = current;
+ current = dataTypes.shift();
+
+ if ( current ) {
+
+ // There's only work to do if current dataType is non-auto
+ if ( current === "*" ) {
+
+ current = prev;
+
+ // Convert response if prev dataType is non-auto and differs from current
+ } else if ( prev !== "*" && prev !== current ) {
+
+ // Seek a direct converter
+ conv = converters[ prev + " " + current ] || converters[ "* " + current ];
+
+ // If none found, seek a pair
+ if ( !conv ) {
+ for ( conv2 in converters ) {
+
+ // If conv2 outputs current
+ tmp = conv2.split( " " );
+ if ( tmp[ 1 ] === current ) {
+
+ // If prev can be converted to accepted input
+ conv = converters[ prev + " " + tmp[ 0 ] ] ||
+ converters[ "* " + tmp[ 0 ] ];
+ if ( conv ) {
+
+ // Condense equivalence converters
+ if ( conv === true ) {
+ conv = converters[ conv2 ];
+
+ // Otherwise, insert the intermediate dataType
+ } else if ( converters[ conv2 ] !== true ) {
+ current = tmp[ 0 ];
+ dataTypes.unshift( tmp[ 1 ] );
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ // Apply converter (if not an equivalence)
+ if ( conv !== true ) {
+
+ // Unless errors are allowed to bubble, catch and return them
+ if ( conv && s.throws ) {
+ response = conv( response );
+ } else {
+ try {
+ response = conv( response );
+ } catch ( e ) {
+ return {
+ state: "parsererror",
+ error: conv ? e : "No conversion from " + prev + " to " + current
+ };
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return { state: "success", data: response };
+}
+
+jQuery.extend( {
+
+ // Counter for holding the number of active queries
+ active: 0,
+
+ // Last-Modified header cache for next request
+ lastModified: {},
+ etag: {},
+
+ ajaxSettings: {
+ url: location.href,
+ type: "GET",
+ isLocal: rlocalProtocol.test( location.protocol ),
+ global: true,
+ processData: true,
+ async: true,
+ contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+
+ /*
+ timeout: 0,
+ data: null,
+ dataType: null,
+ username: null,
+ password: null,
+ cache: null,
+ throws: false,
+ traditional: false,
+ headers: {},
+ */
+
+ accepts: {
+ "*": allTypes,
+ text: "text/plain",
+ html: "text/html",
+ xml: "application/xml, text/xml",
+ json: "application/json, text/javascript"
+ },
+
+ contents: {
+ xml: /\bxml\b/,
+ html: /\bhtml/,
+ json: /\bjson\b/
+ },
+
+ responseFields: {
+ xml: "responseXML",
+ text: "responseText",
+ json: "responseJSON"
+ },
+
+ // Data converters
+ // Keys separate source (or catchall "*") and destination types with a single space
+ converters: {
+
+ // Convert anything to text
+ "* text": String,
+
+ // Text to html (true = no transformation)
+ "text html": true,
+
+ // Evaluate text as a json expression
+ "text json": JSON.parse,
+
+ // Parse text as xml
+ "text xml": jQuery.parseXML
+ },
+
+ // For options that shouldn't be deep extended:
+ // you can add your own custom options here if
+ // and when you create one that shouldn't be
+ // deep extended (see ajaxExtend)
+ flatOptions: {
+ url: true,
+ context: true
+ }
+ },
+
+ // Creates a full fledged settings object into target
+ // with both ajaxSettings and settings fields.
+ // If target is omitted, writes into ajaxSettings.
+ ajaxSetup: function( target, settings ) {
+ return settings ?
+
+ // Building a settings object
+ ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
+
+ // Extending ajaxSettings
+ ajaxExtend( jQuery.ajaxSettings, target );
+ },
+
+ ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+ ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+ // Main method
+ ajax: function( url, options ) {
+
+ // If url is an object, simulate pre-1.5 signature
+ if ( typeof url === "object" ) {
+ options = url;
+ url = undefined;
+ }
+
+ // Force options to be an object
+ options = options || {};
+
+ var transport,
+
+ // URL without anti-cache param
+ cacheURL,
+
+ // Response headers
+ responseHeadersString,
+ responseHeaders,
+
+ // timeout handle
+ timeoutTimer,
+
+ // Url cleanup var
+ urlAnchor,
+
+ // Request state (becomes false upon send and true upon completion)
+ completed,
+
+ // To know if global events are to be dispatched
+ fireGlobals,
+
+ // Loop variable
+ i,
+
+ // uncached part of the url
+ uncached,
+
+ // Create the final options object
+ s = jQuery.ajaxSetup( {}, options ),
+
+ // Callbacks context
+ callbackContext = s.context || s,
+
+ // Context for global events is callbackContext if it is a DOM node or jQuery collection
+ globalEventContext = s.context &&
+ ( callbackContext.nodeType || callbackContext.jquery ) ?
+ jQuery( callbackContext ) :
+ jQuery.event,
+
+ // Deferreds
+ deferred = jQuery.Deferred(),
+ completeDeferred = jQuery.Callbacks( "once memory" ),
+
+ // Status-dependent callbacks
+ statusCode = s.statusCode || {},
+
+ // Headers (they are sent all at once)
+ requestHeaders = {},
+ requestHeadersNames = {},
+
+ // Default abort message
+ strAbort = "canceled",
+
+ // Fake xhr
+ jqXHR = {
+ readyState: 0,
+
+ // Builds headers hashtable if needed
+ getResponseHeader: function( key ) {
+ var match;
+ if ( completed ) {
+ if ( !responseHeaders ) {
+ responseHeaders = {};
+ while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
+ responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
+ }
+ }
+ match = responseHeaders[ key.toLowerCase() ];
+ }
+ return match == null ? null : match;
+ },
+
+ // Raw string
+ getAllResponseHeaders: function() {
+ return completed ? responseHeadersString : null;
+ },
+
+ // Caches the header
+ setRequestHeader: function( name, value ) {
+ if ( completed == null ) {
+ name = requestHeadersNames[ name.toLowerCase() ] =
+ requestHeadersNames[ name.toLowerCase() ] || name;
+ requestHeaders[ name ] = value;
+ }
+ return this;
+ },
+
+ // Overrides response content-type header
+ overrideMimeType: function( type ) {
+ if ( completed == null ) {
+ s.mimeType = type;
+ }
+ return this;
+ },
+
+ // Status-dependent callbacks
+ statusCode: function( map ) {
+ var code;
+ if ( map ) {
+ if ( completed ) {
+
+ // Execute the appropriate callbacks
+ jqXHR.always( map[ jqXHR.status ] );
+ } else {
+
+ // Lazy-add the new callbacks in a way that preserves old ones
+ for ( code in map ) {
+ statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
+ }
+ }
+ }
+ return this;
+ },
+
+ // Cancel the request
+ abort: function( statusText ) {
+ var finalText = statusText || strAbort;
+ if ( transport ) {
+ transport.abort( finalText );
+ }
+ done( 0, finalText );
+ return this;
+ }
+ };
+
+ // Attach deferreds
+ deferred.promise( jqXHR );
+
+ // Add protocol if not provided (prefilters might expect it)
+ // Handle falsy url in the settings object (#10093: consistency with old signature)
+ // We also use the url parameter if available
+ s.url = ( ( url || s.url || location.href ) + "" )
+ .replace( rprotocol, location.protocol + "//" );
+
+ // Alias method option to type as per ticket #12004
+ s.type = options.method || options.type || s.method || s.type;
+
+ // Extract dataTypes list
+ s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];
+
+ // A cross-domain request is in order when the origin doesn't match the current origin.
+ if ( s.crossDomain == null ) {
+ urlAnchor = document.createElement( "a" );
+
+ // Support: IE <=8 - 11, Edge 12 - 13
+ // IE throws exception on accessing the href property if url is malformed,
+ // e.g. http://example.com:80x/
+ try {
+ urlAnchor.href = s.url;
+
+ // Support: IE <=8 - 11 only
+ // Anchor's host property isn't correctly set when s.url is relative
+ urlAnchor.href = urlAnchor.href;
+ s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
+ urlAnchor.protocol + "//" + urlAnchor.host;
+ } catch ( e ) {
+
+ // If there is an error parsing the URL, assume it is crossDomain,
+ // it can be rejected by the transport if it is invalid
+ s.crossDomain = true;
+ }
+ }
+
+ // Convert data if not already a string
+ if ( s.data && s.processData && typeof s.data !== "string" ) {
+ s.data = jQuery.param( s.data, s.traditional );
+ }
+
+ // Apply prefilters
+ inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+ // If request was aborted inside a prefilter, stop there
+ if ( completed ) {
+ return jqXHR;
+ }
+
+ // We can fire global events as of now if asked to
+ // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+ fireGlobals = jQuery.event && s.global;
+
+ // Watch for a new set of requests
+ if ( fireGlobals && jQuery.active++ === 0 ) {
+ jQuery.event.trigger( "ajaxStart" );
+ }
+
+ // Uppercase the type
+ s.type = s.type.toUpperCase();
+
+ // Determine if request has content
+ s.hasContent = !rnoContent.test( s.type );
+
+ // Save the URL in case we're toying with the If-Modified-Since
+ // and/or If-None-Match header later on
+ // Remove hash to simplify url manipulation
+ cacheURL = s.url.replace( rhash, "" );
+
+ // More options handling for requests with no content
+ if ( !s.hasContent ) {
+
+ // Remember the hash so we can put it back
+ uncached = s.url.slice( cacheURL.length );
+
+ // If data is available, append data to url
+ if ( s.data ) {
+ cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
+
+ // #9682: remove data so that it's not used in an eventual retry
+ delete s.data;
+ }
+
+ // Add anti-cache in uncached url if needed
+ if ( s.cache === false ) {
+ cacheURL = cacheURL.replace( rts, "" );
+ uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
+ }
+
+ // Put hash and anti-cache on the URL that will be requested (gh-1732)
+ s.url = cacheURL + uncached;
+
+ // Change '%20' to '+' if this is encoded form body content (gh-2658)
+ } else if ( s.data && s.processData &&
+ ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
+ s.data = s.data.replace( r20, "+" );
+ }
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ if ( jQuery.lastModified[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
+ }
+ if ( jQuery.etag[ cacheURL ] ) {
+ jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
+ }
+ }
+
+ // Set the correct header, if data is being sent
+ if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+ jqXHR.setRequestHeader( "Content-Type", s.contentType );
+ }
+
+ // Set the Accepts header for the server, depending on the dataType
+ jqXHR.setRequestHeader(
+ "Accept",
+ s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
+ s.accepts[ s.dataTypes[ 0 ] ] +
+ ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+ s.accepts[ "*" ]
+ );
+
+ // Check for headers option
+ for ( i in s.headers ) {
+ jqXHR.setRequestHeader( i, s.headers[ i ] );
+ }
+
+ // Allow custom headers/mimetypes and early abort
+ if ( s.beforeSend &&
+ ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
+
+ // Abort if not done already and return
+ return jqXHR.abort();
+ }
+
+ // Aborting is no longer a cancellation
+ strAbort = "abort";
+
+ // Install callbacks on deferreds
+ completeDeferred.add( s.complete );
+ jqXHR.done( s.success );
+ jqXHR.fail( s.error );
+
+ // Get transport
+ transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+ // If no transport, we auto-abort
+ if ( !transport ) {
+ done( -1, "No Transport" );
+ } else {
+ jqXHR.readyState = 1;
+
+ // Send global event
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+ }
+
+ // If request was aborted inside ajaxSend, stop there
+ if ( completed ) {
+ return jqXHR;
+ }
+
+ // Timeout
+ if ( s.async && s.timeout > 0 ) {
+ timeoutTimer = window.setTimeout( function() {
+ jqXHR.abort( "timeout" );
+ }, s.timeout );
+ }
+
+ try {
+ completed = false;
+ transport.send( requestHeaders, done );
+ } catch ( e ) {
+
+ // Rethrow post-completion exceptions
+ if ( completed ) {
+ throw e;
+ }
+
+ // Propagate others as results
+ done( -1, e );
+ }
+ }
+
+ // Callback for when everything is done
+ function done( status, nativeStatusText, responses, headers ) {
+ var isSuccess, success, error, response, modified,
+ statusText = nativeStatusText;
+
+ // Ignore repeat invocations
+ if ( completed ) {
+ return;
+ }
+
+ completed = true;
+
+ // Clear timeout if it exists
+ if ( timeoutTimer ) {
+ window.clearTimeout( timeoutTimer );
+ }
+
+ // Dereference transport for early garbage collection
+ // (no matter how long the jqXHR object will be used)
+ transport = undefined;
+
+ // Cache response headers
+ responseHeadersString = headers || "";
+
+ // Set readyState
+ jqXHR.readyState = status > 0 ? 4 : 0;
+
+ // Determine if successful
+ isSuccess = status >= 200 && status < 300 || status === 304;
+
+ // Get response data
+ if ( responses ) {
+ response = ajaxHandleResponses( s, jqXHR, responses );
+ }
+
+ // Convert no matter what (that way responseXXX fields are always set)
+ response = ajaxConvert( s, response, jqXHR, isSuccess );
+
+ // If successful, handle type chaining
+ if ( isSuccess ) {
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if ( s.ifModified ) {
+ modified = jqXHR.getResponseHeader( "Last-Modified" );
+ if ( modified ) {
+ jQuery.lastModified[ cacheURL ] = modified;
+ }
+ modified = jqXHR.getResponseHeader( "etag" );
+ if ( modified ) {
+ jQuery.etag[ cacheURL ] = modified;
+ }
+ }
+
+ // if no content
+ if ( status === 204 || s.type === "HEAD" ) {
+ statusText = "nocontent";
+
+ // if not modified
+ } else if ( status === 304 ) {
+ statusText = "notmodified";
+
+ // If we have data, let's convert it
+ } else {
+ statusText = response.state;
+ success = response.data;
+ error = response.error;
+ isSuccess = !error;
+ }
+ } else {
+
+ // Extract error from statusText and normalize for non-aborts
+ error = statusText;
+ if ( status || !statusText ) {
+ statusText = "error";
+ if ( status < 0 ) {
+ status = 0;
+ }
+ }
+ }
+
+ // Set data for the fake xhr object
+ jqXHR.status = status;
+ jqXHR.statusText = ( nativeStatusText || statusText ) + "";
+
+ // Success/Error
+ if ( isSuccess ) {
+ deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+ } else {
+ deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+ }
+
+ // Status-dependent callbacks
+ jqXHR.statusCode( statusCode );
+ statusCode = undefined;
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
+ [ jqXHR, s, isSuccess ? success : error ] );
+ }
+
+ // Complete
+ completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+ if ( fireGlobals ) {
+ globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+
+ // Handle the global AJAX counter
+ if ( !( --jQuery.active ) ) {
+ jQuery.event.trigger( "ajaxStop" );
+ }
+ }
+ }
+
+ return jqXHR;
+ },
+
+ getJSON: function( url, data, callback ) {
+ return jQuery.get( url, data, callback, "json" );
+ },
+
+ getScript: function( url, callback ) {
+ return jQuery.get( url, undefined, callback, "script" );
+ }
+} );
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+ jQuery[ method ] = function( url, data, callback, type ) {
+
+ // Shift arguments if data argument was omitted
+ if ( jQuery.isFunction( data ) ) {
+ type = type || callback;
+ callback = data;
+ data = undefined;
+ }
+
+ // The url can be an options object (which then must have .url)
+ return jQuery.ajax( jQuery.extend( {
+ url: url,
+ type: method,
+ dataType: type,
+ data: data,
+ success: callback
+ }, jQuery.isPlainObject( url ) && url ) );
+ };
+} );
+
+
+jQuery._evalUrl = function( url ) {
+ return jQuery.ajax( {
+ url: url,
+
+ // Make this explicit, since user can override this through ajaxSetup (#11264)
+ type: "GET",
+ dataType: "script",
+ cache: true,
+ async: false,
+ global: false,
+ "throws": true
+ } );
+};
+
+
+jQuery.fn.extend( {
+ wrapAll: function( html ) {
+ var wrap;
+
+ if ( this[ 0 ] ) {
+ if ( jQuery.isFunction( html ) ) {
+ html = html.call( this[ 0 ] );
+ }
+
+ // The elements to wrap the target around
+ wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+ if ( this[ 0 ].parentNode ) {
+ wrap.insertBefore( this[ 0 ] );
+ }
+
+ wrap.map( function() {
+ var elem = this;
+
+ while ( elem.firstElementChild ) {
+ elem = elem.firstElementChild;
+ }
+
+ return elem;
+ } ).append( this );
+ }
+
+ return this;
+ },
+
+ wrapInner: function( html ) {
+ if ( jQuery.isFunction( html ) ) {
+ return this.each( function( i ) {
+ jQuery( this ).wrapInner( html.call( this, i ) );
+ } );
+ }
+
+ return this.each( function() {
+ var self = jQuery( this ),
+ contents = self.contents();
+
+ if ( contents.length ) {
+ contents.wrapAll( html );
+
+ } else {
+ self.append( html );
+ }
+ } );
+ },
+
+ wrap: function( html ) {
+ var isFunction = jQuery.isFunction( html );
+
+ return this.each( function( i ) {
+ jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );
+ } );
+ },
+
+ unwrap: function( selector ) {
+ this.parent( selector ).not( "body" ).each( function() {
+ jQuery( this ).replaceWith( this.childNodes );
+ } );
+ return this;
+ }
+} );
+
+
+jQuery.expr.pseudos.hidden = function( elem ) {
+ return !jQuery.expr.pseudos.visible( elem );
+};
+jQuery.expr.pseudos.visible = function( elem ) {
+ return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
+};
+
+
+
+
+jQuery.ajaxSettings.xhr = function() {
+ try {
+ return new window.XMLHttpRequest();
+ } catch ( e ) {}
+};
+
+var xhrSuccessStatus = {
+
+ // File protocol always yields status code 0, assume 200
+ 0: 200,
+
+ // Support: IE <=9 only
+ // #1450: sometimes IE returns 1223 when it should be 204
+ 1223: 204
+ },
+ xhrSupported = jQuery.ajaxSettings.xhr();
+
+support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
+support.ajax = xhrSupported = !!xhrSupported;
+
+jQuery.ajaxTransport( function( options ) {
+ var callback, errorCallback;
+
+ // Cross domain only allowed if supported through XMLHttpRequest
+ if ( support.cors || xhrSupported && !options.crossDomain ) {
+ return {
+ send: function( headers, complete ) {
+ var i,
+ xhr = options.xhr();
+
+ xhr.open(
+ options.type,
+ options.url,
+ options.async,
+ options.username,
+ options.password
+ );
+
+ // Apply custom fields if provided
+ if ( options.xhrFields ) {
+ for ( i in options.xhrFields ) {
+ xhr[ i ] = options.xhrFields[ i ];
+ }
+ }
+
+ // Override mime type if needed
+ if ( options.mimeType && xhr.overrideMimeType ) {
+ xhr.overrideMimeType( options.mimeType );
+ }
+
+ // X-Requested-With header
+ // For cross-domain requests, seeing as conditions for a preflight are
+ // akin to a jigsaw puzzle, we simply never set it to be sure.
+ // (it can always be set on a per-request basis or even using ajaxSetup)
+ // For same-domain requests, won't change header if already provided.
+ if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
+ headers[ "X-Requested-With" ] = "XMLHttpRequest";
+ }
+
+ // Set headers
+ for ( i in headers ) {
+ xhr.setRequestHeader( i, headers[ i ] );
+ }
+
+ // Callback
+ callback = function( type ) {
+ return function() {
+ if ( callback ) {
+ callback = errorCallback = xhr.onload =
+ xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
+
+ if ( type === "abort" ) {
+ xhr.abort();
+ } else if ( type === "error" ) {
+
+ // Support: IE <=9 only
+ // On a manual native abort, IE9 throws
+ // errors on any property access that is not readyState
+ if ( typeof xhr.status !== "number" ) {
+ complete( 0, "error" );
+ } else {
+ complete(
+
+ // File: protocol always yields status 0; see #8605, #14207
+ xhr.status,
+ xhr.statusText
+ );
+ }
+ } else {
+ complete(
+ xhrSuccessStatus[ xhr.status ] || xhr.status,
+ xhr.statusText,
+
+ // Support: IE <=9 only
+ // IE9 has no XHR2 but throws on binary (trac-11426)
+ // For XHR2 non-text, let the caller handle it (gh-2498)
+ ( xhr.responseType || "text" ) !== "text" ||
+ typeof xhr.responseText !== "string" ?
+ { binary: xhr.response } :
+ { text: xhr.responseText },
+ xhr.getAllResponseHeaders()
+ );
+ }
+ }
+ };
+ };
+
+ // Listen to events
+ xhr.onload = callback();
+ errorCallback = xhr.onerror = callback( "error" );
+
+ // Support: IE 9 only
+ // Use onreadystatechange to replace onabort
+ // to handle uncaught aborts
+ if ( xhr.onabort !== undefined ) {
+ xhr.onabort = errorCallback;
+ } else {
+ xhr.onreadystatechange = function() {
+
+ // Check readyState before timeout as it changes
+ if ( xhr.readyState === 4 ) {
+
+ // Allow onerror to be called first,
+ // but that will not handle a native abort
+ // Also, save errorCallback to a variable
+ // as xhr.onerror cannot be accessed
+ window.setTimeout( function() {
+ if ( callback ) {
+ errorCallback();
+ }
+ } );
+ }
+ };
+ }
+
+ // Create the abort callback
+ callback = callback( "abort" );
+
+ try {
+
+ // Do send the request (this may raise an exception)
+ xhr.send( options.hasContent && options.data || null );
+ } catch ( e ) {
+
+ // #14683: Only rethrow if this hasn't been notified as an error yet
+ if ( callback ) {
+ throw e;
+ }
+ }
+ },
+
+ abort: function() {
+ if ( callback ) {
+ callback();
+ }
+ }
+ };
+ }
+} );
+
+
+
+
+// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
+jQuery.ajaxPrefilter( function( s ) {
+ if ( s.crossDomain ) {
+ s.contents.script = false;
+ }
+} );
+
+// Install script dataType
+jQuery.ajaxSetup( {
+ accepts: {
+ script: "text/javascript, application/javascript, " +
+ "application/ecmascript, application/x-ecmascript"
+ },
+ contents: {
+ script: /\b(?:java|ecma)script\b/
+ },
+ converters: {
+ "text script": function( text ) {
+ jQuery.globalEval( text );
+ return text;
+ }
+ }
+} );
+
+// Handle cache's special case and crossDomain
+jQuery.ajaxPrefilter( "script", function( s ) {
+ if ( s.cache === undefined ) {
+ s.cache = false;
+ }
+ if ( s.crossDomain ) {
+ s.type = "GET";
+ }
+} );
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function( s ) {
+
+ // This transport only deals with cross domain requests
+ if ( s.crossDomain ) {
+ var script, callback;
+ return {
+ send: function( _, complete ) {
+ script = jQuery( "<script>" ).prop( {
+ charset: s.scriptCharset,
+ src: s.url
+ } ).on(
+ "load error",
+ callback = function( evt ) {
+ script.remove();
+ callback = null;
... 15040 lines suppressed ...
[incubator-singa-site] 04/08: reorganize the repo
Posted by wa...@apache.org.
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/incubator-singa-site.git
commit 2756b2ba96c76848d396424f18e32aa028886183
Author: wangwei <wa...@gmail.com>
AuthorDate: Sat Aug 10 22:54:31 2019 +0800
reorganize the repo
---
README | 4 ++++
{en => content}/_sources/community/issue-tracking.md.txt | 0
{_sources => content/_sources}/community/mail-lists.rst.txt | 0
.../_sources/community/source-repository.rst.txt | 0
{en => content}/_sources/community/team-list.rst.txt | 0
{en => content}/_sources/develop/contribute-code.md.txt | 0
{en => content}/_sources/develop/contribute-docs.md.txt | 0
{en => content}/_sources/develop/how-contribute.md.txt | 0
{en => content}/_sources/develop/how-to-release.rst.txt | 0
{en => content}/_sources/develop/schedule.rst.txt | 0
{en => content}/_sources/docs.rst.txt | 0
{en => content}/_sources/docs/autograd.md.txt | 0
{en => content}/_sources/docs/benchmark.md.txt | 0
{en => content}/_sources/docs/cnn.md.txt | 0
{en => content}/_sources/docs/converter.rst.txt | 0
{en => content}/_sources/docs/data.rst.txt | 0
{en => content}/_sources/docs/dependencies.md.txt | 0
{en => content}/_sources/docs/device.rst.txt | 0
{en => content}/_sources/docs/docker.md.txt | 0
{en => content}/_sources/docs/image_tool.rst.txt | 0
{_sources => content/_sources}/docs/index.rst.txt | 0
{en => content}/_sources/docs/initializer.rst.txt | 0
{en => content}/_sources/docs/install_macos1013.rst.txt | 0
{en => content}/_sources/docs/install_win.rst.txt | 0
{en => content}/_sources/docs/installation.md.txt | 0
{en => content}/_sources/docs/layer.rst.txt | 0
{en => content}/_sources/docs/loss.rst.txt | 0
{en => content}/_sources/docs/metric.rst.txt | 0
{en => content}/_sources/docs/model_zoo/caffe/README.md.txt | 0
.../_sources/docs/model_zoo/char-rnn/README.md.txt | 0
.../_sources/docs/model_zoo/cifar10/README.md.txt | 0
.../_sources/docs/model_zoo/examples/caffe/README.md.txt | 0
.../_sources/docs/model_zoo/examples/char-rnn/README.md.txt | 0
.../_sources/docs/model_zoo/examples/cifar10/README.md.txt | 0
.../docs/model_zoo/examples/imagenet/alexnet/README.md.txt | 0
.../model_zoo/examples}/imagenet/densenet/README.md.txt | 0
.../model_zoo/examples/imagenet/googlenet/README.md.txt | 0
.../model_zoo/examples/imagenet/inception/README.md.txt | 0
.../docs/model_zoo/examples/imagenet/resnet/README.md.txt | 0
.../docs/model_zoo/examples/imagenet/vgg/README.md.txt | 0
.../_sources/docs/model_zoo/examples/index.rst.txt | 0
.../_sources/docs/model_zoo/examples/mnist/README.md.txt | 0
.../_sources/docs/model_zoo/imagenet/alexnet/README.md.txt | 0
.../docs/model_zoo}/imagenet/densenet/README.md.txt | 0
.../docs/model_zoo/imagenet/googlenet/README.md.txt | 0
.../docs/model_zoo/imagenet/inception/README.md.txt | 0
.../_sources/docs/model_zoo/imagenet/resnet/README.md.txt | 0
.../_sources/docs/model_zoo/imagenet/vgg/README.md.txt | 0
{en => content}/_sources/docs/model_zoo/index.rst.txt | 0
{en => content}/_sources/docs/model_zoo/mnist/README.md.txt | 0
{en => content}/_sources/docs/net.rst.txt | 0
{en => content}/_sources/docs/neural-net.md.txt | 0
{en => content}/_sources/docs/notebook/README.md.txt | 0
{en => content}/_sources/docs/optimizer.rst.txt | 0
{en => content}/_sources/docs/security.rst.txt | 0
{en => content}/_sources/docs/snapshot.rst.txt | 0
{en => content}/_sources/docs/software_stack.md.txt | 0
{en => content}/_sources/docs/tensor.rst.txt | 0
{en => content}/_sources/docs/utils.rst.txt | 0
{_sources => content/_sources}/downloads.md.txt | 0
{_sources => content/_sources}/index.rst.txt | 0
.../_sources/releases/RELEASE_NOTES_0.1.0.md.txt | 0
.../_sources/releases/RELEASE_NOTES_0.2.0.md.txt | 0
.../_sources/releases/RELEASE_NOTES_0.3.0.md.txt | 0
.../_sources/releases/RELEASE_NOTES_1.0.0.md.txt | 0
.../_sources/releases/RELEASE_NOTES_1.1.0.md.txt | 0
.../_sources/releases/RELEASE_NOTES_1.2.0.md.txt | 0
.../_sources/releases/RELEASE_NOTES_2.0.0.md.txt | 0
{_sources => content/_sources}/security.rst.txt | 0
{zh => content}/_static/ajax-loader.gif | Bin
{zh => content}/_static/apache.png | Bin
{zh => content}/_static/awsmp.gif | Bin
{_static => content/_static}/basic.css | 0
{zh => content}/_static/comment-bright.png | Bin
{zh => content}/_static/comment-close.png | Bin
{zh => content}/_static/comment.png | Bin
{zh => content}/_static/css/badge_only.css | 0
{zh => content}/_static/css/theme.css | 0
{zh => content}/_static/docker.png | Bin
{zh => content}/_static/doctools.js | 0
{zh => content}/_static/documentation_options.js | 0
{zh => content}/_static/down-pressed.png | Bin
{zh => content}/_static/down.png | Bin
{zh => content}/_static/file.png | Bin
{zh => content}/_static/fonts/Inconsolata-Bold.ttf | Bin
{zh => content}/_static/fonts/Inconsolata-Regular.ttf | Bin
{zh => content}/_static/fonts/Inconsolata.ttf | Bin
{zh => content}/_static/fonts/Lato-Bold.ttf | Bin
{zh => content}/_static/fonts/Lato-Regular.ttf | Bin
{zh => content}/_static/fonts/Lato/lato-bold.eot | Bin
{zh => content}/_static/fonts/Lato/lato-bold.ttf | Bin
{zh => content}/_static/fonts/Lato/lato-bold.woff | Bin
{zh => content}/_static/fonts/Lato/lato-bold.woff2 | Bin
{zh => content}/_static/fonts/Lato/lato-bolditalic.eot | Bin
{zh => content}/_static/fonts/Lato/lato-bolditalic.ttf | Bin
{zh => content}/_static/fonts/Lato/lato-bolditalic.woff | Bin
{zh => content}/_static/fonts/Lato/lato-bolditalic.woff2 | Bin
{zh => content}/_static/fonts/Lato/lato-italic.eot | Bin
{zh => content}/_static/fonts/Lato/lato-italic.ttf | Bin
{zh => content}/_static/fonts/Lato/lato-italic.woff | Bin
{zh => content}/_static/fonts/Lato/lato-italic.woff2 | Bin
{zh => content}/_static/fonts/Lato/lato-regular.eot | Bin
{zh => content}/_static/fonts/Lato/lato-regular.ttf | Bin
{zh => content}/_static/fonts/Lato/lato-regular.woff | Bin
{zh => content}/_static/fonts/Lato/lato-regular.woff2 | Bin
{zh => content}/_static/fonts/RobotoSlab-Bold.ttf | Bin
{zh => content}/_static/fonts/RobotoSlab-Regular.ttf | Bin
.../_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot | Bin
.../_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf | Bin
.../_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff | Bin
.../_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 | Bin
.../_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot | Bin
.../_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf | Bin
.../_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff | Bin
.../_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 | Bin
{zh => content}/_static/fonts/fontawesome-webfont.eot | Bin
{zh => content}/_static/fonts/fontawesome-webfont.svg | 0
{zh => content}/_static/fonts/fontawesome-webfont.ttf | Bin
{zh => content}/_static/fonts/fontawesome-webfont.woff | Bin
{zh => content}/_static/fonts/fontawesome-webfont.woff2 | Bin
{zh => content}/_static/github.png | Bin
{zh => content}/_static/images/benchmark.png | Bin
{zh => content}/_static/images/mlp-net.png | Bin
{zh => content}/_static/images/model-category.png | Bin
{zh => content}/_static/images/overview.png | Bin
{zh => content}/_static/images/partition_fc.png | Bin
{zh => content}/_static/images/rbm-rnn.png | Bin
{zh => content}/_static/images/sgd.png | Bin
{zh => content}/_static/images/singa.png | Bin
{zh => content}/_static/images/singav1-sw.png | Bin
{zh => content}/_static/jquery-3.2.1.js | 0
{zh => content}/_static/jquery.js | 0
{zh => content}/_static/js/modernizr.min.js | 0
{zh => content}/_static/js/theme.js | 0
{zh => content}/_static/jupyter.png | Bin
{zh => content}/_static/language_data.js | 0
{zh => content}/_static/minus.png | Bin
{zh => content}/_static/plus.png | Bin
{zh => content}/_static/pygments.css | 0
{_static => content/_static}/searchtools.js | 0
{zh => content}/_static/singa-logo-updated.ai | 0
{zh => content}/_static/singa.png | Bin
{zh => content}/_static/style.css | 0
{zh => content}/_static/underscore-1.3.1.js | 0
{zh => content}/_static/underscore.js | 0
{zh => content}/_static/up-pressed.png | Bin
{zh => content}/_static/up.png | Bin
{_static => content/_static}/websupport.js | 0
{community => content/community}/issue-tracking.html | 0
{community => content/community}/mail-lists.html | 0
{community => content/community}/source-repository.html | 0
{community => content/community}/team-list.html | 0
{develop => content/develop}/contribute-code.html | 0
{develop => content/develop}/contribute-docs.html | 0
{develop => content/develop}/how-contribute.html | 0
{develop => content/develop}/how-to-release.html | 0
{develop => content/develop}/schedule.html | 0
docs.html => content/docs.html | 0
{docs => content/docs}/autograd.html | 0
{docs => content/docs}/benchmark.html | 0
{docs => content/docs}/cnn.html | 0
{docs => content/docs}/converter.html | 0
{docs => content/docs}/data.html | 0
{docs => content/docs}/dependencies.html | 0
{docs => content/docs}/device.html | 0
{docs => content/docs}/docker.html | 0
{docs => content/docs}/image_tool.html | 0
{docs => content/docs}/index.html | 0
{docs => content/docs}/initializer.html | 0
{docs => content/docs}/install_macos1013.html | 0
{docs => content/docs}/install_win.html | 0
{docs => content/docs}/installation.html | 0
{docs => content/docs}/layer.html | 0
{docs => content/docs}/loss.html | 0
{docs => content/docs}/metric.html | 0
{docs => content/docs}/model_zoo/caffe/README.html | 0
{docs => content/docs}/model_zoo/char-rnn/README.html | 0
{docs => content/docs}/model_zoo/cifar10/README.html | 0
{docs => content/docs}/model_zoo/examples/caffe/README.html | 0
.../docs}/model_zoo/examples/char-rnn/README.html | 0
.../docs}/model_zoo/examples/cifar10/README.html | 0
.../docs}/model_zoo/examples/imagenet/alexnet/README.html | 0
.../docs}/model_zoo/examples/imagenet/densenet/README.html | 0
.../docs}/model_zoo/examples/imagenet/googlenet/README.html | 0
.../docs}/model_zoo/examples/imagenet/inception/README.html | 0
.../docs}/model_zoo/examples/imagenet/resnet/README.html | 0
.../docs}/model_zoo/examples/imagenet/vgg/README.html | 0
{docs => content/docs}/model_zoo/examples/index.html | 0
{docs => content/docs}/model_zoo/examples/mnist/README.html | 0
.../docs}/model_zoo/imagenet/alexnet/README.html | 0
.../docs}/model_zoo/imagenet/densenet/README.html | 0
.../docs}/model_zoo/imagenet/googlenet/README.html | 0
.../docs}/model_zoo/imagenet/inception/README.html | 0
.../docs}/model_zoo/imagenet/resnet/README.html | 0
{docs => content/docs}/model_zoo/imagenet/vgg/README.html | 0
{docs => content/docs}/model_zoo/index.html | 0
{docs => content/docs}/model_zoo/mnist/README.html | 0
{docs => content/docs}/net.html | 0
{docs => content/docs}/neural-net.html | 0
{docs => content/docs}/notebook/README.html | 0
{docs => content/docs}/optimizer.html | 0
{docs => content/docs}/snapshot.html | 0
{docs => content/docs}/software_stack.html | 0
{docs => content/docs}/tensor.html | 0
{docs => content/docs}/utils.html | 0
downloads.html => content/downloads.html | 0
{doxygen => content/doxygen}/html/annotated.html | 0
{doxygen => content/doxygen}/html/bc_s.png | Bin
{doxygen => content/doxygen}/html/bdwn.png | Bin
{doxygen => content/doxygen}/html/channel_8h_source.html | 0
{doxygen => content/doxygen}/html/classFactory-members.html | 0
{doxygen => content/doxygen}/html/classFactory.html | 0
.../doxygen}/html/classPriorityQueue-members.html | 0
{doxygen => content/doxygen}/html/classPriorityQueue.html | 0
.../doxygen}/html/classRegistra-members.html | 0
{doxygen => content/doxygen}/html/classRegistra.html | 0
.../doxygen}/html/classSafeQueue-members.html | 0
{doxygen => content/doxygen}/html/classSafeQueue.html | 0
.../doxygen}/html/classSingleton-members.html | 0
{doxygen => content/doxygen}/html/classSingleton.html | 0
{doxygen => content/doxygen}/html/classes.html | 0
.../doxygen}/html/classsinga_1_1Accuracy-members.html | 0
.../doxygen}/html/classsinga_1_1Accuracy.html | 0
.../doxygen}/html/classsinga_1_1Accuracy__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1Accuracy__coll__graph.md5 | 0
.../html/classsinga_1_1Accuracy__inherit__graph.dot | 0
.../html/classsinga_1_1Accuracy__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1AdaGrad-members.html | 0
.../doxygen}/html/classsinga_1_1AdaGrad.html | 0
.../doxygen}/html/classsinga_1_1AdaGrad__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1AdaGrad__coll__graph.md5 | 0
.../doxygen}/html/classsinga_1_1AdaGrad__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1AdaGrad__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Block-members.html | 0
{doxygen => content/doxygen}/html/classsinga_1_1Block.html | 0
.../doxygen}/html/classsinga_1_1CSVDecoder-members.html | 0
.../doxygen}/html/classsinga_1_1CSVDecoder.html | 0
.../doxygen}/html/classsinga_1_1CSVDecoder__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1CSVDecoder__coll__graph.md5 | 0
.../html/classsinga_1_1CSVDecoder__inherit__graph.dot | 0
.../html/classsinga_1_1CSVDecoder__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1CSVEncoder-members.html | 0
.../doxygen}/html/classsinga_1_1CSVEncoder.html | 0
.../doxygen}/html/classsinga_1_1CSVEncoder__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1CSVEncoder__coll__graph.md5 | 0
.../html/classsinga_1_1CSVEncoder__inherit__graph.dot | 0
.../html/classsinga_1_1CSVEncoder__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Channel-members.html | 0
.../doxygen}/html/classsinga_1_1Channel.html | 0
.../doxygen}/html/classsinga_1_1ChannelManager-members.html | 0
.../doxygen}/html/classsinga_1_1ChannelManager.html | 0
.../doxygen}/html/classsinga_1_1Constraint-members.html | 0
.../doxygen}/html/classsinga_1_1Constraint.html | 0
.../doxygen}/html/classsinga_1_1CppCPU-members.html | 0
{doxygen => content/doxygen}/html/classsinga_1_1CppCPU.html | 0
.../doxygen}/html/classsinga_1_1CppCPU__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1CppCPU__coll__graph.md5 | 0
.../doxygen}/html/classsinga_1_1CppCPU__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1CppCPU__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Decoder-members.html | 0
.../doxygen}/html/classsinga_1_1Decoder.html | 0
.../doxygen}/html/classsinga_1_1Decoder__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1Decoder__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Device-members.html | 0
{doxygen => content/doxygen}/html/classsinga_1_1Device.html | 0
.../doxygen}/html/classsinga_1_1DeviceMemPool-members.html | 0
.../doxygen}/html/classsinga_1_1DeviceMemPool.html | 0
.../doxygen}/html/classsinga_1_1Device__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1Device__coll__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Device__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1Device__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Encoder-members.html | 0
.../doxygen}/html/classsinga_1_1Encoder.html | 0
.../doxygen}/html/classsinga_1_1Encoder__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1Encoder__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1FeedForwardNet-members.html | 0
.../doxygen}/html/classsinga_1_1FeedForwardNet.html | 0
.../html/classsinga_1_1FeedForwardNet__coll__graph.dot | 0
.../html/classsinga_1_1FeedForwardNet__coll__graph.md5 | 0
.../html/classsinga_1_1ImageTransformer-members.html | 0
.../doxygen}/html/classsinga_1_1ImageTransformer.html | 0
.../html/classsinga_1_1ImageTransformer__coll__graph.dot | 0
.../html/classsinga_1_1ImageTransformer__coll__graph.md5 | 0
.../html/classsinga_1_1ImageTransformer__inherit__graph.dot | 0
.../html/classsinga_1_1ImageTransformer__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Initializer-members.html | 0
.../doxygen}/html/classsinga_1_1Initializer.html | 0
.../html/classsinga_1_1Initializer__inherit__graph.dot | 0
.../html/classsinga_1_1Initializer__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Layer-members.html | 0
{doxygen => content/doxygen}/html/classsinga_1_1Layer.html | 0
.../doxygen}/html/classsinga_1_1Layer__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1Layer__coll__graph.md5 | 0
.../doxygen}/html/classsinga_1_1LocalUpdater-members.html | 0
.../doxygen}/html/classsinga_1_1LocalUpdater.html | 0
.../html/classsinga_1_1LocalUpdater__coll__graph.dot | 0
.../html/classsinga_1_1LocalUpdater__coll__graph.md5 | 0
.../html/classsinga_1_1LocalUpdater__inherit__graph.dot | 0
.../html/classsinga_1_1LocalUpdater__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Loss-members.html | 0
{doxygen => content/doxygen}/html/classsinga_1_1Loss.html | 0
.../doxygen}/html/classsinga_1_1Loss__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1Loss__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1MSE-members.html | 0
{doxygen => content/doxygen}/html/classsinga_1_1MSE.html | 0
.../doxygen}/html/classsinga_1_1MSE__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1MSE__coll__graph.md5 | 0
.../doxygen}/html/classsinga_1_1MSE__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1MSE__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Metric-members.html | 0
{doxygen => content/doxygen}/html/classsinga_1_1Metric.html | 0
.../doxygen}/html/classsinga_1_1Metric__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1Metric__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Nesterov-members.html | 0
.../doxygen}/html/classsinga_1_1Nesterov.html | 0
.../doxygen}/html/classsinga_1_1Nesterov__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1Nesterov__coll__graph.md5 | 0
.../html/classsinga_1_1Nesterov__inherit__graph.dot | 0
.../html/classsinga_1_1Nesterov__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Optimizer-members.html | 0
.../doxygen}/html/classsinga_1_1Optimizer.html | 0
.../doxygen}/html/classsinga_1_1Optimizer__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1Optimizer__coll__graph.md5 | 0
.../html/classsinga_1_1Optimizer__inherit__graph.dot | 0
.../html/classsinga_1_1Optimizer__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Platform-members.html | 0
.../doxygen}/html/classsinga_1_1Platform.html | 0
.../doxygen}/html/classsinga_1_1RMSProp-members.html | 0
.../doxygen}/html/classsinga_1_1RMSProp.html | 0
.../doxygen}/html/classsinga_1_1RMSProp__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1RMSProp__coll__graph.md5 | 0
.../doxygen}/html/classsinga_1_1RMSProp__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1RMSProp__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Regularizer-members.html | 0
.../doxygen}/html/classsinga_1_1Regularizer.html | 0
.../doxygen}/html/classsinga_1_1SGD-members.html | 0
{doxygen => content/doxygen}/html/classsinga_1_1SGD.html | 0
.../doxygen}/html/classsinga_1_1SGD__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1SGD__coll__graph.md5 | 0
.../doxygen}/html/classsinga_1_1SGD__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1SGD__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Scheduler.html | 0
.../doxygen}/html/classsinga_1_1Snapshot-members.html | 0
.../doxygen}/html/classsinga_1_1Snapshot.html | 0
.../html/classsinga_1_1SoftmaxCrossEntropy-members.html | 0
.../doxygen}/html/classsinga_1_1SoftmaxCrossEntropy.html | 0
.../html/classsinga_1_1SoftmaxCrossEntropy__coll__graph.dot | 0
.../html/classsinga_1_1SoftmaxCrossEntropy__coll__graph.md5 | 0
.../classsinga_1_1SoftmaxCrossEntropy__inherit__graph.dot | 0
.../classsinga_1_1SoftmaxCrossEntropy__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Tensor-members.html | 0
{doxygen => content/doxygen}/html/classsinga_1_1Tensor.html | 0
.../doxygen}/html/classsinga_1_1Tensor__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1Tensor__coll__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Timer-members.html | 0
{doxygen => content/doxygen}/html/classsinga_1_1Timer.html | 0
.../doxygen}/html/classsinga_1_1Tokenizer-members.html | 0
.../doxygen}/html/classsinga_1_1Tokenizer.html | 0
.../doxygen}/html/classsinga_1_1Transformer-members.html | 0
.../doxygen}/html/classsinga_1_1Transformer.html | 0
.../html/classsinga_1_1Transformer__inherit__graph.dot | 0
.../html/classsinga_1_1Transformer__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Updater-members.html | 0
.../doxygen}/html/classsinga_1_1Updater.html | 0
.../doxygen}/html/classsinga_1_1Updater__coll__graph.dot | 0
.../doxygen}/html/classsinga_1_1Updater__coll__graph.md5 | 0
.../doxygen}/html/classsinga_1_1Updater__inherit__graph.dot | 0
.../doxygen}/html/classsinga_1_1Updater__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1VirtualMemory.html | 0
.../html/classsinga_1_1init_1_1Constant-members.html | 0
.../doxygen}/html/classsinga_1_1init_1_1Constant.html | 0
.../html/classsinga_1_1init_1_1Constant__coll__graph.dot | 0
.../html/classsinga_1_1init_1_1Constant__coll__graph.md5 | 0
.../html/classsinga_1_1init_1_1Constant__inherit__graph.dot | 0
.../html/classsinga_1_1init_1_1Constant__inherit__graph.md5 | 0
.../html/classsinga_1_1init_1_1Gaussian-members.html | 0
.../doxygen}/html/classsinga_1_1init_1_1Gaussian.html | 0
.../html/classsinga_1_1init_1_1Gaussian__coll__graph.dot | 0
.../html/classsinga_1_1init_1_1Gaussian__coll__graph.md5 | 0
.../html/classsinga_1_1init_1_1Gaussian__inherit__graph.dot | 0
.../html/classsinga_1_1init_1_1Gaussian__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1init_1_1MSRA-members.html | 0
.../doxygen}/html/classsinga_1_1init_1_1MSRA.html | 0
.../html/classsinga_1_1init_1_1MSRA__coll__graph.dot | 0
.../html/classsinga_1_1init_1_1MSRA__coll__graph.md5 | 0
.../html/classsinga_1_1init_1_1MSRA__inherit__graph.dot | 0
.../html/classsinga_1_1init_1_1MSRA__inherit__graph.md5 | 0
.../html/classsinga_1_1init_1_1Uniform-members.html | 0
.../doxygen}/html/classsinga_1_1init_1_1Uniform.html | 0
.../html/classsinga_1_1init_1_1Uniform__coll__graph.dot | 0
.../html/classsinga_1_1init_1_1Uniform__coll__graph.md5 | 0
.../html/classsinga_1_1init_1_1Uniform__inherit__graph.dot | 0
.../html/classsinga_1_1init_1_1Uniform__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1init_1_1Xavier-members.html | 0
.../doxygen}/html/classsinga_1_1init_1_1Xavier.html | 0
.../html/classsinga_1_1init_1_1Xavier__coll__graph.dot | 0
.../html/classsinga_1_1init_1_1Xavier__coll__graph.md5 | 0
.../html/classsinga_1_1init_1_1Xavier__inherit__graph.dot | 0
.../html/classsinga_1_1init_1_1Xavier__inherit__graph.md5 | 0
.../html/classsinga_1_1io_1_1BinFileReader-members.html | 0
.../doxygen}/html/classsinga_1_1io_1_1BinFileReader.html | 0
.../html/classsinga_1_1io_1_1BinFileReader__coll__graph.dot | 0
.../html/classsinga_1_1io_1_1BinFileReader__coll__graph.md5 | 0
.../classsinga_1_1io_1_1BinFileReader__inherit__graph.dot | 0
.../classsinga_1_1io_1_1BinFileReader__inherit__graph.md5 | 0
.../html/classsinga_1_1io_1_1BinFileWriter-members.html | 0
.../doxygen}/html/classsinga_1_1io_1_1BinFileWriter.html | 0
.../html/classsinga_1_1io_1_1BinFileWriter__coll__graph.dot | 0
.../html/classsinga_1_1io_1_1BinFileWriter__coll__graph.md5 | 0
.../classsinga_1_1io_1_1BinFileWriter__inherit__graph.dot | 0
.../classsinga_1_1io_1_1BinFileWriter__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1io_1_1Reader-members.html | 0
.../doxygen}/html/classsinga_1_1io_1_1Reader.html | 0
.../html/classsinga_1_1io_1_1Reader__inherit__graph.dot | 0
.../html/classsinga_1_1io_1_1Reader__inherit__graph.md5 | 0
.../html/classsinga_1_1io_1_1TextFileReader-members.html | 0
.../doxygen}/html/classsinga_1_1io_1_1TextFileReader.html | 0
.../classsinga_1_1io_1_1TextFileReader__coll__graph.dot | 0
.../classsinga_1_1io_1_1TextFileReader__coll__graph.md5 | 0
.../classsinga_1_1io_1_1TextFileReader__inherit__graph.dot | 0
.../classsinga_1_1io_1_1TextFileReader__inherit__graph.md5 | 0
.../html/classsinga_1_1io_1_1TextFileWriter-members.html | 0
.../doxygen}/html/classsinga_1_1io_1_1TextFileWriter.html | 0
.../classsinga_1_1io_1_1TextFileWriter__coll__graph.dot | 0
.../classsinga_1_1io_1_1TextFileWriter__coll__graph.md5 | 0
.../classsinga_1_1io_1_1TextFileWriter__inherit__graph.dot | 0
.../classsinga_1_1io_1_1TextFileWriter__inherit__graph.md5 | 0
.../doxygen}/html/classsinga_1_1io_1_1Writer-members.html | 0
.../doxygen}/html/classsinga_1_1io_1_1Writer.html | 0
.../html/classsinga_1_1io_1_1Writer__inherit__graph.dot | 0
.../html/classsinga_1_1io_1_1Writer__inherit__graph.md5 | 0
...sssinga_1_1logging_1_1CheckOpMessageBuilder-members.html | 0
.../classsinga_1_1logging_1_1CheckOpMessageBuilder.html | 0
.../html/classsinga_1_1logging_1_1LogMessage-members.html | 0
.../doxygen}/html/classsinga_1_1logging_1_1LogMessage.html | 0
.../classsinga_1_1logging_1_1LogMessageFatal-members.html | 0
.../html/classsinga_1_1logging_1_1LogMessageFatal.html | 0
...lasssinga_1_1logging_1_1LogMessageFatal__coll__graph.dot | 0
...lasssinga_1_1logging_1_1LogMessageFatal__coll__graph.md5 | 0
...ssinga_1_1logging_1_1LogMessageFatal__inherit__graph.dot | 0
...ssinga_1_1logging_1_1LogMessageFatal__inherit__graph.md5 | 0
.../classsinga_1_1logging_1_1LogMessage__coll__graph.dot | 0
.../classsinga_1_1logging_1_1LogMessage__coll__graph.md5 | 0
.../classsinga_1_1logging_1_1LogMessage__inherit__graph.dot | 0
.../classsinga_1_1logging_1_1LogMessage__inherit__graph.md5 | 0
{doxygen => content/doxygen}/html/closed.png | Bin
{doxygen => content/doxygen}/html/common_8h_source.html | 0
.../doxygen}/html/cuda__utils_8h_source.html | 0
{doxygen => content/doxygen}/html/decoder_8h_source.html | 0
{doxygen => content/doxygen}/html/device_8h_source.html | 0
.../doxygen}/html/dir_0c57f5a0b2589d9cd025f1d3faf7a1ee.html | 0
.../doxygen}/html/dir_14a988756d30161f7e1f48b05d03905d.html | 0
.../doxygen}/html/dir_1ed15e94f94d348ba7de93ac6315cc91.html | 0
.../doxygen}/html/dir_54125cd652f9635a64a4101de1b8704d.html | 0
.../doxygen}/html/dir_953eafc3caccd34fc2601f376f19d1ef.html | 0
.../doxygen}/html/dir_d44c64559bbebec7f509842c48db8b23.html | 0
{doxygen => content/doxygen}/html/doc.png | Bin
{doxygen => content/doxygen}/html/doxygen.css | 0
{doxygen => content/doxygen}/html/doxygen.png | Bin
{doxygen => content/doxygen}/html/dynsections.js | 0
{doxygen => content/doxygen}/html/encoder_8h_source.html | 0
{doxygen => content/doxygen}/html/factory_8h_source.html | 0
.../doxygen}/html/feed__forward__net_8h_source.html | 0
{doxygen => content/doxygen}/html/files.html | 0
{doxygen => content/doxygen}/html/folderclosed.png | Bin
{doxygen => content/doxygen}/html/folderopen.png | Bin
{doxygen => content/doxygen}/html/functions.html | 0
{doxygen => content/doxygen}/html/functions_0x7e.html | 0
{doxygen => content/doxygen}/html/functions_b.html | 0
{doxygen => content/doxygen}/html/functions_c.html | 0
{doxygen => content/doxygen}/html/functions_d.html | 0
{doxygen => content/doxygen}/html/functions_e.html | 0
{doxygen => content/doxygen}/html/functions_f.html | 0
{doxygen => content/doxygen}/html/functions_func.html | 0
{doxygen => content/doxygen}/html/functions_func_0x7e.html | 0
{doxygen => content/doxygen}/html/functions_func_b.html | 0
{doxygen => content/doxygen}/html/functions_func_c.html | 0
{doxygen => content/doxygen}/html/functions_func_d.html | 0
{doxygen => content/doxygen}/html/functions_func_e.html | 0
{doxygen => content/doxygen}/html/functions_func_f.html | 0
{doxygen => content/doxygen}/html/functions_func_g.html | 0
{doxygen => content/doxygen}/html/functions_func_i.html | 0
{doxygen => content/doxygen}/html/functions_func_l.html | 0
{doxygen => content/doxygen}/html/functions_func_m.html | 0
{doxygen => content/doxygen}/html/functions_func_n.html | 0
{doxygen => content/doxygen}/html/functions_func_o.html | 0
{doxygen => content/doxygen}/html/functions_func_p.html | 0
{doxygen => content/doxygen}/html/functions_func_r.html | 0
{doxygen => content/doxygen}/html/functions_func_s.html | 0
{doxygen => content/doxygen}/html/functions_func_t.html | 0
{doxygen => content/doxygen}/html/functions_func_v.html | 0
{doxygen => content/doxygen}/html/functions_func_w.html | 0
{doxygen => content/doxygen}/html/functions_g.html | 0
{doxygen => content/doxygen}/html/functions_h.html | 0
{doxygen => content/doxygen}/html/functions_i.html | 0
{doxygen => content/doxygen}/html/functions_l.html | 0
{doxygen => content/doxygen}/html/functions_m.html | 0
{doxygen => content/doxygen}/html/functions_n.html | 0
{doxygen => content/doxygen}/html/functions_o.html | 0
{doxygen => content/doxygen}/html/functions_p.html | 0
{doxygen => content/doxygen}/html/functions_r.html | 0
{doxygen => content/doxygen}/html/functions_s.html | 0
{doxygen => content/doxygen}/html/functions_t.html | 0
{doxygen => content/doxygen}/html/functions_v.html | 0
{doxygen => content/doxygen}/html/functions_vars.html | 0
{doxygen => content/doxygen}/html/functions_w.html | 0
{doxygen => content/doxygen}/html/graph_legend.dot | 0
{doxygen => content/doxygen}/html/graph_legend.html | 0
{doxygen => content/doxygen}/html/graph_legend.md5 | 0
{doxygen => content/doxygen}/html/hierarchy.html | 0
{doxygen => content/doxygen}/html/index.html | 0
{doxygen => content/doxygen}/html/inherit_graph_0.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_0.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_1.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_1.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_10.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_10.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_11.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_11.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_12.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_12.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_13.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_13.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_14.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_14.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_15.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_15.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_16.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_16.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_17.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_17.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_18.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_18.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_19.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_19.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_2.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_2.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_20.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_20.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_21.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_21.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_22.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_22.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_23.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_23.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_24.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_24.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_25.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_25.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_26.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_26.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_27.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_27.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_28.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_28.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_29.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_29.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_3.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_3.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_30.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_30.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_31.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_31.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_32.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_32.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_33.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_33.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_34.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_34.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_35.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_35.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_36.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_36.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_37.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_37.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_38.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_38.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_39.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_39.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_4.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_4.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_40.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_40.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_5.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_5.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_6.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_6.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_7.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_7.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_8.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_8.md5 | 0
{doxygen => content/doxygen}/html/inherit_graph_9.dot | 0
{doxygen => content/doxygen}/html/inherit_graph_9.md5 | 0
{doxygen => content/doxygen}/html/inherits.html | 0
.../doxygen}/html/initializer_8h_source.html | 0
.../doxygen}/html/io_2integer_8h_source.html | 0
{doxygen => content/doxygen}/html/jquery.js | 0
{doxygen => content/doxygen}/html/layer_8h_source.html | 0
{doxygen => content/doxygen}/html/logging_8h_source.html | 0
{doxygen => content/doxygen}/html/loss_8h_source.html | 0
{doxygen => content/doxygen}/html/memory_8h_source.html | 0
{doxygen => content/doxygen}/html/menu.js | 0
{doxygen => content/doxygen}/html/menudata.js | 0
{doxygen => content/doxygen}/html/metric_8h_source.html | 0
.../doxygen}/html/mkldnn__utils_8h_source.html | 0
{doxygen => content/doxygen}/html/namespacemembers.html | 0
.../doxygen}/html/namespacemembers_func.html | 0
.../doxygen}/html/namespacemembers_type.html | 0
.../doxygen}/html/namespacemembers_vars.html | 0
{doxygen => content/doxygen}/html/namespaces.html | 0
{doxygen => content/doxygen}/html/namespacesinga.html | 0
{doxygen => content/doxygen}/html/nav_f.png | Bin
{doxygen => content/doxygen}/html/nav_g.png | Bin
{doxygen => content/doxygen}/html/nav_h.png | Bin
{doxygen => content/doxygen}/html/network_8h_source.html | 0
{doxygen => content/doxygen}/html/open.png | Bin
.../doxygen}/html/opencl__utils_8h_source.html | 0
{doxygen => content/doxygen}/html/optimizer_8h_source.html | 0
{doxygen => content/doxygen}/html/reader_8h_source.html | 0
.../doxygen}/html/safe__queue_8h_source.html | 0
{doxygen => content/doxygen}/html/scheduler_8h_source.html | 0
{doxygen => content/doxygen}/html/search/all_0.html | 0
{doxygen => content/doxygen}/html/search/all_0.js | 0
{doxygen => content/doxygen}/html/search/all_1.html | 0
{doxygen => content/doxygen}/html/search/all_1.js | 0
{doxygen => content/doxygen}/html/search/all_10.html | 0
{doxygen => content/doxygen}/html/search/all_10.js | 0
{doxygen => content/doxygen}/html/search/all_11.html | 0
{doxygen => content/doxygen}/html/search/all_11.js | 0
{doxygen => content/doxygen}/html/search/all_12.html | 0
{doxygen => content/doxygen}/html/search/all_12.js | 0
{doxygen => content/doxygen}/html/search/all_13.html | 0
{doxygen => content/doxygen}/html/search/all_13.js | 0
{doxygen => content/doxygen}/html/search/all_14.html | 0
{doxygen => content/doxygen}/html/search/all_14.js | 0
{doxygen => content/doxygen}/html/search/all_15.html | 0
{doxygen => content/doxygen}/html/search/all_15.js | 0
{doxygen => content/doxygen}/html/search/all_16.html | 0
{doxygen => content/doxygen}/html/search/all_16.js | 0
{doxygen => content/doxygen}/html/search/all_17.html | 0
{doxygen => content/doxygen}/html/search/all_17.js | 0
{doxygen => content/doxygen}/html/search/all_2.html | 0
{doxygen => content/doxygen}/html/search/all_2.js | 0
{doxygen => content/doxygen}/html/search/all_3.html | 0
{doxygen => content/doxygen}/html/search/all_3.js | 0
{doxygen => content/doxygen}/html/search/all_4.html | 0
{doxygen => content/doxygen}/html/search/all_4.js | 0
{doxygen => content/doxygen}/html/search/all_5.html | 0
{doxygen => content/doxygen}/html/search/all_5.js | 0
{doxygen => content/doxygen}/html/search/all_6.html | 0
{doxygen => content/doxygen}/html/search/all_6.js | 0
{doxygen => content/doxygen}/html/search/all_7.html | 0
{doxygen => content/doxygen}/html/search/all_7.js | 0
{doxygen => content/doxygen}/html/search/all_8.html | 0
{doxygen => content/doxygen}/html/search/all_8.js | 0
{doxygen => content/doxygen}/html/search/all_9.html | 0
{doxygen => content/doxygen}/html/search/all_9.js | 0
{doxygen => content/doxygen}/html/search/all_a.html | 0
{doxygen => content/doxygen}/html/search/all_a.js | 0
{doxygen => content/doxygen}/html/search/all_b.html | 0
{doxygen => content/doxygen}/html/search/all_b.js | 0
{doxygen => content/doxygen}/html/search/all_c.html | 0
{doxygen => content/doxygen}/html/search/all_c.js | 0
{doxygen => content/doxygen}/html/search/all_d.html | 0
{doxygen => content/doxygen}/html/search/all_d.js | 0
{doxygen => content/doxygen}/html/search/all_e.html | 0
{doxygen => content/doxygen}/html/search/all_e.js | 0
{doxygen => content/doxygen}/html/search/all_f.html | 0
{doxygen => content/doxygen}/html/search/all_f.js | 0
{doxygen => content/doxygen}/html/search/classes_0.html | 0
{doxygen => content/doxygen}/html/search/classes_0.js | 0
{doxygen => content/doxygen}/html/search/classes_1.html | 0
{doxygen => content/doxygen}/html/search/classes_1.js | 0
{doxygen => content/doxygen}/html/search/classes_10.html | 0
{doxygen => content/doxygen}/html/search/classes_10.js | 0
{doxygen => content/doxygen}/html/search/classes_11.html | 0
{doxygen => content/doxygen}/html/search/classes_11.js | 0
{doxygen => content/doxygen}/html/search/classes_12.html | 0
{doxygen => content/doxygen}/html/search/classes_12.js | 0
{doxygen => content/doxygen}/html/search/classes_13.html | 0
{doxygen => content/doxygen}/html/search/classes_13.js | 0
{doxygen => content/doxygen}/html/search/classes_14.html | 0
{doxygen => content/doxygen}/html/search/classes_14.js | 0
{doxygen => content/doxygen}/html/search/classes_2.html | 0
{doxygen => content/doxygen}/html/search/classes_2.js | 0
{doxygen => content/doxygen}/html/search/classes_3.html | 0
{doxygen => content/doxygen}/html/search/classes_3.js | 0
{doxygen => content/doxygen}/html/search/classes_4.html | 0
{doxygen => content/doxygen}/html/search/classes_4.js | 0
{doxygen => content/doxygen}/html/search/classes_5.html | 0
{doxygen => content/doxygen}/html/search/classes_5.js | 0
{doxygen => content/doxygen}/html/search/classes_6.html | 0
{doxygen => content/doxygen}/html/search/classes_6.js | 0
{doxygen => content/doxygen}/html/search/classes_7.html | 0
{doxygen => content/doxygen}/html/search/classes_7.js | 0
{doxygen => content/doxygen}/html/search/classes_8.html | 0
{doxygen => content/doxygen}/html/search/classes_8.js | 0
{doxygen => content/doxygen}/html/search/classes_9.html | 0
{doxygen => content/doxygen}/html/search/classes_9.js | 0
{doxygen => content/doxygen}/html/search/classes_a.html | 0
{doxygen => content/doxygen}/html/search/classes_a.js | 0
{doxygen => content/doxygen}/html/search/classes_b.html | 0
{doxygen => content/doxygen}/html/search/classes_b.js | 0
{doxygen => content/doxygen}/html/search/classes_c.html | 0
{doxygen => content/doxygen}/html/search/classes_c.js | 0
{doxygen => content/doxygen}/html/search/classes_d.html | 0
{doxygen => content/doxygen}/html/search/classes_d.js | 0
{doxygen => content/doxygen}/html/search/classes_e.html | 0
{doxygen => content/doxygen}/html/search/classes_e.js | 0
{doxygen => content/doxygen}/html/search/classes_f.html | 0
{doxygen => content/doxygen}/html/search/classes_f.js | 0
{doxygen => content/doxygen}/html/search/close.png | Bin
{doxygen => content/doxygen}/html/search/functions_0.html | 0
{doxygen => content/doxygen}/html/search/functions_0.js | 0
{doxygen => content/doxygen}/html/search/functions_1.html | 0
{doxygen => content/doxygen}/html/search/functions_1.js | 0
{doxygen => content/doxygen}/html/search/functions_10.html | 0
{doxygen => content/doxygen}/html/search/functions_10.js | 0
{doxygen => content/doxygen}/html/search/functions_11.html | 0
{doxygen => content/doxygen}/html/search/functions_11.js | 0
{doxygen => content/doxygen}/html/search/functions_12.html | 0
{doxygen => content/doxygen}/html/search/functions_12.js | 0
{doxygen => content/doxygen}/html/search/functions_13.html | 0
{doxygen => content/doxygen}/html/search/functions_13.js | 0
{doxygen => content/doxygen}/html/search/functions_2.html | 0
{doxygen => content/doxygen}/html/search/functions_2.js | 0
{doxygen => content/doxygen}/html/search/functions_3.html | 0
{doxygen => content/doxygen}/html/search/functions_3.js | 0
{doxygen => content/doxygen}/html/search/functions_4.html | 0
{doxygen => content/doxygen}/html/search/functions_4.js | 0
{doxygen => content/doxygen}/html/search/functions_5.html | 0
{doxygen => content/doxygen}/html/search/functions_5.js | 0
{doxygen => content/doxygen}/html/search/functions_6.html | 0
{doxygen => content/doxygen}/html/search/functions_6.js | 0
{doxygen => content/doxygen}/html/search/functions_7.html | 0
{doxygen => content/doxygen}/html/search/functions_7.js | 0
{doxygen => content/doxygen}/html/search/functions_8.html | 0
{doxygen => content/doxygen}/html/search/functions_8.js | 0
{doxygen => content/doxygen}/html/search/functions_9.html | 0
{doxygen => content/doxygen}/html/search/functions_9.js | 0
{doxygen => content/doxygen}/html/search/functions_a.html | 0
{doxygen => content/doxygen}/html/search/functions_a.js | 0
{doxygen => content/doxygen}/html/search/functions_b.html | 0
{doxygen => content/doxygen}/html/search/functions_b.js | 0
{doxygen => content/doxygen}/html/search/functions_c.html | 0
{doxygen => content/doxygen}/html/search/functions_c.js | 0
{doxygen => content/doxygen}/html/search/functions_d.html | 0
{doxygen => content/doxygen}/html/search/functions_d.js | 0
{doxygen => content/doxygen}/html/search/functions_e.html | 0
{doxygen => content/doxygen}/html/search/functions_e.js | 0
{doxygen => content/doxygen}/html/search/functions_f.html | 0
{doxygen => content/doxygen}/html/search/functions_f.js | 0
{doxygen => content/doxygen}/html/search/mag_sel.png | Bin
{doxygen => content/doxygen}/html/search/namespaces_0.html | 0
{doxygen => content/doxygen}/html/search/namespaces_0.js | 0
{doxygen => content/doxygen}/html/search/nomatches.html | 0
{doxygen => content/doxygen}/html/search/search.css | 0
{doxygen => content/doxygen}/html/search/search.js | 0
{doxygen => content/doxygen}/html/search/search_l.png | Bin
{doxygen => content/doxygen}/html/search/search_m.png | Bin
{doxygen => content/doxygen}/html/search/search_r.png | Bin
{doxygen => content/doxygen}/html/search/searchdata.js | 0
{doxygen => content/doxygen}/html/search/typedefs_0.html | 0
{doxygen => content/doxygen}/html/search/typedefs_0.js | 0
{doxygen => content/doxygen}/html/search/variables_0.html | 0
{doxygen => content/doxygen}/html/search/variables_0.js | 0
{doxygen => content/doxygen}/html/search/variables_1.html | 0
{doxygen => content/doxygen}/html/search/variables_1.js | 0
{doxygen => content/doxygen}/html/search/variables_2.html | 0
{doxygen => content/doxygen}/html/search/variables_2.js | 0
{doxygen => content/doxygen}/html/search/variables_3.html | 0
{doxygen => content/doxygen}/html/search/variables_3.js | 0
{doxygen => content/doxygen}/html/search/variables_4.html | 0
{doxygen => content/doxygen}/html/search/variables_4.js | 0
{doxygen => content/doxygen}/html/singleton_8h_source.html | 0
{doxygen => content/doxygen}/html/snapshot_8h_source.html | 0
{doxygen => content/doxygen}/html/splitbar.png | Bin
{doxygen => content/doxygen}/html/string_8h_source.html | 0
.../doxygen}/html/structsinga_1_1__Context-members.html | 0
.../doxygen}/html/structsinga_1_1__Context.html | 0
.../doxygen}/html/structsinga_1_1lang_1_1__Cpp.html | 0
.../doxygen}/html/structsinga_1_1lang_1_1__Cuda.html | 0
.../doxygen}/html/structsinga_1_1lang_1_1__Opencl.html | 0
.../structsinga_1_1logging_1_1CheckOpString-members.html | 0
.../html/structsinga_1_1logging_1_1CheckOpString.html | 0
...structsinga_1_1logging_1_1CheckOpString__coll__graph.dot | 0
...structsinga_1_1logging_1_1CheckOpString__coll__graph.md5 | 0
.../doxygen}/html/structtinydir__dir-members.html | 0
{doxygen => content/doxygen}/html/structtinydir__dir.html | 0
.../doxygen}/html/structtinydir__dir__coll__graph.dot | 0
.../doxygen}/html/structtinydir__dir__coll__graph.md5 | 0
.../doxygen}/html/structtinydir__file-members.html | 0
{doxygen => content/doxygen}/html/structtinydir__file.html | 0
{doxygen => content/doxygen}/html/sync_off.png | Bin
{doxygen => content/doxygen}/html/sync_on.png | Bin
{doxygen => content/doxygen}/html/tab_a.png | Bin
{doxygen => content/doxygen}/html/tab_b.png | Bin
{doxygen => content/doxygen}/html/tab_h.png | Bin
{doxygen => content/doxygen}/html/tab_s.png | Bin
{doxygen => content/doxygen}/html/tabs.css | 0
{doxygen => content/doxygen}/html/tensor_8h_source.html | 0
{doxygen => content/doxygen}/html/timer_8h_source.html | 0
{doxygen => content/doxygen}/html/tinydir_8h_source.html | 0
.../doxygen}/html/transformer_8h_source.html | 0
{doxygen => content/doxygen}/html/updater_8h_source.html | 0
.../doxygen}/html/utils_2integer_8h_source.html | 0
{doxygen => content/doxygen}/html/writer_8h_source.html | 0
{en => content/en}/.buildinfo | 0
.../en/_sources}/community/issue-tracking.md.txt | 0
{en => content/en}/_sources/community/mail-lists.rst.txt | 0
.../en/_sources}/community/source-repository.rst.txt | 0
.../en/_sources}/community/team-list.rst.txt | 0
.../en/_sources}/develop/contribute-code.md.txt | 0
.../en/_sources}/develop/contribute-docs.md.txt | 0
.../en/_sources}/develop/how-contribute.md.txt | 0
.../en/_sources}/develop/how-to-release.rst.txt | 0
{_sources => content/en/_sources}/develop/schedule.rst.txt | 0
{_sources => content/en/_sources}/docs.rst.txt | 0
{_sources => content/en/_sources}/docs/autograd.md.txt | 0
{_sources => content/en/_sources}/docs/benchmark.md.txt | 0
{_sources => content/en/_sources}/docs/cnn.md.txt | 0
{_sources => content/en/_sources}/docs/converter.rst.txt | 0
{_sources => content/en/_sources}/docs/data.rst.txt | 0
{_sources => content/en/_sources}/docs/dependencies.md.txt | 0
{_sources => content/en/_sources}/docs/device.rst.txt | 0
{_sources => content/en/_sources}/docs/docker.md.txt | 0
{_sources => content/en/_sources}/docs/image_tool.rst.txt | 0
{en => content/en}/_sources/docs/index.rst.txt | 0
{_sources => content/en/_sources}/docs/initializer.rst.txt | 0
.../en/_sources}/docs/install_macos1013.rst.txt | 0
{_sources => content/en/_sources}/docs/install_win.rst.txt | 0
{_sources => content/en/_sources}/docs/installation.md.txt | 0
{_sources => content/en/_sources}/docs/layer.rst.txt | 0
{_sources => content/en/_sources}/docs/loss.rst.txt | 0
{_sources => content/en/_sources}/docs/metric.rst.txt | 0
.../en/_sources}/docs/model_zoo/caffe/README.md.txt | 0
.../en/_sources}/docs/model_zoo/char-rnn/README.md.txt | 0
.../en/_sources}/docs/model_zoo/cifar10/README.md.txt | 0
.../_sources}/docs/model_zoo/examples/caffe/README.md.txt | 0
.../docs/model_zoo/examples/char-rnn/README.md.txt | 0
.../_sources}/docs/model_zoo/examples/cifar10/README.md.txt | 0
.../docs/model_zoo/examples/imagenet/alexnet/README.md.txt | 0
.../model_zoo/examples}/imagenet/densenet/README.md.txt | 0
.../model_zoo/examples/imagenet/googlenet/README.md.txt | 0
.../model_zoo/examples/imagenet/inception/README.md.txt | 0
.../docs/model_zoo/examples/imagenet/resnet/README.md.txt | 0
.../docs/model_zoo/examples/imagenet/vgg/README.md.txt | 0
.../en/_sources}/docs/model_zoo/examples/index.rst.txt | 0
.../_sources}/docs/model_zoo/examples/mnist/README.md.txt | 0
.../_sources}/docs/model_zoo/imagenet/alexnet/README.md.txt | 0
.../docs/model_zoo}/imagenet/densenet/README.md.txt | 0
.../docs/model_zoo/imagenet/googlenet/README.md.txt | 0
.../docs/model_zoo/imagenet/inception/README.md.txt | 0
.../_sources}/docs/model_zoo/imagenet/resnet/README.md.txt | 0
.../en/_sources}/docs/model_zoo/imagenet/vgg/README.md.txt | 0
.../en/_sources}/docs/model_zoo/index.rst.txt | 0
.../en/_sources}/docs/model_zoo/mnist/README.md.txt | 0
{_sources => content/en/_sources}/docs/net.rst.txt | 0
{_sources => content/en/_sources}/docs/neural-net.md.txt | 0
.../en/_sources}/docs/notebook/README.md.txt | 0
{_sources => content/en/_sources}/docs/optimizer.rst.txt | 0
{_sources => content/en/_sources}/docs/security.rst.txt | 0
{_sources => content/en/_sources}/docs/snapshot.rst.txt | 0
.../en/_sources}/docs/software_stack.md.txt | 0
{_sources => content/en/_sources}/docs/tensor.rst.txt | 0
{_sources => content/en/_sources}/docs/utils.rst.txt | 0
{en => content/en}/_sources/downloads.md.txt | 0
{en => content/en}/_sources/index.rst.txt | 0
.../en/_sources}/releases/RELEASE_NOTES_0.1.0.md.txt | 0
.../en/_sources}/releases/RELEASE_NOTES_0.2.0.md.txt | 0
.../en/_sources}/releases/RELEASE_NOTES_0.3.0.md.txt | 0
.../en/_sources}/releases/RELEASE_NOTES_1.0.0.md.txt | 0
.../en/_sources}/releases/RELEASE_NOTES_1.1.0.md.txt | 0
.../en/_sources}/releases/RELEASE_NOTES_1.2.0.md.txt | 0
.../en/_sources}/releases/RELEASE_NOTES_2.0.0.md.txt | 0
{v1.1.0 => content/en}/_static/ajax-loader.gif | Bin
{en => content/en}/_static/apache.png | Bin
{en => content/en}/_static/awsmp.gif | Bin
{en => content/en}/_static/basic.css | 0
{en => content/en}/_static/comment-bright.png | Bin
{en => content/en}/_static/comment-close.png | Bin
{en => content/en}/_static/comment.png | Bin
{en => content/en}/_static/css/badge_only.css | 0
{en => content/en}/_static/css/theme.css | 0
{en => content/en}/_static/docker.png | Bin
{en => content/en}/_static/doctools.js | 0
{en => content/en}/_static/documentation_options.js | 0
{en => content/en}/_static/down-pressed.png | Bin
{en => content/en}/_static/down.png | Bin
{en => content/en}/_static/file.png | Bin
{en => content/en}/_static/fonts/Inconsolata-Bold.ttf | Bin
{en => content/en}/_static/fonts/Inconsolata-Regular.ttf | Bin
{en => content/en}/_static/fonts/Inconsolata.ttf | Bin
{en => content/en}/_static/fonts/Lato-Bold.ttf | Bin
{zh => content/en}/_static/fonts/Lato-BoldItalic.ttf | Bin
{zh => content/en}/_static/fonts/Lato-Italic.ttf | Bin
{en => content/en}/_static/fonts/Lato-Regular.ttf | Bin
{en => content/en}/_static/fonts/Lato/lato-bold.eot | Bin
{en => content/en}/_static/fonts/Lato/lato-bold.ttf | Bin
{en => content/en}/_static/fonts/Lato/lato-bold.woff | Bin
{en => content/en}/_static/fonts/Lato/lato-bold.woff2 | Bin
{en => content/en}/_static/fonts/Lato/lato-bolditalic.eot | Bin
{en => content/en}/_static/fonts/Lato/lato-bolditalic.ttf | Bin
{en => content/en}/_static/fonts/Lato/lato-bolditalic.woff | Bin
{en => content/en}/_static/fonts/Lato/lato-bolditalic.woff2 | Bin
{en => content/en}/_static/fonts/Lato/lato-italic.eot | Bin
{en => content/en}/_static/fonts/Lato/lato-italic.ttf | Bin
{en => content/en}/_static/fonts/Lato/lato-italic.woff | Bin
{en => content/en}/_static/fonts/Lato/lato-italic.woff2 | Bin
{en => content/en}/_static/fonts/Lato/lato-regular.eot | Bin
{en => content/en}/_static/fonts/Lato/lato-regular.ttf | Bin
{en => content/en}/_static/fonts/Lato/lato-regular.woff | Bin
{en => content/en}/_static/fonts/Lato/lato-regular.woff2 | Bin
{v1.1.0 => content/en}/_static/fonts/RobotoSlab-Bold.ttf | Bin
{v1.1.0 => content/en}/_static/fonts/RobotoSlab-Regular.ttf | Bin
.../en}/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot | Bin
.../en}/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf | Bin
.../en}/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff | Bin
.../en}/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 | Bin
.../en}/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot | Bin
.../en}/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf | Bin
.../_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff | Bin
.../_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 | Bin
{en => content/en}/_static/fonts/fontawesome-webfont.eot | Bin
{en => content/en}/_static/fonts/fontawesome-webfont.svg | 0
{en => content/en}/_static/fonts/fontawesome-webfont.ttf | Bin
{en => content/en}/_static/fonts/fontawesome-webfont.woff | Bin
{en => content/en}/_static/fonts/fontawesome-webfont.woff2 | Bin
{en => content/en}/_static/github.png | Bin
{en => content/en}/_static/images/benchmark.png | Bin
{v1.1.0 => content/en}/_static/images/mlp-net.png | Bin
{v1.1.0 => content/en}/_static/images/model-category.png | Bin
{v1.1.0 => content/en}/_static/images/overview.png | Bin
{v1.1.0 => content/en}/_static/images/partition_fc.png | Bin
{v1.1.0 => content/en}/_static/images/rbm-rnn.png | Bin
{v1.1.0 => content/en}/_static/images/sgd.png | Bin
{v1.1.0 => content/en}/_static/images/singa.png | Bin
{v1.1.0 => content/en}/_static/images/singav1-sw.png | Bin
{en => content/en}/_static/jquery-3.2.1.js | 0
{en => content/en}/_static/jquery.js | 0
{v0.3.0/zh => content/en}/_static/js/modernizr.min.js | 0
{en => content/en}/_static/js/theme.js | 0
{en => content/en}/_static/jupyter.png | Bin
{en => content/en}/_static/language_data.js | 0
{en => content/en}/_static/minus.png | Bin
{en => content/en}/_static/plus.png | Bin
{en => content/en}/_static/pygments.css | 0
{en => content/en}/_static/searchtools.js | 0
{v1.1.0 => content/en}/_static/singa.png | Bin
{en => content/en}/_static/style.css | 0
{v1.1.0 => content/en}/_static/underscore-1.3.1.js | 0
{v0.3.0/zh => content/en}/_static/underscore.js | 0
{en => content/en}/_static/up-pressed.png | Bin
{en => content/en}/_static/up.png | Bin
{zh => content/en}/_static/websupport.js | 0
{en => content/en}/community/issue-tracking.html | 0
{en => content/en}/community/mail-lists.html | 0
{en => content/en}/community/source-repository.html | 0
{en => content/en}/community/team-list.html | 0
{en => content/en}/develop/build.html | 0
{en => content/en}/develop/contribute-code.html | 0
{en => content/en}/develop/contribute-docs.html | 0
{en => content/en}/develop/how-contribute.html | 0
{en => content/en}/develop/how-to-release.html | 0
{en => content/en}/develop/schedule.html | 0
{en => content/en}/docs.html | 0
{en => content/en}/docs/autograd.html | 0
{en => content/en}/docs/benchmark.html | 0
{en => content/en}/docs/cnn.html | 0
{en => content/en}/docs/converter.html | 0
{en => content/en}/docs/data.html | 0
{en => content/en}/docs/dependencies.html | 0
{en => content/en}/docs/device.html | 0
{en => content/en}/docs/docker.html | 0
{en => content/en}/docs/image_tool.html | 0
{en => content/en}/docs/index.html | 0
{en => content/en}/docs/initializer.html | 0
{en => content/en}/docs/install_macos1013.html | 0
{en => content/en}/docs/install_win.html | 0
{en => content/en}/docs/installation.html | 0
{en => content/en}/docs/layer.html | 0
{en => content/en}/docs/loss.html | 0
{en => content/en}/docs/metric.html | 0
{en => content/en}/docs/model_zoo/caffe/README.html | 0
{en => content/en}/docs/model_zoo/char-rnn/README.html | 0
{en => content/en}/docs/model_zoo/cifar10/README.html | 0
.../en}/docs/model_zoo/examples/caffe/README.html | 0
.../en}/docs/model_zoo/examples/char-rnn/README.html | 0
.../en}/docs/model_zoo/examples/cifar10/README.html | 0
.../docs/model_zoo/examples/imagenet/alexnet/README.html | 0
.../docs/model_zoo/examples/imagenet/densenet/README.html | 0
.../docs/model_zoo/examples/imagenet/googlenet/README.html | 0
.../docs/model_zoo/examples/imagenet/inception/README.html | 0
.../en}/docs/model_zoo/examples/imagenet/resnet/README.html | 0
.../en}/docs/model_zoo/examples/imagenet/vgg/README.html | 0
{en => content/en}/docs/model_zoo/examples/index.html | 0
.../en}/docs/model_zoo/examples/mnist/README.html | 0
.../en}/docs/model_zoo/imagenet/alexnet/README.html | 0
.../en}/docs/model_zoo/imagenet/densenet/README.html | 0
.../en}/docs/model_zoo/imagenet/googlenet/README.html | 0
.../en}/docs/model_zoo/imagenet/inception/README.html | 0
.../en}/docs/model_zoo/imagenet/resnet/README.html | 0
{en => content/en}/docs/model_zoo/imagenet/vgg/README.html | 0
{en => content/en}/docs/model_zoo/index.html | 0
{en => content/en}/docs/model_zoo/mnist/README.html | 0
{en => content/en}/docs/net.html | 0
{en => content/en}/docs/neural-net.html | 0
{en => content/en}/docs/notebook/README.html | 0
{en => content/en}/docs/onnx.html | 0
{en => content/en}/docs/optimizer.html | 0
{en => content/en}/docs/security.html | 0
{en => content/en}/docs/snapshot.html | 0
{en => content/en}/docs/software_stack.html | 0
{en => content/en}/docs/tensor.html | 0
{en => content/en}/docs/utils.html | 0
{en => content/en}/downloads.html | 0
{en => content/en}/genindex.html | 0
{en => content/en}/index.html | 0
{en => content/en}/objects.inv | Bin
{en => content/en}/py-modindex.html | 0
{en => content/en}/releases/RELEASE_NOTES_0.1.0.html | 0
{en => content/en}/releases/RELEASE_NOTES_0.2.0.html | 0
{en => content/en}/releases/RELEASE_NOTES_0.3.0.html | 0
{en => content/en}/releases/RELEASE_NOTES_1.0.0.html | 0
{en => content/en}/releases/RELEASE_NOTES_1.1.0.html | 0
{en => content/en}/releases/RELEASE_NOTES_1.2.0.html | 0
{en => content/en}/releases/RELEASE_NOTES_2.0.0.html | 0
{en => content/en}/search.html | 0
{en => content/en}/searchindex.js | 0
{en => content/en}/security.html | 0
genindex.html => content/genindex.html | 0
index.html => content/index.html | 0
objects.inv => content/objects.inv | Bin
py-modindex.html => content/py-modindex.html | 0
{releases => content/releases}/RELEASE_NOTES_0.1.0.html | 0
{releases => content/releases}/RELEASE_NOTES_0.2.0.html | 0
{releases => content/releases}/RELEASE_NOTES_0.3.0.html | 0
{releases => content/releases}/RELEASE_NOTES_1.0.0.html | 0
{releases => content/releases}/RELEASE_NOTES_1.1.0.html | 0
{releases => content/releases}/RELEASE_NOTES_1.2.0.html | 0
{releases => content/releases}/RELEASE_NOTES_2.0.0.html | 0
search.html => content/search.html | 0
searchindex.js => content/searchindex.js | 0
security.html => content/security.html | 0
{v0.3.0/zh => content/v0.3.0/en}/.buildinfo | 0
.../v0.3.0/en}/_sources/community/issue-tracking.txt | 0
.../v0.3.0}/en/_sources/community/mail-lists.txt | 0
.../v0.3.0/en}/_sources/community/source-repository.txt | 0
.../v0.3.0}/en/_sources/community/team-list.txt | 0
.../v0.3.0}/en/_sources/develop/contribute-code.txt | 0
.../v0.3.0}/en/_sources/develop/contribute-docs.txt | 0
.../v0.3.0}/en/_sources/develop/how-contribute.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/develop/schedule.txt | 0
.../v0.3.0}/en/_sources/docs/architecture.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/checkpoint.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/cnn.txt | 0
.../v0.3.0}/en/_sources/docs/code-structure.txt | 0
.../v0.3.0}/en/_sources/docs/communication.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/data.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/debug.txt | 0
.../v0.3.0}/en/_sources/docs/distributed-training.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/docker.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/examples.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/frameworks.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/general-rnn.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/gpu.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/hdfs.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/hybrid.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/index.txt | 0
.../v0.3.0}/en/_sources/docs/installation.txt | 0
.../v0.3.0}/en/_sources/docs/installation_source.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/layer.txt | 0
{v0.3.0/kr => content/v0.3.0/en}/_sources/docs/lmdb.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/mesos.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/mlp.txt | 0
.../v0.3.0}/en/_sources/docs/model-config.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/neural-net.txt | 0
.../v0.3.0}/en/_sources/docs/neuralnet-partition.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/overview.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/param.txt | 0
.../v0.3.0}/en/_sources/docs/programming-guide.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/python.txt | 0
.../en/_sources/docs/python_interactive_training.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/quick-start.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/rbm.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/rnn.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/test.txt | 0
.../v0.3.0}/en/_sources/docs/train-one-batch.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/docs/updater.txt | 0
{v0.3.0 => content/v0.3.0}/en/_sources/downloads.txt | 0
{v0.3.0/zh => content/v0.3.0/en}/_sources/index.txt | 0
{v0.3.0/zh => content/v0.3.0/en}/_static/ajax-loader.gif | Bin
{zh => content/v0.3.0/en}/_static/apache.jpg | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/basic.css | 0
{v1.1.0 => content/v0.3.0/en}/_static/comment-bright.png | Bin
{v1.1.0 => content/v0.3.0/en}/_static/comment-close.png | Bin
{v1.1.0 => content/v0.3.0/en}/_static/comment.png | Bin
{v1.1.0 => content/v0.3.0/en}/_static/css/badge_only.css | 0
{v1.1.0 => content/v0.3.0/en}/_static/css/theme.css | 0
{v0.3.0/zh => content/v0.3.0/en}/_static/doctools.js | 0
{v1.1.0 => content/v0.3.0/en}/_static/down-pressed.png | Bin
{v1.1.0 => content/v0.3.0/en}/_static/down.png | Bin
{v1.1.0 => content/v0.3.0/en}/_static/file.png | Bin
.../v0.3.0/en}/_static/fonts/Inconsolata-Bold.ttf | Bin
.../v0.3.0/en}/_static/fonts/Inconsolata-Regular.ttf | Bin
.../zh => content/v0.3.0/en}/_static/fonts/Lato-Bold.ttf | Bin
.../zh => content/v0.3.0/en}/_static/fonts/Lato-Regular.ttf | Bin
.../v0.3.0/en}/_static/fonts/RobotoSlab-Bold.ttf | Bin
.../v0.3.0/en}/_static/fonts/RobotoSlab-Regular.ttf | Bin
.../v0.3.0/en}/_static/fonts/fontawesome-webfont.eot | Bin
.../v0.3.0/en}/_static/fonts/fontawesome-webfont.svg | 0
.../v0.3.0/en}/_static/fonts/fontawesome-webfont.ttf | Bin
.../v0.3.0/en}/_static/fonts/fontawesome-webfont.woff | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/arch.png | Bin
.../zh => content/v0.3.0/en}/_static/images/arch/arch1.jpg | Bin
.../zh => content/v0.3.0/en}/_static/images/arch/arch1.png | Bin
.../zh => content/v0.3.0/en}/_static/images/arch/arch2.jpg | Bin
.../zh => content/v0.3.0/en}/_static/images/arch/arch2.png | Bin
.../zh => content/v0.3.0/en}/_static/images/arch/arch3.jpg | Bin
.../zh => content/v0.3.0/en}/_static/images/arch/arch3.png | Bin
.../zh => content/v0.3.0/en}/_static/images/arch/arch4.jpg | Bin
.../zh => content/v0.3.0/en}/_static/images/arch/arch4.png | Bin
.../zh => content/v0.3.0/en}/_static/images/arch/comm.png | Bin
.../v0.3.0/en}/_static/images/arch/logical.jpg | Bin
.../v0.3.0/en}/_static/images/arch/logical.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/astar.jpg | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/astar.png | Bin
.../v0.3.0/en}/_static/images/autoencoder_new.PNG | Bin
.../zh => content/v0.3.0/en}/_static/images/bottom-rbm.png | Bin
.../v0.3.0/en}/_static/images/char-rnn-net.jpg | Bin
.../zh => content/v0.3.0/en}/_static/images/char-rnn.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/cnn-example | Bin
.../zh => content/v0.3.0/en}/_static/images/cnn_example.png | Bin
.../v0.3.0/en}/_static/images/conv-mnist-datap.png | Bin
.../v0.3.0/en}/_static/images/conv-mnist-layerp.png | Bin
.../zh => content/v0.3.0/en}/_static/images/conv-mnist.png | Bin
.../v0.3.0/en}/_static/images/dcnn-cifar10.png | Bin
.../v0.3.0/en/_static/images/distributed}/frameworks.png | Bin
.../v0.3.0/en/_static/images/distributed}/logical.png | Bin
.../v0.3.0/en}/_static/images/example-autoencoder.png | Bin
.../zh => content/v0.3.0/en}/_static/images/example-cnn.png | Bin
.../zh => content/v0.3.0/en}/_static/images/example-mlp.png | Bin
.../v0.3.0/en}/_static/images/example-rbm1.png | Bin
.../v0.3.0/en}/_static/images/example-rbm2.png | Bin
.../v0.3.0/en}/_static/images/example-rbm3.png | Bin
.../v0.3.0/en}/_static/images/example-rbm4.png | Bin
.../zh => content/v0.3.0/en}/_static/images/feature.PNG.1 | Bin
.../v0.3.0/en/_static/images}/frameworks.png | Bin
.../zh => content/v0.3.0/en}/_static/images/incubator.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/layer.png | Bin
.../v0.3.0/en/_static/images}/logical.png | Bin
.../zh => content/v0.3.0/en}/_static/images/loss-time.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/mlp-net.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/mlp.png | Bin
.../zh => content/v0.3.0/en}/_static/images/mlp_example.png | Bin
.../v0.3.0/en}/_static/images/model-categorization.png | Bin
.../v0.3.0/en}/_static/images/model-category.png | Bin
.../zh => content/v0.3.0/en}/_static/images/msg-flow.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/msg.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/netease.png | Bin
.../zh => content/v0.3.0/en}/_static/images/nrf_logo.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/nus.png | Bin
.../zh => content/v0.3.0/en}/_static/images/overview.png | Bin
.../v0.3.0/en}/_static/images/partition_fc.png | Bin
.../zh => content/v0.3.0/en}/_static/images/rbm-feature.PNG | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/rbm-rnn.png | Bin
.../zh => content/v0.3.0/en}/_static/images/rbm-weight.PNG | Bin
.../zh => content/v0.3.0/en}/_static/images/rnn-refine.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/rnn1.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/rnnlm.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/sgd.png | Bin
.../zh => content/v0.3.0/en}/_static/images/singa-logo.png | Bin
.../zh => content/v0.3.0/en}/_static/images/singa-title.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/singa.jpg | Bin
.../v0.3.0/en}/_static/images/software_stack.jpg | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/sutd.png | Bin
.../zh => content/v0.3.0/en}/_static/images/unroll-rbm.png | Bin
.../zh => content/v0.3.0/en}/_static/images/unroll-rnn.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/images/zheda.png | Bin
{zh => content/v0.3.0/en}/_static/jquery-1.11.1.js | 0
{v0.3.0/zh => content/v0.3.0/en}/_static/jquery.js | 0
.../kr => content/v0.3.0/en}/_static/js/modernizr.min.js | 0
{v1.1.0 => content/v0.3.0/en}/_static/js/theme.js | 0
{v1.1.0 => content/v0.3.0/en}/_static/minus.png | Bin
{v1.1.0 => content/v0.3.0/en}/_static/plus.png | Bin
{v1.1.0 => content/v0.3.0/en}/_static/pygments.css | 0
{v0.3.0/zh => content/v0.3.0/en}/_static/searchtools.js | 0
{v0.3.0/zh => content/v0.3.0/en}/_static/singa.png | Bin
.../zh => content/v0.3.0/en}/_static/underscore-1.3.1.js | 0
{v0.3.0/kr => content/v0.3.0/en}/_static/underscore.js | 0
{v1.1.0 => content/v0.3.0/en}/_static/up-pressed.png | Bin
{v1.1.0 => content/v0.3.0/en}/_static/up.png | Bin
{v0.3.0/zh => content/v0.3.0/en}/_static/websupport.js | 0
{v0.3.0 => content/v0.3.0}/en/community/issue-tracking.html | 0
{v0.3.0 => content/v0.3.0}/en/community/mail-lists.html | 0
.../v0.3.0}/en/community/source-repository.html | 0
{v0.3.0 => content/v0.3.0}/en/community/team-list.html | 0
{v0.3.0 => content/v0.3.0}/en/develop/contribute-code.html | 0
{v0.3.0 => content/v0.3.0}/en/develop/contribute-docs.html | 0
{v0.3.0 => content/v0.3.0}/en/develop/how-contribute.html | 0
{v0.3.0 => content/v0.3.0}/en/develop/schedule.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/architecture.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/checkpoint.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/cnn.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/code-structure.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/communication.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/data.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/debug.html | 0
.../v0.3.0}/en/docs/distributed-training.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/docker.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/examples.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/frameworks.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/general-rnn.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/gpu.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/hdfs.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/hybrid.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/index.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/installation.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/installation_source.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/layer.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/lmdb.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/mesos.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/mlp.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/model-config.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/neural-net.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/neuralnet-partition.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/overview.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/param.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/programming-guide.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/python.html | 0
.../v0.3.0}/en/docs/python_interactive_training.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/quick-start.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/rbm.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/rnn.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/test.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/train-one-batch.html | 0
{v0.3.0 => content/v0.3.0}/en/docs/updater.html | 0
{v0.3.0 => content/v0.3.0}/en/downloads.html | 0
{v0.3.0 => content/v0.3.0}/en/genindex.html | 0
{v0.3.0 => content/v0.3.0}/en/index.html | 0
{v0.3.0 => content/v0.3.0}/en/objects.inv | 0
{v0.3.0 => content/v0.3.0}/en/search.html | 0
{v0.3.0 => content/v0.3.0}/en/searchindex.js | 0
{v0.3.0 => content/v0.3.0}/index.html | 0
{v0.3.0/kr => content/v0.3.0/jp}/.buildinfo | 0
.../v0.3.0}/jp/_sources/docs/architecture.txt | 0
.../v0.3.0}/jp/_sources/docs/distributed-training.txt | 0
{v0.3.0 => content/v0.3.0}/jp/_sources/docs/frameworks.txt | 0
{v0.3.0 => content/v0.3.0}/jp/_sources/docs/index.txt | 0
.../v0.3.0}/jp/_sources/docs/installation.txt | 0
.../v0.3.0}/jp/_sources/docs/installation_source.txt | 0
{v0.3.0 => content/v0.3.0}/jp/_sources/docs/lmdb.txt | 0
{v0.3.0 => content/v0.3.0}/jp/_sources/docs/overview.txt | 0
{v0.3.0 => content/v0.3.0}/jp/_sources/docs/quick-start.txt | 0
{v0.3.0/kr => content/v0.3.0/jp}/_sources/index.txt | 0
{v0.3.0/kr => content/v0.3.0/jp}/_static/ajax-loader.gif | Bin
{v1.1.0 => content/v0.3.0/jp}/_static/apache.jpg | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/basic.css | 0
{v0.3.0/zh => content/v0.3.0/jp}/_static/comment-bright.png | Bin
{v0.3.0/zh => content/v0.3.0/jp}/_static/comment-close.png | Bin
{v0.3.0/zh => content/v0.3.0/jp}/_static/comment.png | Bin
{v0.3.0/zh => content/v0.3.0/jp}/_static/css/badge_only.css | 0
{v0.3.0/zh => content/v0.3.0/jp}/_static/css/theme.css | 0
{v0.3.0/kr => content/v0.3.0/jp}/_static/doctools.js | 0
{v0.3.0/zh => content/v0.3.0/jp}/_static/down-pressed.png | Bin
{v0.3.0/zh => content/v0.3.0/jp}/_static/down.png | Bin
{v0.3.0/zh => content/v0.3.0/jp}/_static/file.png | Bin
.../v0.3.0/jp}/_static/fonts/Inconsolata-Bold.ttf | Bin
.../v0.3.0/jp}/_static/fonts/Inconsolata-Regular.ttf | Bin
.../kr => content/v0.3.0/jp}/_static/fonts/Lato-Bold.ttf | Bin
.../kr => content/v0.3.0/jp}/_static/fonts/Lato-Regular.ttf | Bin
.../v0.3.0/jp}/_static/fonts/RobotoSlab-Bold.ttf | Bin
.../v0.3.0/jp}/_static/fonts/RobotoSlab-Regular.ttf | Bin
.../v0.3.0/jp}/_static/fonts/fontawesome-webfont.eot | Bin
.../v0.3.0/jp}/_static/fonts/fontawesome-webfont.svg | 0
.../v0.3.0/jp}/_static/fonts/fontawesome-webfont.ttf | Bin
.../v0.3.0/jp}/_static/fonts/fontawesome-webfont.woff | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/arch.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/arch/arch1.jpg | Bin
.../kr => content/v0.3.0/jp}/_static/images/arch/arch1.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/arch/arch2.jpg | Bin
.../kr => content/v0.3.0/jp}/_static/images/arch/arch2.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/arch/arch3.jpg | Bin
.../kr => content/v0.3.0/jp}/_static/images/arch/arch3.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/arch/arch4.jpg | Bin
.../kr => content/v0.3.0/jp}/_static/images/arch/arch4.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/arch/comm.png | Bin
.../v0.3.0/jp}/_static/images/arch/logical.jpg | Bin
.../v0.3.0/jp}/_static/images/arch/logical.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/astar.jpg | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/astar.png | Bin
.../v0.3.0/jp}/_static/images/autoencoder_new.PNG | Bin
.../kr => content/v0.3.0/jp}/_static/images/bottom-rbm.png | Bin
.../v0.3.0/jp}/_static/images/char-rnn-net.jpg | Bin
.../kr => content/v0.3.0/jp}/_static/images/char-rnn.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/cnn-example | Bin
.../kr => content/v0.3.0/jp}/_static/images/cnn_example.png | Bin
.../v0.3.0/jp}/_static/images/conv-mnist-datap.png | Bin
.../v0.3.0/jp}/_static/images/conv-mnist-layerp.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/conv-mnist.png | Bin
.../v0.3.0/jp}/_static/images/dcnn-cifar10.png | Bin
.../v0.3.0/jp/_static/images/distributed}/frameworks.png | Bin
.../v0.3.0/jp/_static/images/distributed}/logical.png | Bin
.../v0.3.0/jp}/_static/images/example-autoencoder.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/example-cnn.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/example-mlp.png | Bin
.../v0.3.0/jp}/_static/images/example-rbm1.png | Bin
.../v0.3.0/jp}/_static/images/example-rbm2.png | Bin
.../v0.3.0/jp}/_static/images/example-rbm3.png | Bin
.../v0.3.0/jp}/_static/images/example-rbm4.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/feature.PNG.1 | Bin
.../v0.3.0/jp/_static/images}/frameworks.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/incubator.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/layer.png | Bin
.../v0.3.0/jp/_static/images}/logical.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/loss-time.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/mlp-net.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/mlp.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/mlp_example.png | Bin
.../v0.3.0/jp}/_static/images/model-categorization.png | Bin
.../v0.3.0/jp}/_static/images/model-category.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/msg-flow.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/msg.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/netease.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/nrf_logo.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/nus.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/overview.png | Bin
.../v0.3.0/jp}/_static/images/partition_fc.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/rbm-feature.PNG | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/rbm-rnn.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/rbm-weight.PNG | Bin
.../kr => content/v0.3.0/jp}/_static/images/rnn-refine.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/rnn1.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/rnnlm.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/sgd.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/singa-logo.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/singa-title.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/singa.jpg | Bin
.../v0.3.0/jp}/_static/images/software_stack.jpg | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/sutd.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/unroll-rbm.png | Bin
.../kr => content/v0.3.0/jp}/_static/images/unroll-rnn.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/images/zheda.png | Bin
{v1.1.0 => content/v0.3.0/jp}/_static/jquery-1.11.1.js | 0
{v0.3.0/kr => content/v0.3.0/jp}/_static/jquery.js | 0
{v0.3.0 => content/v0.3.0}/jp/_static/js/modernizr.min.js | 0
{v0.3.0/zh => content/v0.3.0/jp}/_static/js/theme.js | 0
{v0.3.0/zh => content/v0.3.0/jp}/_static/minus.png | Bin
{v0.3.0/zh => content/v0.3.0/jp}/_static/plus.png | Bin
{v0.3.0/zh => content/v0.3.0/jp}/_static/pygments.css | 0
{v0.3.0/kr => content/v0.3.0/jp}/_static/searchtools.js | 0
{v0.3.0/kr => content/v0.3.0/jp}/_static/singa.png | Bin
.../kr => content/v0.3.0/jp}/_static/underscore-1.3.1.js | 0
{v0.3.0 => content/v0.3.0}/jp/_static/underscore.js | 0
{v0.3.0/zh => content/v0.3.0/jp}/_static/up-pressed.png | Bin
{v0.3.0/zh => content/v0.3.0/jp}/_static/up.png | Bin
{v0.3.0/kr => content/v0.3.0/jp}/_static/websupport.js | 0
{v0.3.0 => content/v0.3.0}/jp/docs/architecture.html | 0
.../v0.3.0}/jp/docs/distributed-training.html | 0
{v0.3.0 => content/v0.3.0}/jp/docs/frameworks.html | 0
{v0.3.0 => content/v0.3.0}/jp/docs/index.html | 0
{v0.3.0 => content/v0.3.0}/jp/docs/installation.html | 0
{v0.3.0 => content/v0.3.0}/jp/docs/installation_source.html | 0
{v0.3.0 => content/v0.3.0}/jp/docs/lmdb.html | 0
{v0.3.0 => content/v0.3.0}/jp/docs/overview.html | 0
{v0.3.0 => content/v0.3.0}/jp/docs/quick-start.html | 0
{v0.3.0 => content/v0.3.0}/jp/genindex.html | 0
{v0.3.0 => content/v0.3.0}/jp/index.html | 0
{v0.3.0 => content/v0.3.0}/jp/objects.inv | 0
{v0.3.0 => content/v0.3.0}/jp/search.html | 0
{v0.3.0 => content/v0.3.0}/jp/searchindex.js | 0
{v0.3.0/jp => content/v0.3.0/kr}/.buildinfo | 0
.../v0.3.0}/kr/_sources/docs/architecture.txt | 0
{v0.3.0 => content/v0.3.0}/kr/_sources/docs/data.txt | 0
.../v0.3.0}/kr/_sources/docs/distributed-training.txt | 0
{v0.3.0 => content/v0.3.0}/kr/_sources/docs/frameworks.txt | 0
{v0.3.0 => content/v0.3.0}/kr/_sources/docs/index.txt | 0
.../v0.3.0}/kr/_sources/docs/installation.txt | 0
{v0.3.0/en => content/v0.3.0/kr}/_sources/docs/lmdb.txt | 0
{v0.3.0 => content/v0.3.0}/kr/_sources/docs/overview.txt | 0
.../v0.3.0}/kr/_sources/docs/programming-guide.txt | 0
{v0.3.0 => content/v0.3.0}/kr/_sources/docs/quick-start.txt | 0
{v0.3.0/jp => content/v0.3.0/kr}/_sources/index.txt | 0
{v0.3.0/jp => content/v0.3.0/kr}/_static/ajax-loader.gif | Bin
{v0.3.0/zh => content/v0.3.0/kr}/_static/apache.jpg | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/basic.css | 0
{v0.3.0 => content/v0.3.0}/kr/_static/comment-bright.png | Bin
{v0.3.0 => content/v0.3.0}/kr/_static/comment-close.png | Bin
{v0.3.0 => content/v0.3.0}/kr/_static/comment.png | Bin
{v0.3.0 => content/v0.3.0}/kr/_static/css/badge_only.css | 0
{v0.3.0 => content/v0.3.0}/kr/_static/css/theme.css | 0
{v0.3.0/jp => content/v0.3.0/kr}/_static/doctools.js | 0
{v0.3.0 => content/v0.3.0}/kr/_static/down-pressed.png | Bin
{v0.3.0 => content/v0.3.0}/kr/_static/down.png | Bin
{v0.3.0 => content/v0.3.0}/kr/_static/file.png | Bin
.../v0.3.0}/kr/_static/fonts/Inconsolata-Bold.ttf | Bin
.../v0.3.0}/kr/_static/fonts/Inconsolata-Regular.ttf | Bin
.../jp => content/v0.3.0/kr}/_static/fonts/Lato-Bold.ttf | Bin
.../jp => content/v0.3.0/kr}/_static/fonts/Lato-Regular.ttf | Bin
.../v0.3.0/kr}/_static/fonts/RobotoSlab-Bold.ttf | Bin
.../v0.3.0/kr}/_static/fonts/RobotoSlab-Regular.ttf | Bin
.../v0.3.0/kr}/_static/fonts/fontawesome-webfont.eot | Bin
.../v0.3.0/kr}/_static/fonts/fontawesome-webfont.svg | 0
.../v0.3.0/kr}/_static/fonts/fontawesome-webfont.ttf | Bin
.../v0.3.0/kr}/_static/fonts/fontawesome-webfont.woff | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/arch.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/arch/arch1.jpg | Bin
.../jp => content/v0.3.0/kr}/_static/images/arch/arch1.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/arch/arch2.jpg | Bin
.../jp => content/v0.3.0/kr}/_static/images/arch/arch2.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/arch/arch3.jpg | Bin
.../jp => content/v0.3.0/kr}/_static/images/arch/arch3.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/arch/arch4.jpg | Bin
.../jp => content/v0.3.0/kr}/_static/images/arch/arch4.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/arch/comm.png | Bin
.../v0.3.0/kr}/_static/images/arch/logical.jpg | Bin
.../v0.3.0/kr}/_static/images/arch/logical.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/astar.jpg | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/astar.png | Bin
.../v0.3.0/kr}/_static/images/autoencoder_new.PNG | Bin
.../jp => content/v0.3.0/kr}/_static/images/bottom-rbm.png | Bin
.../v0.3.0/kr}/_static/images/char-rnn-net.jpg | Bin
.../jp => content/v0.3.0/kr}/_static/images/char-rnn.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/cnn-example | Bin
.../jp => content/v0.3.0/kr}/_static/images/cnn_example.png | Bin
.../v0.3.0/kr}/_static/images/conv-mnist-datap.png | Bin
.../v0.3.0/kr}/_static/images/conv-mnist-layerp.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/conv-mnist.png | Bin
.../v0.3.0/kr}/_static/images/dcnn-cifar10.png | Bin
.../v0.3.0/kr/_static/images/distributed}/frameworks.png | Bin
.../v0.3.0/kr/_static/images/distributed}/logical.png | Bin
.../v0.3.0/kr}/_static/images/example-autoencoder.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/example-cnn.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/example-mlp.png | Bin
.../v0.3.0/kr}/_static/images/example-rbm1.png | Bin
.../v0.3.0/kr}/_static/images/example-rbm2.png | Bin
.../v0.3.0/kr}/_static/images/example-rbm3.png | Bin
.../v0.3.0/kr}/_static/images/example-rbm4.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/feature.PNG.1 | Bin
.../v0.3.0/kr/_static/images}/frameworks.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/incubator.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/layer.png | Bin
.../v0.3.0/kr/_static/images}/logical.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/loss-time.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/mlp-net.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/mlp.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/mlp_example.png | Bin
.../v0.3.0/kr}/_static/images/model-categorization.png | Bin
.../v0.3.0/kr}/_static/images/model-category.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/msg-flow.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/msg.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/netease.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/nrf_logo.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/nus.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/overview.png | Bin
.../v0.3.0/kr}/_static/images/partition_fc.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/rbm-feature.PNG | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/rbm-rnn.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/rbm-weight.PNG | Bin
.../jp => content/v0.3.0/kr}/_static/images/rnn-refine.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/rnn1.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/rnnlm.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/sgd.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/singa-logo.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/singa-title.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/singa.jpg | Bin
.../v0.3.0/kr}/_static/images/software_stack.jpg | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/sutd.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/unroll-rbm.png | Bin
.../jp => content/v0.3.0/kr}/_static/images/unroll-rnn.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/images/zheda.png | Bin
{v0.3.0/zh => content/v0.3.0/kr}/_static/jquery-1.11.1.js | 0
{v0.3.0/jp => content/v0.3.0/kr}/_static/jquery.js | 0
.../en => content/v0.3.0/kr}/_static/js/modernizr.min.js | 0
{v0.3.0 => content/v0.3.0}/kr/_static/js/theme.js | 0
{v0.3.0 => content/v0.3.0}/kr/_static/minus.png | Bin
{v0.3.0 => content/v0.3.0}/kr/_static/plus.png | Bin
{v0.3.0 => content/v0.3.0}/kr/_static/pygments.css | 0
{v0.3.0/jp => content/v0.3.0/kr}/_static/searchtools.js | 0
{v0.3.0/jp => content/v0.3.0/kr}/_static/singa.png | Bin
.../jp => content/v0.3.0/kr}/_static/underscore-1.3.1.js | 0
{v0.3.0/en => content/v0.3.0/kr}/_static/underscore.js | 0
{v0.3.0 => content/v0.3.0}/kr/_static/up-pressed.png | Bin
{v0.3.0 => content/v0.3.0}/kr/_static/up.png | Bin
{v0.3.0/jp => content/v0.3.0/kr}/_static/websupport.js | 0
{v0.3.0 => content/v0.3.0}/kr/docs/architecture.html | 0
{v0.3.0 => content/v0.3.0}/kr/docs/data.html | 0
.../v0.3.0}/kr/docs/distributed-training.html | 0
{v0.3.0 => content/v0.3.0}/kr/docs/frameworks.html | 0
{v0.3.0 => content/v0.3.0}/kr/docs/index.html | 0
{v0.3.0 => content/v0.3.0}/kr/docs/installation.html | 0
{v0.3.0 => content/v0.3.0}/kr/docs/lmdb.html | 0
{v0.3.0 => content/v0.3.0}/kr/docs/overview.html | 0
{v0.3.0 => content/v0.3.0}/kr/docs/programming-guide.html | 0
{v0.3.0 => content/v0.3.0}/kr/docs/quick-start.html | 0
{v0.3.0 => content/v0.3.0}/kr/genindex.html | 0
{v0.3.0 => content/v0.3.0}/kr/index.html | 0
{v0.3.0 => content/v0.3.0}/kr/objects.inv | 0
{v0.3.0 => content/v0.3.0}/kr/search.html | 0
{v0.3.0 => content/v0.3.0}/kr/searchindex.js | 0
{v0.3.0/en => content/v0.3.0/zh}/.buildinfo | 0
{v0.3.0 => content/v0.3.0}/zh/_sources/docs/index.txt | 0
.../v0.3.0}/zh/_sources/docs/installation_source.txt | 0
{v0.3.0 => content/v0.3.0}/zh/_sources/docs/overview.txt | 0
.../v0.3.0}/zh/_sources/docs/programming-guide.txt | 0
{v0.3.0/en => content/v0.3.0/zh}/_sources/index.txt | 0
{v0.3.0/en => content/v0.3.0/zh}/_static/ajax-loader.gif | Bin
{v0.3.0/kr => content/v0.3.0/zh}/_static/apache.jpg | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/basic.css | 0
{v0.3.0/jp => content/v0.3.0/zh}/_static/comment-bright.png | Bin
{v0.3.0/jp => content/v0.3.0/zh}/_static/comment-close.png | Bin
{v0.3.0/jp => content/v0.3.0/zh}/_static/comment.png | Bin
{v0.3.0/jp => content/v0.3.0/zh}/_static/css/badge_only.css | 0
{v0.3.0/jp => content/v0.3.0/zh}/_static/css/theme.css | 0
{v0.3.0/en => content/v0.3.0/zh}/_static/doctools.js | 0
{v0.3.0/jp => content/v0.3.0/zh}/_static/down-pressed.png | Bin
{v0.3.0/jp => content/v0.3.0/zh}/_static/down.png | Bin
{v0.3.0/jp => content/v0.3.0/zh}/_static/file.png | Bin
.../v0.3.0/zh}/_static/fonts/Inconsolata-Bold.ttf | Bin
.../v0.3.0/zh}/_static/fonts/Inconsolata-Regular.ttf | Bin
.../en => content/v0.3.0/zh}/_static/fonts/Lato-Bold.ttf | Bin
.../en => content/v0.3.0/zh}/_static/fonts/Lato-Regular.ttf | Bin
.../v0.3.0/zh}/_static/fonts/RobotoSlab-Bold.ttf | Bin
.../v0.3.0/zh}/_static/fonts/RobotoSlab-Regular.ttf | Bin
.../v0.3.0/zh}/_static/fonts/fontawesome-webfont.eot | Bin
.../v0.3.0/zh}/_static/fonts/fontawesome-webfont.svg | 0
.../v0.3.0/zh}/_static/fonts/fontawesome-webfont.ttf | Bin
.../v0.3.0/zh}/_static/fonts/fontawesome-webfont.woff | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/arch.png | Bin
.../en => content/v0.3.0/zh}/_static/images/arch/arch1.jpg | Bin
.../en => content/v0.3.0/zh}/_static/images/arch/arch1.png | Bin
.../en => content/v0.3.0/zh}/_static/images/arch/arch2.jpg | Bin
.../en => content/v0.3.0/zh}/_static/images/arch/arch2.png | Bin
.../en => content/v0.3.0/zh}/_static/images/arch/arch3.jpg | Bin
.../en => content/v0.3.0/zh}/_static/images/arch/arch3.png | Bin
.../en => content/v0.3.0/zh}/_static/images/arch/arch4.jpg | Bin
.../en => content/v0.3.0/zh}/_static/images/arch/arch4.png | Bin
.../en => content/v0.3.0/zh}/_static/images/arch/comm.png | Bin
.../v0.3.0/zh}/_static/images/arch/logical.jpg | Bin
.../v0.3.0/zh}/_static/images/arch/logical.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/astar.jpg | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/astar.png | Bin
.../v0.3.0/zh}/_static/images/autoencoder_new.PNG | Bin
.../en => content/v0.3.0/zh}/_static/images/bottom-rbm.png | Bin
.../v0.3.0/zh}/_static/images/char-rnn-net.jpg | Bin
.../en => content/v0.3.0/zh}/_static/images/char-rnn.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/cnn-example | Bin
.../en => content/v0.3.0/zh}/_static/images/cnn_example.png | Bin
.../v0.3.0/zh}/_static/images/conv-mnist-datap.png | Bin
.../v0.3.0/zh}/_static/images/conv-mnist-layerp.png | Bin
.../en => content/v0.3.0/zh}/_static/images/conv-mnist.png | Bin
.../v0.3.0/zh}/_static/images/dcnn-cifar10.png | Bin
.../v0.3.0/zh/_static/images/distributed}/frameworks.png | Bin
.../v0.3.0/zh/_static/images/distributed}/logical.png | Bin
.../v0.3.0/zh}/_static/images/example-autoencoder.png | Bin
.../en => content/v0.3.0/zh}/_static/images/example-cnn.png | Bin
.../en => content/v0.3.0/zh}/_static/images/example-mlp.png | Bin
.../v0.3.0/zh}/_static/images/example-rbm1.png | Bin
.../v0.3.0/zh}/_static/images/example-rbm2.png | Bin
.../v0.3.0/zh}/_static/images/example-rbm3.png | Bin
.../v0.3.0/zh}/_static/images/example-rbm4.png | Bin
.../en => content/v0.3.0/zh}/_static/images/feature.PNG.1 | Bin
.../v0.3.0/zh/_static/images}/frameworks.png | Bin
.../en => content/v0.3.0/zh}/_static/images/incubator.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/layer.png | Bin
.../v0.3.0/zh/_static/images}/logical.png | Bin
.../en => content/v0.3.0/zh}/_static/images/loss-time.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/mlp-net.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/mlp.png | Bin
.../en => content/v0.3.0/zh}/_static/images/mlp_example.png | Bin
.../v0.3.0/zh}/_static/images/model-categorization.png | Bin
.../v0.3.0/zh}/_static/images/model-category.png | Bin
.../en => content/v0.3.0/zh}/_static/images/msg-flow.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/msg.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/netease.png | Bin
.../en => content/v0.3.0/zh}/_static/images/nrf_logo.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/nus.png | Bin
.../en => content/v0.3.0/zh}/_static/images/overview.png | Bin
.../v0.3.0/zh}/_static/images/partition_fc.png | Bin
.../en => content/v0.3.0/zh}/_static/images/rbm-feature.PNG | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/rbm-rnn.png | Bin
.../en => content/v0.3.0/zh}/_static/images/rbm-weight.PNG | Bin
.../en => content/v0.3.0/zh}/_static/images/rnn-refine.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/rnn1.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/rnnlm.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/sgd.png | Bin
.../en => content/v0.3.0/zh}/_static/images/singa-logo.png | Bin
.../en => content/v0.3.0/zh}/_static/images/singa-title.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/singa.jpg | Bin
.../v0.3.0/zh}/_static/images/software_stack.jpg | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/sutd.png | Bin
.../en => content/v0.3.0/zh}/_static/images/unroll-rbm.png | Bin
.../en => content/v0.3.0/zh}/_static/images/unroll-rnn.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/images/zheda.png | Bin
{v0.3.0/kr => content/v0.3.0/zh}/_static/jquery-1.11.1.js | 0
{v0.3.0/en => content/v0.3.0/zh}/_static/jquery.js | 0
{en => content/v0.3.0/zh}/_static/js/modernizr.min.js | 0
{v0.3.0/jp => content/v0.3.0/zh}/_static/js/theme.js | 0
{v0.3.0/jp => content/v0.3.0/zh}/_static/minus.png | Bin
{v0.3.0/jp => content/v0.3.0/zh}/_static/plus.png | Bin
{v0.3.0/jp => content/v0.3.0/zh}/_static/pygments.css | 0
{v0.3.0/en => content/v0.3.0/zh}/_static/searchtools.js | 0
{v0.3.0/en => content/v0.3.0/zh}/_static/singa.png | Bin
.../en => content/v0.3.0/zh}/_static/underscore-1.3.1.js | 0
{en => content/v0.3.0/zh}/_static/underscore.js | 0
{v0.3.0/jp => content/v0.3.0/zh}/_static/up-pressed.png | Bin
{v0.3.0/jp => content/v0.3.0/zh}/_static/up.png | Bin
{v0.3.0/en => content/v0.3.0/zh}/_static/websupport.js | 0
{v0.3.0 => content/v0.3.0}/zh/docs/index.html | 0
{v0.3.0 => content/v0.3.0}/zh/docs/installation_source.html | 0
{v0.3.0 => content/v0.3.0}/zh/docs/overview.html | 0
{v0.3.0 => content/v0.3.0}/zh/docs/programming-guide.html | 0
{v0.3.0 => content/v0.3.0}/zh/genindex.html | 0
{v0.3.0 => content/v0.3.0}/zh/index.html | 0
{v0.3.0 => content/v0.3.0}/zh/objects.inv | Bin
{v0.3.0 => content/v0.3.0}/zh/search.html | 0
{v0.3.0 => content/v0.3.0}/zh/searchindex.js | 0
{v1.1.0 => content/v1.1.0}/.buildinfo | 0
.../v1.1.0}/_sources/community/issue-tracking.txt | 0
.../v1.1.0}/_sources/community/mail-lists.txt | 0
.../v1.1.0}/_sources/community/source-repository.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/community/team-list.txt | 0
.../v1.1.0}/_sources/develop/contribute-code.txt | 0
.../v1.1.0}/_sources/develop/contribute-docs.txt | 0
.../v1.1.0}/_sources/develop/how-contribute.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/develop/schedule.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/cnn.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/converter.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/data.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/dependencies.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/device.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/docker.txt | 0
.../v1.1.0/_sources/docs}/examples/caffe/README.txt | 0
.../v1.1.0/_sources/docs}/examples/char-rnn/README.txt | 0
.../v1.1.0/_sources/docs}/examples/cifar10/README.txt | 0
.../v1.1.0/_sources/docs/examples/imagenet}/README.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/examples/index.txt | 0
.../v1.1.0/_sources/docs/examples}/mnist/README.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/image_tool.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/index.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/initializer.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/installation.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/layer.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/loss.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/metric.txt | 0
.../v1.1.0}/_sources/docs/model_zoo/caffe/README.txt | 0
.../v1.1.0}/_sources/docs/model_zoo/char-rnn/README.txt | 0
.../v1.1.0}/_sources/docs/model_zoo/cifar10/README.txt | 0
.../_sources/docs/model_zoo}/examples/caffe/README.txt | 0
.../_sources/docs/model_zoo}/examples/char-rnn/README.txt | 0
.../_sources/docs/model_zoo}/examples/cifar10/README.txt | 0
.../docs/model_zoo/examples/imagenet/alexnet}/README.txt | 0
.../docs/model_zoo/examples}/imagenet/googlenet/README.txt | 0
.../v1.1.0/_sources/docs/model_zoo/examples}/index.txt | 0
.../_sources/docs/model_zoo/examples/mnist/README.txt | 0
.../v1.1.0/_sources/docs/model_zoo/imagenet}/README.txt | 0
.../_sources/docs/model_zoo/imagenet/alexnet}/README.txt | 0
.../_sources/docs/model_zoo}/imagenet/googlenet/README.txt | 0
.../v1.1.0/_sources/docs/model_zoo}/index.txt | 0
.../v1.1.0/_sources/docs/model_zoo}/mnist/README.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/net.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/neural-net.txt | 0
.../v1.1.0}/_sources/docs/notebook/README.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/optimizer.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/snapshot.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/software_stack.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/tensor.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/docs/utils.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/downloads.txt | 0
{v1.1.0 => content/v1.1.0}/_sources/index.txt | 0
.../v1.1.0}/_sources/releases/RELEASE_NOTES_0.1.0.txt | 0
.../v1.1.0}/_sources/releases/RELEASE_NOTES_0.2.0.txt | 0
.../v1.1.0}/_sources/releases/RELEASE_NOTES_0.3.0.txt | 0
.../v1.1.0}/_sources/releases/RELEASE_NOTES_1.0.0.txt | 0
.../v1.1.0}/_sources/releases/RELEASE_NOTES_1.1.0.txt | 0
{en => content/v1.1.0}/_static/ajax-loader.gif | Bin
{v0.3.0/jp => content/v1.1.0}/_static/apache.jpg | Bin
{v1.1.0 => content/v1.1.0}/_static/basic.css | 0
{v0.3.0/en => content/v1.1.0}/_static/comment-bright.png | Bin
{v0.3.0/en => content/v1.1.0}/_static/comment-close.png | Bin
{v0.3.0/en => content/v1.1.0}/_static/comment.png | Bin
{v0.3.0/en => content/v1.1.0}/_static/css/badge_only.css | 0
{v0.3.0/en => content/v1.1.0}/_static/css/theme.css | 0
{v1.1.0 => content/v1.1.0}/_static/doctools.js | 0
{v0.3.0/en => content/v1.1.0}/_static/down-pressed.png | Bin
{v0.3.0/en => content/v1.1.0}/_static/down.png | Bin
{v0.3.0/en => content/v1.1.0}/_static/file.png | Bin
.../v1.1.0}/_static/fonts/Inconsolata-Bold.ttf | Bin
.../v1.1.0}/_static/fonts/Inconsolata-Regular.ttf | Bin
{v1.1.0 => content/v1.1.0}/_static/fonts/Lato-Bold.ttf | Bin
{v1.1.0 => content/v1.1.0}/_static/fonts/Lato-Regular.ttf | Bin
{en => content/v1.1.0}/_static/fonts/RobotoSlab-Bold.ttf | Bin
{en => content/v1.1.0}/_static/fonts/RobotoSlab-Regular.ttf | Bin
.../v1.1.0}/_static/fonts/fontawesome-webfont.eot | Bin
.../v1.1.0}/_static/fonts/fontawesome-webfont.svg | 0
.../v1.1.0}/_static/fonts/fontawesome-webfont.ttf | Bin
.../v1.1.0}/_static/fonts/fontawesome-webfont.woff | Bin
{en => content/v1.1.0}/_static/images/mlp-net.png | Bin
{en => content/v1.1.0}/_static/images/model-category.png | Bin
{en => content/v1.1.0}/_static/images/overview.png | Bin
{en => content/v1.1.0}/_static/images/partition_fc.png | Bin
{en => content/v1.1.0}/_static/images/rbm-rnn.png | Bin
{en => content/v1.1.0}/_static/images/sgd.png | Bin
{en => content/v1.1.0}/_static/images/singa.png | Bin
{en => content/v1.1.0}/_static/images/singav1-sw.png | Bin
{v0.3.0/jp => content/v1.1.0}/_static/jquery-1.11.1.js | 0
{v1.1.0 => content/v1.1.0}/_static/jquery.js | 0
{v1.1.0 => content/v1.1.0}/_static/js/modernizr.min.js | 0
{v0.3.0/en => content/v1.1.0}/_static/js/theme.js | 0
{v0.3.0/en => content/v1.1.0}/_static/minus.png | Bin
{v0.3.0/en => content/v1.1.0}/_static/plus.png | Bin
{v0.3.0/en => content/v1.1.0}/_static/pygments.css | 0
{v1.1.0 => content/v1.1.0}/_static/searchtools.js | 0
{en => content/v1.1.0}/_static/singa.png | Bin
{v1.1.0 => content/v1.1.0}/_static/style.css | 0
{en => content/v1.1.0}/_static/underscore-1.3.1.js | 0
{v1.1.0 => content/v1.1.0}/_static/underscore.js | 0
{v0.3.0/en => content/v1.1.0}/_static/up-pressed.png | Bin
{v0.3.0/en => content/v1.1.0}/_static/up.png | Bin
{v1.1.0 => content/v1.1.0}/_static/websupport.js | 0
{v1.1.0 => content/v1.1.0}/community/issue-tracking.html | 0
{v1.1.0 => content/v1.1.0}/community/mail-lists.html | 0
{v1.1.0 => content/v1.1.0}/community/source-repository.html | 0
{v1.1.0 => content/v1.1.0}/community/team-list.html | 0
{v1.1.0 => content/v1.1.0}/develop/contribute-code.html | 0
{v1.1.0 => content/v1.1.0}/develop/contribute-docs.html | 0
{v1.1.0 => content/v1.1.0}/develop/how-contribute.html | 0
{v1.1.0 => content/v1.1.0}/develop/schedule.html | 0
{v1.1.0 => content/v1.1.0}/docs.html | 0
{v1.1.0 => content/v1.1.0}/docs/cnn.html | 0
{v1.1.0 => content/v1.1.0}/docs/converter.html | 0
{v1.1.0 => content/v1.1.0}/docs/data.html | 0
{v1.1.0 => content/v1.1.0}/docs/dependencies.html | 0
{v1.1.0 => content/v1.1.0}/docs/device.html | 0
{v1.1.0 => content/v1.1.0}/docs/docker.html | 0
{v1.1.0 => content/v1.1.0}/docs/examples/caffe/README.html | 0
.../v1.1.0}/docs/examples/char-rnn/README.html | 0
.../v1.1.0}/docs/examples/cifar10/README.html | 0
.../v1.1.0}/docs/examples/imagenet/README.html | 0
{v1.1.0 => content/v1.1.0}/docs/examples/index.html | 0
{v1.1.0 => content/v1.1.0}/docs/examples/mnist/README.html | 0
{v1.1.0 => content/v1.1.0}/docs/image_tool.html | 0
{v1.1.0 => content/v1.1.0}/docs/index.html | 0
{v1.1.0 => content/v1.1.0}/docs/initializer.html | 0
{v1.1.0 => content/v1.1.0}/docs/installation.html | 0
{v1.1.0 => content/v1.1.0}/docs/layer.html | 0
{v1.1.0 => content/v1.1.0}/docs/loss.html | 0
{v1.1.0 => content/v1.1.0}/docs/metric.html | 0
{v1.1.0 => content/v1.1.0}/docs/model_zoo/caffe/README.html | 0
.../v1.1.0}/docs/model_zoo/char-rnn/README.html | 0
.../v1.1.0}/docs/model_zoo/cifar10/README.html | 0
.../v1.1.0}/docs/model_zoo/examples/caffe/README.html | 0
.../v1.1.0}/docs/model_zoo/examples/char-rnn/README.html | 0
.../v1.1.0}/docs/model_zoo/examples/cifar10/README.html | 0
.../docs/model_zoo/examples/imagenet/alexnet/README.html | 0
.../docs/model_zoo/examples/imagenet/googlenet/README.html | 0
.../v1.1.0}/docs/model_zoo/examples/index.html | 0
.../v1.1.0}/docs/model_zoo/examples/mnist/README.html | 0
.../v1.1.0}/docs/model_zoo/imagenet/README.html | 0
.../v1.1.0}/docs/model_zoo/imagenet/alexnet/README.html | 0
.../v1.1.0}/docs/model_zoo/imagenet/googlenet/README.html | 0
{v1.1.0 => content/v1.1.0}/docs/model_zoo/index.html | 0
{v1.1.0 => content/v1.1.0}/docs/model_zoo/mnist/README.html | 0
{v1.1.0 => content/v1.1.0}/docs/net.html | 0
{v1.1.0 => content/v1.1.0}/docs/neural-net.html | 0
{v1.1.0 => content/v1.1.0}/docs/notebook/README.html | 0
{v1.1.0 => content/v1.1.0}/docs/optimizer.html | 0
{v1.1.0 => content/v1.1.0}/docs/snapshot.html | 0
{v1.1.0 => content/v1.1.0}/docs/software_stack.html | 0
{v1.1.0 => content/v1.1.0}/docs/tensor.html | 0
{v1.1.0 => content/v1.1.0}/docs/utils.html | 0
{v1.1.0 => content/v1.1.0}/downloads.html | 0
{v1.1.0 => content/v1.1.0}/genindex.html | 0
{v1.1.0 => content/v1.1.0}/index.html | 0
{v1.1.0 => content/v1.1.0}/objects.inv | Bin
{v1.1.0 => content/v1.1.0}/py-modindex.html | 0
.../v1.1.0}/releases/RELEASE_NOTES_0.1.0.html | 0
.../v1.1.0}/releases/RELEASE_NOTES_0.2.0.html | 0
.../v1.1.0}/releases/RELEASE_NOTES_0.3.0.html | 0
.../v1.1.0}/releases/RELEASE_NOTES_1.0.0.html | 0
.../v1.1.0}/releases/RELEASE_NOTES_1.1.0.html | 0
{v1.1.0 => content/v1.1.0}/search.html | 0
{v1.1.0 => content/v1.1.0}/searchindex.js | 0
{zh => content/zh}/.buildinfo | 0
{zh => content/zh}/_sources/community/issue-tracking.md.txt | 0
{zh => content/zh}/_sources/community/mail-lists.rst.txt | 0
.../zh}/_sources/community/source-repository.md.txt | 0
{zh => content/zh}/_sources/community/team-list.rst.txt | 0
{zh => content/zh}/_sources/develop/contribute-code.md.txt | 0
{zh => content/zh}/_sources/develop/how-contribute.md.txt | 0
{zh => content/zh}/_sources/develop/schedule.rst.txt | 0
{zh => content/zh}/_sources/docs.rst.txt | 0
{zh => content/zh}/_sources/docs/data.md.txt | 0
{zh => content/zh}/_sources/docs/device.md.txt | 0
{zh => content/zh}/_sources/docs/image_tool.md.txt | 0
{zh => content/zh}/_sources/docs/index.rst.txt | 0
{zh => content/zh}/_sources/docs/initializer.md.txt | 0
{zh => content/zh}/_sources/docs/install_macos1013.rst.txt | 0
{zh => content/zh}/_sources/docs/install_win.rst.txt | 0
{zh => content/zh}/_sources/docs/installation.md.txt | 0
{zh => content/zh}/_sources/docs/layer.md.txt | 0
{zh => content/zh}/_sources/docs/loss.md.txt | 0
{zh => content/zh}/_sources/docs/metric.md.txt | 0
.../zh}/_sources/docs/model_zoo/char-rnn/README.md.txt | 0
.../zh}/_sources/docs/model_zoo/cifar10/README.md.txt | 0
.../_sources/docs/model_zoo/imagenet/alexnet/README.md.txt | 0
.../_sources/docs/model_zoo/imagenet/densenet/README.md.txt | 0
.../docs/model_zoo/imagenet/googlenet/README.md.txt | 0
.../docs/model_zoo/imagenet/inception/README.md.txt | 0
.../_sources/docs/model_zoo/imagenet/resnet/README.md.txt | 0
.../zh}/_sources/docs/model_zoo/imagenet/vgg/README.md.txt | 0
{zh => content/zh}/_sources/docs/model_zoo/index.rst.txt | 0
.../zh}/_sources/docs/model_zoo/mnist/README.md.txt | 0
{zh => content/zh}/_sources/docs/net.md.txt | 0
{zh => content/zh}/_sources/docs/optimizer.md.txt | 0
{zh => content/zh}/_sources/docs/snapshot.md.txt | 0
{zh => content/zh}/_sources/docs/software_stack.md.txt | 0
{zh => content/zh}/_sources/docs/tensor.md.txt | 0
{zh => content/zh}/_sources/docs/utils.md.txt | 0
{zh => content/zh}/_sources/downloads.md.txt | 0
{zh => content/zh}/_sources/index.rst.txt | 0
{zh => content/zh}/_sources/index.txt | 0
{_static => content/zh/_static}/ajax-loader.gif | Bin
{v0.3.0/en => content/zh}/_static/apache.jpg | Bin
{_static => content/zh/_static}/apache.png | Bin
{_static => content/zh/_static}/awsmp.gif | Bin
{zh => content/zh}/_static/basic.css | 0
{_static => content/zh/_static}/comment-bright.png | Bin
{_static => content/zh/_static}/comment-close.png | Bin
{_static => content/zh/_static}/comment.png | Bin
{_static => content/zh/_static}/css/badge_only.css | 0
{_static => content/zh/_static}/css/theme.css | 0
{_static => content/zh/_static}/docker.png | Bin
{_static => content/zh/_static}/doctools.js | 0
{_static => content/zh/_static}/documentation_options.js | 0
{_static => content/zh/_static}/down-pressed.png | Bin
{_static => content/zh/_static}/down.png | Bin
{_static => content/zh/_static}/file.png | Bin
{_static => content/zh/_static}/fonts/Inconsolata-Bold.ttf | Bin
.../zh/_static}/fonts/Inconsolata-Regular.ttf | Bin
{_static => content/zh/_static}/fonts/Inconsolata.ttf | Bin
{_static => content/zh/_static}/fonts/Lato-Bold.ttf | Bin
{en => content/zh}/_static/fonts/Lato-BoldItalic.ttf | Bin
{en => content/zh}/_static/fonts/Lato-Italic.ttf | Bin
{_static => content/zh/_static}/fonts/Lato-Regular.ttf | Bin
{_static => content/zh/_static}/fonts/Lato/lato-bold.eot | Bin
{_static => content/zh/_static}/fonts/Lato/lato-bold.ttf | Bin
{_static => content/zh/_static}/fonts/Lato/lato-bold.woff | Bin
{_static => content/zh/_static}/fonts/Lato/lato-bold.woff2 | Bin
.../zh/_static}/fonts/Lato/lato-bolditalic.eot | Bin
.../zh/_static}/fonts/Lato/lato-bolditalic.ttf | Bin
.../zh/_static}/fonts/Lato/lato-bolditalic.woff | Bin
.../zh/_static}/fonts/Lato/lato-bolditalic.woff2 | Bin
{_static => content/zh/_static}/fonts/Lato/lato-italic.eot | Bin
{_static => content/zh/_static}/fonts/Lato/lato-italic.ttf | Bin
{_static => content/zh/_static}/fonts/Lato/lato-italic.woff | Bin
.../zh/_static}/fonts/Lato/lato-italic.woff2 | Bin
{_static => content/zh/_static}/fonts/Lato/lato-regular.eot | Bin
{_static => content/zh/_static}/fonts/Lato/lato-regular.ttf | Bin
.../zh/_static}/fonts/Lato/lato-regular.woff | Bin
.../zh/_static}/fonts/Lato/lato-regular.woff2 | Bin
{_static => content/zh/_static}/fonts/RobotoSlab-Bold.ttf | Bin
.../zh/_static}/fonts/RobotoSlab-Regular.ttf | Bin
.../zh/_static}/fonts/RobotoSlab/roboto-slab-v7-bold.eot | Bin
.../zh/_static}/fonts/RobotoSlab/roboto-slab-v7-bold.ttf | Bin
.../zh/_static}/fonts/RobotoSlab/roboto-slab-v7-bold.woff | Bin
.../zh/_static}/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 | Bin
.../zh/_static}/fonts/RobotoSlab/roboto-slab-v7-regular.eot | Bin
.../zh/_static}/fonts/RobotoSlab/roboto-slab-v7-regular.ttf | Bin
.../_static}/fonts/RobotoSlab/roboto-slab-v7-regular.woff | Bin
.../_static}/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 | Bin
.../zh/_static}/fonts/fontawesome-webfont.eot | Bin
.../zh/_static}/fonts/fontawesome-webfont.svg | 0
.../zh/_static}/fonts/fontawesome-webfont.ttf | Bin
.../zh/_static}/fonts/fontawesome-webfont.woff | Bin
.../zh/_static}/fonts/fontawesome-webfont.woff2 | Bin
{_static => content/zh/_static}/github.png | Bin
{_static => content/zh/_static}/images/benchmark.png | Bin
{_static => content/zh/_static}/images/mlp-net.png | Bin
{_static => content/zh/_static}/images/model-category.png | Bin
{_static => content/zh/_static}/images/overview.png | Bin
{_static => content/zh/_static}/images/partition_fc.png | Bin
{_static => content/zh/_static}/images/rbm-rnn.png | Bin
{_static => content/zh/_static}/images/sgd.png | Bin
{_static => content/zh/_static}/images/singa.png | Bin
{_static => content/zh/_static}/images/singav1-sw.png | Bin
{v0.3.0/en => content/zh}/_static/jquery-1.11.1.js | 0
{zh => content/zh}/_static/jquery-3.1.0.js | 0
{_static => content/zh/_static}/jquery-3.2.1.js | 0
{_static => content/zh/_static}/jquery.js | 0
{_static => content/zh/_static}/js/modernizr.min.js | 0
{_static => content/zh/_static}/js/theme.js | 0
{_static => content/zh/_static}/jupyter.png | Bin
{_static => content/zh/_static}/language_data.js | 0
{_static => content/zh/_static}/minus.png | Bin
{_static => content/zh/_static}/plus.png | Bin
{_static => content/zh/_static}/pygments.css | 0
{zh => content/zh}/_static/searchtools.js | 0
{_static => content/zh/_static}/singa-logo-updated.ai | 0
{_static => content/zh/_static}/singa.png | Bin
{_static => content/zh/_static}/style.css | 0
{_static => content/zh/_static}/underscore-1.3.1.js | 0
{_static => content/zh/_static}/underscore.js | 0
{_static => content/zh/_static}/up-pressed.png | Bin
{_static => content/zh/_static}/up.png | Bin
{en => content/zh}/_static/websupport.js | 0
{zh => content/zh}/community/issue-tracking.html | 0
{zh => content/zh}/community/mail-lists.html | 0
{zh => content/zh}/community/source-repository.html | 0
{zh => content/zh}/community/team-list.html | 0
{zh => content/zh}/develop/contribute-code.html | 0
{zh => content/zh}/develop/how-contribute.html | 0
{zh => content/zh}/develop/schedule.html | 0
{zh => content/zh}/docs.html | 0
{zh => content/zh}/docs/data.html | 0
{zh => content/zh}/docs/device.html | 0
{zh => content/zh}/docs/image_tool.html | 0
{zh => content/zh}/docs/index.html | 0
{zh => content/zh}/docs/initializer.html | 0
{zh => content/zh}/docs/install_macos1013.html | 0
{zh => content/zh}/docs/install_win.html | 0
{zh => content/zh}/docs/installation.html | 0
{zh => content/zh}/docs/layer.html | 0
{zh => content/zh}/docs/loss.html | 0
{zh => content/zh}/docs/metric.html | 0
{zh => content/zh}/docs/model_zoo/char-rnn/README.html | 0
{zh => content/zh}/docs/model_zoo/cifar10/README.html | 0
.../zh}/docs/model_zoo/imagenet/alexnet/README.html | 0
.../zh}/docs/model_zoo/imagenet/densenet/README.html | 0
.../zh}/docs/model_zoo/imagenet/googlenet/README.html | 0
.../zh}/docs/model_zoo/imagenet/inception/README.html | 0
.../zh}/docs/model_zoo/imagenet/resnet/README.html | 0
{zh => content/zh}/docs/model_zoo/imagenet/vgg/README.html | 0
{zh => content/zh}/docs/model_zoo/index.html | 0
{zh => content/zh}/docs/model_zoo/mnist/README.html | 0
{zh => content/zh}/docs/net.html | 0
{zh => content/zh}/docs/optimizer.html | 0
{zh => content/zh}/docs/snapshot.html | 0
{zh => content/zh}/docs/software_stack.html | 0
{zh => content/zh}/docs/tensor.html | 0
{zh => content/zh}/docs/utils.html | 0
{zh => content/zh}/downloads.html | 0
{zh => content/zh}/genindex.html | 0
{zh => content/zh}/index.html | 0
{zh => content/zh}/objects.inv | Bin
{zh => content/zh}/search.html | 0
{zh => content/zh}/searchindex.js | 0
1948 files changed, 4 insertions(+)
diff --git a/README b/README
index e69de29..664b062 100644
--- a/README
+++ b/README
@@ -0,0 +1,4 @@
+# Website for incuabor-singa
+
+Refer to [this page](https://github.com/apache/incubator-singa/blob/master/doc/en/develop/contribute-docs.md) for the instructions of bulding the website.
+
diff --git a/en/_sources/community/issue-tracking.md.txt b/content/_sources/community/issue-tracking.md.txt
similarity index 100%
rename from en/_sources/community/issue-tracking.md.txt
rename to content/_sources/community/issue-tracking.md.txt
diff --git a/_sources/community/mail-lists.rst.txt b/content/_sources/community/mail-lists.rst.txt
similarity index 100%
rename from _sources/community/mail-lists.rst.txt
rename to content/_sources/community/mail-lists.rst.txt
diff --git a/en/_sources/community/source-repository.rst.txt b/content/_sources/community/source-repository.rst.txt
similarity index 100%
rename from en/_sources/community/source-repository.rst.txt
rename to content/_sources/community/source-repository.rst.txt
diff --git a/en/_sources/community/team-list.rst.txt b/content/_sources/community/team-list.rst.txt
similarity index 100%
rename from en/_sources/community/team-list.rst.txt
rename to content/_sources/community/team-list.rst.txt
diff --git a/en/_sources/develop/contribute-code.md.txt b/content/_sources/develop/contribute-code.md.txt
similarity index 100%
rename from en/_sources/develop/contribute-code.md.txt
rename to content/_sources/develop/contribute-code.md.txt
diff --git a/en/_sources/develop/contribute-docs.md.txt b/content/_sources/develop/contribute-docs.md.txt
similarity index 100%
rename from en/_sources/develop/contribute-docs.md.txt
rename to content/_sources/develop/contribute-docs.md.txt
diff --git a/en/_sources/develop/how-contribute.md.txt b/content/_sources/develop/how-contribute.md.txt
similarity index 100%
rename from en/_sources/develop/how-contribute.md.txt
rename to content/_sources/develop/how-contribute.md.txt
diff --git a/en/_sources/develop/how-to-release.rst.txt b/content/_sources/develop/how-to-release.rst.txt
similarity index 100%
rename from en/_sources/develop/how-to-release.rst.txt
rename to content/_sources/develop/how-to-release.rst.txt
diff --git a/en/_sources/develop/schedule.rst.txt b/content/_sources/develop/schedule.rst.txt
similarity index 100%
rename from en/_sources/develop/schedule.rst.txt
rename to content/_sources/develop/schedule.rst.txt
diff --git a/en/_sources/docs.rst.txt b/content/_sources/docs.rst.txt
similarity index 100%
rename from en/_sources/docs.rst.txt
rename to content/_sources/docs.rst.txt
diff --git a/en/_sources/docs/autograd.md.txt b/content/_sources/docs/autograd.md.txt
similarity index 100%
rename from en/_sources/docs/autograd.md.txt
rename to content/_sources/docs/autograd.md.txt
diff --git a/en/_sources/docs/benchmark.md.txt b/content/_sources/docs/benchmark.md.txt
similarity index 100%
rename from en/_sources/docs/benchmark.md.txt
rename to content/_sources/docs/benchmark.md.txt
diff --git a/en/_sources/docs/cnn.md.txt b/content/_sources/docs/cnn.md.txt
similarity index 100%
rename from en/_sources/docs/cnn.md.txt
rename to content/_sources/docs/cnn.md.txt
diff --git a/en/_sources/docs/converter.rst.txt b/content/_sources/docs/converter.rst.txt
similarity index 100%
rename from en/_sources/docs/converter.rst.txt
rename to content/_sources/docs/converter.rst.txt
diff --git a/en/_sources/docs/data.rst.txt b/content/_sources/docs/data.rst.txt
similarity index 100%
rename from en/_sources/docs/data.rst.txt
rename to content/_sources/docs/data.rst.txt
diff --git a/en/_sources/docs/dependencies.md.txt b/content/_sources/docs/dependencies.md.txt
similarity index 100%
rename from en/_sources/docs/dependencies.md.txt
rename to content/_sources/docs/dependencies.md.txt
diff --git a/en/_sources/docs/device.rst.txt b/content/_sources/docs/device.rst.txt
similarity index 100%
rename from en/_sources/docs/device.rst.txt
rename to content/_sources/docs/device.rst.txt
diff --git a/en/_sources/docs/docker.md.txt b/content/_sources/docs/docker.md.txt
similarity index 100%
rename from en/_sources/docs/docker.md.txt
rename to content/_sources/docs/docker.md.txt
diff --git a/en/_sources/docs/image_tool.rst.txt b/content/_sources/docs/image_tool.rst.txt
similarity index 100%
rename from en/_sources/docs/image_tool.rst.txt
rename to content/_sources/docs/image_tool.rst.txt
diff --git a/_sources/docs/index.rst.txt b/content/_sources/docs/index.rst.txt
similarity index 100%
rename from _sources/docs/index.rst.txt
rename to content/_sources/docs/index.rst.txt
diff --git a/en/_sources/docs/initializer.rst.txt b/content/_sources/docs/initializer.rst.txt
similarity index 100%
rename from en/_sources/docs/initializer.rst.txt
rename to content/_sources/docs/initializer.rst.txt
diff --git a/en/_sources/docs/install_macos1013.rst.txt b/content/_sources/docs/install_macos1013.rst.txt
similarity index 100%
rename from en/_sources/docs/install_macos1013.rst.txt
rename to content/_sources/docs/install_macos1013.rst.txt
diff --git a/en/_sources/docs/install_win.rst.txt b/content/_sources/docs/install_win.rst.txt
similarity index 100%
rename from en/_sources/docs/install_win.rst.txt
rename to content/_sources/docs/install_win.rst.txt
diff --git a/en/_sources/docs/installation.md.txt b/content/_sources/docs/installation.md.txt
similarity index 100%
rename from en/_sources/docs/installation.md.txt
rename to content/_sources/docs/installation.md.txt
diff --git a/en/_sources/docs/layer.rst.txt b/content/_sources/docs/layer.rst.txt
similarity index 100%
rename from en/_sources/docs/layer.rst.txt
rename to content/_sources/docs/layer.rst.txt
diff --git a/en/_sources/docs/loss.rst.txt b/content/_sources/docs/loss.rst.txt
similarity index 100%
rename from en/_sources/docs/loss.rst.txt
rename to content/_sources/docs/loss.rst.txt
diff --git a/en/_sources/docs/metric.rst.txt b/content/_sources/docs/metric.rst.txt
similarity index 100%
rename from en/_sources/docs/metric.rst.txt
rename to content/_sources/docs/metric.rst.txt
diff --git a/en/_sources/docs/model_zoo/caffe/README.md.txt b/content/_sources/docs/model_zoo/caffe/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/caffe/README.md.txt
rename to content/_sources/docs/model_zoo/caffe/README.md.txt
diff --git a/en/_sources/docs/model_zoo/char-rnn/README.md.txt b/content/_sources/docs/model_zoo/char-rnn/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/char-rnn/README.md.txt
rename to content/_sources/docs/model_zoo/char-rnn/README.md.txt
diff --git a/en/_sources/docs/model_zoo/cifar10/README.md.txt b/content/_sources/docs/model_zoo/cifar10/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/cifar10/README.md.txt
rename to content/_sources/docs/model_zoo/cifar10/README.md.txt
diff --git a/en/_sources/docs/model_zoo/examples/caffe/README.md.txt b/content/_sources/docs/model_zoo/examples/caffe/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/caffe/README.md.txt
rename to content/_sources/docs/model_zoo/examples/caffe/README.md.txt
diff --git a/en/_sources/docs/model_zoo/examples/char-rnn/README.md.txt b/content/_sources/docs/model_zoo/examples/char-rnn/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/char-rnn/README.md.txt
rename to content/_sources/docs/model_zoo/examples/char-rnn/README.md.txt
diff --git a/en/_sources/docs/model_zoo/examples/cifar10/README.md.txt b/content/_sources/docs/model_zoo/examples/cifar10/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/cifar10/README.md.txt
rename to content/_sources/docs/model_zoo/examples/cifar10/README.md.txt
diff --git a/en/_sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt b/content/_sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt
rename to content/_sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt
diff --git a/en/_sources/docs/model_zoo/imagenet/densenet/README.md.txt b/content/_sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
rename to content/_sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt
diff --git a/_sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt b/content/_sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt
rename to content/_sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt
diff --git a/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt b/content/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
rename to content/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
diff --git a/_sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt b/content/_sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt
rename to content/_sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt
diff --git a/_sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt b/content/_sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt
rename to content/_sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt
diff --git a/en/_sources/docs/model_zoo/examples/index.rst.txt b/content/_sources/docs/model_zoo/examples/index.rst.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/index.rst.txt
rename to content/_sources/docs/model_zoo/examples/index.rst.txt
diff --git a/en/_sources/docs/model_zoo/examples/mnist/README.md.txt b/content/_sources/docs/model_zoo/examples/mnist/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/mnist/README.md.txt
rename to content/_sources/docs/model_zoo/examples/mnist/README.md.txt
diff --git a/en/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt b/content/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
rename to content/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
diff --git a/en/_sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt b/content/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt
rename to content/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
diff --git a/en/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt b/content/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
rename to content/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
diff --git a/en/_sources/docs/model_zoo/imagenet/inception/README.md.txt b/content/_sources/docs/model_zoo/imagenet/inception/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/imagenet/inception/README.md.txt
rename to content/_sources/docs/model_zoo/imagenet/inception/README.md.txt
diff --git a/en/_sources/docs/model_zoo/imagenet/resnet/README.md.txt b/content/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
rename to content/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
diff --git a/en/_sources/docs/model_zoo/imagenet/vgg/README.md.txt b/content/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
rename to content/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
diff --git a/en/_sources/docs/model_zoo/index.rst.txt b/content/_sources/docs/model_zoo/index.rst.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/index.rst.txt
rename to content/_sources/docs/model_zoo/index.rst.txt
diff --git a/en/_sources/docs/model_zoo/mnist/README.md.txt b/content/_sources/docs/model_zoo/mnist/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/mnist/README.md.txt
rename to content/_sources/docs/model_zoo/mnist/README.md.txt
diff --git a/en/_sources/docs/net.rst.txt b/content/_sources/docs/net.rst.txt
similarity index 100%
rename from en/_sources/docs/net.rst.txt
rename to content/_sources/docs/net.rst.txt
diff --git a/en/_sources/docs/neural-net.md.txt b/content/_sources/docs/neural-net.md.txt
similarity index 100%
rename from en/_sources/docs/neural-net.md.txt
rename to content/_sources/docs/neural-net.md.txt
diff --git a/en/_sources/docs/notebook/README.md.txt b/content/_sources/docs/notebook/README.md.txt
similarity index 100%
rename from en/_sources/docs/notebook/README.md.txt
rename to content/_sources/docs/notebook/README.md.txt
diff --git a/en/_sources/docs/optimizer.rst.txt b/content/_sources/docs/optimizer.rst.txt
similarity index 100%
rename from en/_sources/docs/optimizer.rst.txt
rename to content/_sources/docs/optimizer.rst.txt
diff --git a/en/_sources/docs/security.rst.txt b/content/_sources/docs/security.rst.txt
similarity index 100%
rename from en/_sources/docs/security.rst.txt
rename to content/_sources/docs/security.rst.txt
diff --git a/en/_sources/docs/snapshot.rst.txt b/content/_sources/docs/snapshot.rst.txt
similarity index 100%
rename from en/_sources/docs/snapshot.rst.txt
rename to content/_sources/docs/snapshot.rst.txt
diff --git a/en/_sources/docs/software_stack.md.txt b/content/_sources/docs/software_stack.md.txt
similarity index 100%
rename from en/_sources/docs/software_stack.md.txt
rename to content/_sources/docs/software_stack.md.txt
diff --git a/en/_sources/docs/tensor.rst.txt b/content/_sources/docs/tensor.rst.txt
similarity index 100%
rename from en/_sources/docs/tensor.rst.txt
rename to content/_sources/docs/tensor.rst.txt
diff --git a/en/_sources/docs/utils.rst.txt b/content/_sources/docs/utils.rst.txt
similarity index 100%
rename from en/_sources/docs/utils.rst.txt
rename to content/_sources/docs/utils.rst.txt
diff --git a/_sources/downloads.md.txt b/content/_sources/downloads.md.txt
similarity index 100%
rename from _sources/downloads.md.txt
rename to content/_sources/downloads.md.txt
diff --git a/_sources/index.rst.txt b/content/_sources/index.rst.txt
similarity index 100%
rename from _sources/index.rst.txt
rename to content/_sources/index.rst.txt
diff --git a/en/_sources/releases/RELEASE_NOTES_0.1.0.md.txt b/content/_sources/releases/RELEASE_NOTES_0.1.0.md.txt
similarity index 100%
rename from en/_sources/releases/RELEASE_NOTES_0.1.0.md.txt
rename to content/_sources/releases/RELEASE_NOTES_0.1.0.md.txt
diff --git a/en/_sources/releases/RELEASE_NOTES_0.2.0.md.txt b/content/_sources/releases/RELEASE_NOTES_0.2.0.md.txt
similarity index 100%
rename from en/_sources/releases/RELEASE_NOTES_0.2.0.md.txt
rename to content/_sources/releases/RELEASE_NOTES_0.2.0.md.txt
diff --git a/en/_sources/releases/RELEASE_NOTES_0.3.0.md.txt b/content/_sources/releases/RELEASE_NOTES_0.3.0.md.txt
similarity index 100%
rename from en/_sources/releases/RELEASE_NOTES_0.3.0.md.txt
rename to content/_sources/releases/RELEASE_NOTES_0.3.0.md.txt
diff --git a/en/_sources/releases/RELEASE_NOTES_1.0.0.md.txt b/content/_sources/releases/RELEASE_NOTES_1.0.0.md.txt
similarity index 100%
rename from en/_sources/releases/RELEASE_NOTES_1.0.0.md.txt
rename to content/_sources/releases/RELEASE_NOTES_1.0.0.md.txt
diff --git a/en/_sources/releases/RELEASE_NOTES_1.1.0.md.txt b/content/_sources/releases/RELEASE_NOTES_1.1.0.md.txt
similarity index 100%
rename from en/_sources/releases/RELEASE_NOTES_1.1.0.md.txt
rename to content/_sources/releases/RELEASE_NOTES_1.1.0.md.txt
diff --git a/en/_sources/releases/RELEASE_NOTES_1.2.0.md.txt b/content/_sources/releases/RELEASE_NOTES_1.2.0.md.txt
similarity index 100%
rename from en/_sources/releases/RELEASE_NOTES_1.2.0.md.txt
rename to content/_sources/releases/RELEASE_NOTES_1.2.0.md.txt
diff --git a/en/_sources/releases/RELEASE_NOTES_2.0.0.md.txt b/content/_sources/releases/RELEASE_NOTES_2.0.0.md.txt
similarity index 100%
rename from en/_sources/releases/RELEASE_NOTES_2.0.0.md.txt
rename to content/_sources/releases/RELEASE_NOTES_2.0.0.md.txt
diff --git a/_sources/security.rst.txt b/content/_sources/security.rst.txt
similarity index 100%
rename from _sources/security.rst.txt
rename to content/_sources/security.rst.txt
diff --git a/zh/_static/ajax-loader.gif b/content/_static/ajax-loader.gif
similarity index 100%
rename from zh/_static/ajax-loader.gif
rename to content/_static/ajax-loader.gif
diff --git a/zh/_static/apache.png b/content/_static/apache.png
similarity index 100%
rename from zh/_static/apache.png
rename to content/_static/apache.png
diff --git a/zh/_static/awsmp.gif b/content/_static/awsmp.gif
similarity index 100%
rename from zh/_static/awsmp.gif
rename to content/_static/awsmp.gif
diff --git a/_static/basic.css b/content/_static/basic.css
similarity index 100%
rename from _static/basic.css
rename to content/_static/basic.css
diff --git a/zh/_static/comment-bright.png b/content/_static/comment-bright.png
similarity index 100%
rename from zh/_static/comment-bright.png
rename to content/_static/comment-bright.png
diff --git a/zh/_static/comment-close.png b/content/_static/comment-close.png
similarity index 100%
rename from zh/_static/comment-close.png
rename to content/_static/comment-close.png
diff --git a/zh/_static/comment.png b/content/_static/comment.png
similarity index 100%
rename from zh/_static/comment.png
rename to content/_static/comment.png
diff --git a/zh/_static/css/badge_only.css b/content/_static/css/badge_only.css
similarity index 100%
rename from zh/_static/css/badge_only.css
rename to content/_static/css/badge_only.css
diff --git a/zh/_static/css/theme.css b/content/_static/css/theme.css
similarity index 100%
rename from zh/_static/css/theme.css
rename to content/_static/css/theme.css
diff --git a/zh/_static/docker.png b/content/_static/docker.png
similarity index 100%
rename from zh/_static/docker.png
rename to content/_static/docker.png
diff --git a/zh/_static/doctools.js b/content/_static/doctools.js
similarity index 100%
rename from zh/_static/doctools.js
rename to content/_static/doctools.js
diff --git a/zh/_static/documentation_options.js b/content/_static/documentation_options.js
similarity index 100%
rename from zh/_static/documentation_options.js
rename to content/_static/documentation_options.js
diff --git a/zh/_static/down-pressed.png b/content/_static/down-pressed.png
similarity index 100%
rename from zh/_static/down-pressed.png
rename to content/_static/down-pressed.png
diff --git a/zh/_static/down.png b/content/_static/down.png
similarity index 100%
rename from zh/_static/down.png
rename to content/_static/down.png
diff --git a/zh/_static/file.png b/content/_static/file.png
similarity index 100%
rename from zh/_static/file.png
rename to content/_static/file.png
diff --git a/zh/_static/fonts/Inconsolata-Bold.ttf b/content/_static/fonts/Inconsolata-Bold.ttf
similarity index 100%
rename from zh/_static/fonts/Inconsolata-Bold.ttf
rename to content/_static/fonts/Inconsolata-Bold.ttf
diff --git a/zh/_static/fonts/Inconsolata-Regular.ttf b/content/_static/fonts/Inconsolata-Regular.ttf
similarity index 100%
rename from zh/_static/fonts/Inconsolata-Regular.ttf
rename to content/_static/fonts/Inconsolata-Regular.ttf
diff --git a/zh/_static/fonts/Inconsolata.ttf b/content/_static/fonts/Inconsolata.ttf
similarity index 100%
rename from zh/_static/fonts/Inconsolata.ttf
rename to content/_static/fonts/Inconsolata.ttf
diff --git a/zh/_static/fonts/Lato-Bold.ttf b/content/_static/fonts/Lato-Bold.ttf
similarity index 100%
rename from zh/_static/fonts/Lato-Bold.ttf
rename to content/_static/fonts/Lato-Bold.ttf
diff --git a/zh/_static/fonts/Lato-Regular.ttf b/content/_static/fonts/Lato-Regular.ttf
similarity index 100%
rename from zh/_static/fonts/Lato-Regular.ttf
rename to content/_static/fonts/Lato-Regular.ttf
diff --git a/zh/_static/fonts/Lato/lato-bold.eot b/content/_static/fonts/Lato/lato-bold.eot
similarity index 100%
rename from zh/_static/fonts/Lato/lato-bold.eot
rename to content/_static/fonts/Lato/lato-bold.eot
diff --git a/zh/_static/fonts/Lato/lato-bold.ttf b/content/_static/fonts/Lato/lato-bold.ttf
similarity index 100%
rename from zh/_static/fonts/Lato/lato-bold.ttf
rename to content/_static/fonts/Lato/lato-bold.ttf
diff --git a/zh/_static/fonts/Lato/lato-bold.woff b/content/_static/fonts/Lato/lato-bold.woff
similarity index 100%
rename from zh/_static/fonts/Lato/lato-bold.woff
rename to content/_static/fonts/Lato/lato-bold.woff
diff --git a/zh/_static/fonts/Lato/lato-bold.woff2 b/content/_static/fonts/Lato/lato-bold.woff2
similarity index 100%
rename from zh/_static/fonts/Lato/lato-bold.woff2
rename to content/_static/fonts/Lato/lato-bold.woff2
diff --git a/zh/_static/fonts/Lato/lato-bolditalic.eot b/content/_static/fonts/Lato/lato-bolditalic.eot
similarity index 100%
rename from zh/_static/fonts/Lato/lato-bolditalic.eot
rename to content/_static/fonts/Lato/lato-bolditalic.eot
diff --git a/zh/_static/fonts/Lato/lato-bolditalic.ttf b/content/_static/fonts/Lato/lato-bolditalic.ttf
similarity index 100%
rename from zh/_static/fonts/Lato/lato-bolditalic.ttf
rename to content/_static/fonts/Lato/lato-bolditalic.ttf
diff --git a/zh/_static/fonts/Lato/lato-bolditalic.woff b/content/_static/fonts/Lato/lato-bolditalic.woff
similarity index 100%
rename from zh/_static/fonts/Lato/lato-bolditalic.woff
rename to content/_static/fonts/Lato/lato-bolditalic.woff
diff --git a/zh/_static/fonts/Lato/lato-bolditalic.woff2 b/content/_static/fonts/Lato/lato-bolditalic.woff2
similarity index 100%
rename from zh/_static/fonts/Lato/lato-bolditalic.woff2
rename to content/_static/fonts/Lato/lato-bolditalic.woff2
diff --git a/zh/_static/fonts/Lato/lato-italic.eot b/content/_static/fonts/Lato/lato-italic.eot
similarity index 100%
rename from zh/_static/fonts/Lato/lato-italic.eot
rename to content/_static/fonts/Lato/lato-italic.eot
diff --git a/zh/_static/fonts/Lato/lato-italic.ttf b/content/_static/fonts/Lato/lato-italic.ttf
similarity index 100%
rename from zh/_static/fonts/Lato/lato-italic.ttf
rename to content/_static/fonts/Lato/lato-italic.ttf
diff --git a/zh/_static/fonts/Lato/lato-italic.woff b/content/_static/fonts/Lato/lato-italic.woff
similarity index 100%
rename from zh/_static/fonts/Lato/lato-italic.woff
rename to content/_static/fonts/Lato/lato-italic.woff
diff --git a/zh/_static/fonts/Lato/lato-italic.woff2 b/content/_static/fonts/Lato/lato-italic.woff2
similarity index 100%
rename from zh/_static/fonts/Lato/lato-italic.woff2
rename to content/_static/fonts/Lato/lato-italic.woff2
diff --git a/zh/_static/fonts/Lato/lato-regular.eot b/content/_static/fonts/Lato/lato-regular.eot
similarity index 100%
rename from zh/_static/fonts/Lato/lato-regular.eot
rename to content/_static/fonts/Lato/lato-regular.eot
diff --git a/zh/_static/fonts/Lato/lato-regular.ttf b/content/_static/fonts/Lato/lato-regular.ttf
similarity index 100%
rename from zh/_static/fonts/Lato/lato-regular.ttf
rename to content/_static/fonts/Lato/lato-regular.ttf
diff --git a/zh/_static/fonts/Lato/lato-regular.woff b/content/_static/fonts/Lato/lato-regular.woff
similarity index 100%
rename from zh/_static/fonts/Lato/lato-regular.woff
rename to content/_static/fonts/Lato/lato-regular.woff
diff --git a/zh/_static/fonts/Lato/lato-regular.woff2 b/content/_static/fonts/Lato/lato-regular.woff2
similarity index 100%
rename from zh/_static/fonts/Lato/lato-regular.woff2
rename to content/_static/fonts/Lato/lato-regular.woff2
diff --git a/zh/_static/fonts/RobotoSlab-Bold.ttf b/content/_static/fonts/RobotoSlab-Bold.ttf
similarity index 100%
rename from zh/_static/fonts/RobotoSlab-Bold.ttf
rename to content/_static/fonts/RobotoSlab-Bold.ttf
diff --git a/zh/_static/fonts/RobotoSlab-Regular.ttf b/content/_static/fonts/RobotoSlab-Regular.ttf
similarity index 100%
rename from zh/_static/fonts/RobotoSlab-Regular.ttf
rename to content/_static/fonts/RobotoSlab-Regular.ttf
diff --git a/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/content/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
similarity index 100%
rename from zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
rename to content/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
diff --git a/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/content/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
similarity index 100%
rename from zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
rename to content/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
diff --git a/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/content/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
similarity index 100%
rename from zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
rename to content/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
diff --git a/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/content/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
similarity index 100%
rename from zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
rename to content/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
diff --git a/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/content/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
similarity index 100%
rename from zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
rename to content/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
diff --git a/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/content/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
similarity index 100%
rename from zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
rename to content/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
diff --git a/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/content/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
similarity index 100%
rename from zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
rename to content/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
diff --git a/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/content/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
similarity index 100%
rename from zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
rename to content/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
diff --git a/zh/_static/fonts/fontawesome-webfont.eot b/content/_static/fonts/fontawesome-webfont.eot
similarity index 100%
rename from zh/_static/fonts/fontawesome-webfont.eot
rename to content/_static/fonts/fontawesome-webfont.eot
diff --git a/zh/_static/fonts/fontawesome-webfont.svg b/content/_static/fonts/fontawesome-webfont.svg
similarity index 100%
rename from zh/_static/fonts/fontawesome-webfont.svg
rename to content/_static/fonts/fontawesome-webfont.svg
diff --git a/zh/_static/fonts/fontawesome-webfont.ttf b/content/_static/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from zh/_static/fonts/fontawesome-webfont.ttf
rename to content/_static/fonts/fontawesome-webfont.ttf
diff --git a/zh/_static/fonts/fontawesome-webfont.woff b/content/_static/fonts/fontawesome-webfont.woff
similarity index 100%
rename from zh/_static/fonts/fontawesome-webfont.woff
rename to content/_static/fonts/fontawesome-webfont.woff
diff --git a/zh/_static/fonts/fontawesome-webfont.woff2 b/content/_static/fonts/fontawesome-webfont.woff2
similarity index 100%
rename from zh/_static/fonts/fontawesome-webfont.woff2
rename to content/_static/fonts/fontawesome-webfont.woff2
diff --git a/zh/_static/github.png b/content/_static/github.png
similarity index 100%
rename from zh/_static/github.png
rename to content/_static/github.png
diff --git a/zh/_static/images/benchmark.png b/content/_static/images/benchmark.png
similarity index 100%
rename from zh/_static/images/benchmark.png
rename to content/_static/images/benchmark.png
diff --git a/zh/_static/images/mlp-net.png b/content/_static/images/mlp-net.png
similarity index 100%
rename from zh/_static/images/mlp-net.png
rename to content/_static/images/mlp-net.png
diff --git a/zh/_static/images/model-category.png b/content/_static/images/model-category.png
similarity index 100%
rename from zh/_static/images/model-category.png
rename to content/_static/images/model-category.png
diff --git a/zh/_static/images/overview.png b/content/_static/images/overview.png
similarity index 100%
rename from zh/_static/images/overview.png
rename to content/_static/images/overview.png
diff --git a/zh/_static/images/partition_fc.png b/content/_static/images/partition_fc.png
similarity index 100%
rename from zh/_static/images/partition_fc.png
rename to content/_static/images/partition_fc.png
diff --git a/zh/_static/images/rbm-rnn.png b/content/_static/images/rbm-rnn.png
similarity index 100%
rename from zh/_static/images/rbm-rnn.png
rename to content/_static/images/rbm-rnn.png
diff --git a/zh/_static/images/sgd.png b/content/_static/images/sgd.png
similarity index 100%
rename from zh/_static/images/sgd.png
rename to content/_static/images/sgd.png
diff --git a/zh/_static/images/singa.png b/content/_static/images/singa.png
similarity index 100%
rename from zh/_static/images/singa.png
rename to content/_static/images/singa.png
diff --git a/zh/_static/images/singav1-sw.png b/content/_static/images/singav1-sw.png
similarity index 100%
rename from zh/_static/images/singav1-sw.png
rename to content/_static/images/singav1-sw.png
diff --git a/zh/_static/jquery-3.2.1.js b/content/_static/jquery-3.2.1.js
similarity index 100%
rename from zh/_static/jquery-3.2.1.js
rename to content/_static/jquery-3.2.1.js
diff --git a/zh/_static/jquery.js b/content/_static/jquery.js
similarity index 100%
rename from zh/_static/jquery.js
rename to content/_static/jquery.js
diff --git a/zh/_static/js/modernizr.min.js b/content/_static/js/modernizr.min.js
similarity index 100%
rename from zh/_static/js/modernizr.min.js
rename to content/_static/js/modernizr.min.js
diff --git a/zh/_static/js/theme.js b/content/_static/js/theme.js
similarity index 100%
rename from zh/_static/js/theme.js
rename to content/_static/js/theme.js
diff --git a/zh/_static/jupyter.png b/content/_static/jupyter.png
similarity index 100%
rename from zh/_static/jupyter.png
rename to content/_static/jupyter.png
diff --git a/zh/_static/language_data.js b/content/_static/language_data.js
similarity index 100%
rename from zh/_static/language_data.js
rename to content/_static/language_data.js
diff --git a/zh/_static/minus.png b/content/_static/minus.png
similarity index 100%
rename from zh/_static/minus.png
rename to content/_static/minus.png
diff --git a/zh/_static/plus.png b/content/_static/plus.png
similarity index 100%
rename from zh/_static/plus.png
rename to content/_static/plus.png
diff --git a/zh/_static/pygments.css b/content/_static/pygments.css
similarity index 100%
rename from zh/_static/pygments.css
rename to content/_static/pygments.css
diff --git a/_static/searchtools.js b/content/_static/searchtools.js
similarity index 100%
rename from _static/searchtools.js
rename to content/_static/searchtools.js
diff --git a/zh/_static/singa-logo-updated.ai b/content/_static/singa-logo-updated.ai
similarity index 100%
rename from zh/_static/singa-logo-updated.ai
rename to content/_static/singa-logo-updated.ai
diff --git a/zh/_static/singa.png b/content/_static/singa.png
similarity index 100%
rename from zh/_static/singa.png
rename to content/_static/singa.png
diff --git a/zh/_static/style.css b/content/_static/style.css
similarity index 100%
rename from zh/_static/style.css
rename to content/_static/style.css
diff --git a/zh/_static/underscore-1.3.1.js b/content/_static/underscore-1.3.1.js
similarity index 100%
rename from zh/_static/underscore-1.3.1.js
rename to content/_static/underscore-1.3.1.js
diff --git a/zh/_static/underscore.js b/content/_static/underscore.js
similarity index 100%
rename from zh/_static/underscore.js
rename to content/_static/underscore.js
diff --git a/zh/_static/up-pressed.png b/content/_static/up-pressed.png
similarity index 100%
rename from zh/_static/up-pressed.png
rename to content/_static/up-pressed.png
diff --git a/zh/_static/up.png b/content/_static/up.png
similarity index 100%
rename from zh/_static/up.png
rename to content/_static/up.png
diff --git a/_static/websupport.js b/content/_static/websupport.js
similarity index 100%
rename from _static/websupport.js
rename to content/_static/websupport.js
diff --git a/community/issue-tracking.html b/content/community/issue-tracking.html
similarity index 100%
rename from community/issue-tracking.html
rename to content/community/issue-tracking.html
diff --git a/community/mail-lists.html b/content/community/mail-lists.html
similarity index 100%
rename from community/mail-lists.html
rename to content/community/mail-lists.html
diff --git a/community/source-repository.html b/content/community/source-repository.html
similarity index 100%
rename from community/source-repository.html
rename to content/community/source-repository.html
diff --git a/community/team-list.html b/content/community/team-list.html
similarity index 100%
rename from community/team-list.html
rename to content/community/team-list.html
diff --git a/develop/contribute-code.html b/content/develop/contribute-code.html
similarity index 100%
rename from develop/contribute-code.html
rename to content/develop/contribute-code.html
diff --git a/develop/contribute-docs.html b/content/develop/contribute-docs.html
similarity index 100%
rename from develop/contribute-docs.html
rename to content/develop/contribute-docs.html
diff --git a/develop/how-contribute.html b/content/develop/how-contribute.html
similarity index 100%
rename from develop/how-contribute.html
rename to content/develop/how-contribute.html
diff --git a/develop/how-to-release.html b/content/develop/how-to-release.html
similarity index 100%
rename from develop/how-to-release.html
rename to content/develop/how-to-release.html
diff --git a/develop/schedule.html b/content/develop/schedule.html
similarity index 100%
rename from develop/schedule.html
rename to content/develop/schedule.html
diff --git a/docs.html b/content/docs.html
similarity index 100%
rename from docs.html
rename to content/docs.html
diff --git a/docs/autograd.html b/content/docs/autograd.html
similarity index 100%
rename from docs/autograd.html
rename to content/docs/autograd.html
diff --git a/docs/benchmark.html b/content/docs/benchmark.html
similarity index 100%
rename from docs/benchmark.html
rename to content/docs/benchmark.html
diff --git a/docs/cnn.html b/content/docs/cnn.html
similarity index 100%
rename from docs/cnn.html
rename to content/docs/cnn.html
diff --git a/docs/converter.html b/content/docs/converter.html
similarity index 100%
rename from docs/converter.html
rename to content/docs/converter.html
diff --git a/docs/data.html b/content/docs/data.html
similarity index 100%
rename from docs/data.html
rename to content/docs/data.html
diff --git a/docs/dependencies.html b/content/docs/dependencies.html
similarity index 100%
rename from docs/dependencies.html
rename to content/docs/dependencies.html
diff --git a/docs/device.html b/content/docs/device.html
similarity index 100%
rename from docs/device.html
rename to content/docs/device.html
diff --git a/docs/docker.html b/content/docs/docker.html
similarity index 100%
rename from docs/docker.html
rename to content/docs/docker.html
diff --git a/docs/image_tool.html b/content/docs/image_tool.html
similarity index 100%
rename from docs/image_tool.html
rename to content/docs/image_tool.html
diff --git a/docs/index.html b/content/docs/index.html
similarity index 100%
rename from docs/index.html
rename to content/docs/index.html
diff --git a/docs/initializer.html b/content/docs/initializer.html
similarity index 100%
rename from docs/initializer.html
rename to content/docs/initializer.html
diff --git a/docs/install_macos1013.html b/content/docs/install_macos1013.html
similarity index 100%
rename from docs/install_macos1013.html
rename to content/docs/install_macos1013.html
diff --git a/docs/install_win.html b/content/docs/install_win.html
similarity index 100%
rename from docs/install_win.html
rename to content/docs/install_win.html
diff --git a/docs/installation.html b/content/docs/installation.html
similarity index 100%
rename from docs/installation.html
rename to content/docs/installation.html
diff --git a/docs/layer.html b/content/docs/layer.html
similarity index 100%
rename from docs/layer.html
rename to content/docs/layer.html
diff --git a/docs/loss.html b/content/docs/loss.html
similarity index 100%
rename from docs/loss.html
rename to content/docs/loss.html
diff --git a/docs/metric.html b/content/docs/metric.html
similarity index 100%
rename from docs/metric.html
rename to content/docs/metric.html
diff --git a/docs/model_zoo/caffe/README.html b/content/docs/model_zoo/caffe/README.html
similarity index 100%
rename from docs/model_zoo/caffe/README.html
rename to content/docs/model_zoo/caffe/README.html
diff --git a/docs/model_zoo/char-rnn/README.html b/content/docs/model_zoo/char-rnn/README.html
similarity index 100%
rename from docs/model_zoo/char-rnn/README.html
rename to content/docs/model_zoo/char-rnn/README.html
diff --git a/docs/model_zoo/cifar10/README.html b/content/docs/model_zoo/cifar10/README.html
similarity index 100%
rename from docs/model_zoo/cifar10/README.html
rename to content/docs/model_zoo/cifar10/README.html
diff --git a/docs/model_zoo/examples/caffe/README.html b/content/docs/model_zoo/examples/caffe/README.html
similarity index 100%
rename from docs/model_zoo/examples/caffe/README.html
rename to content/docs/model_zoo/examples/caffe/README.html
diff --git a/docs/model_zoo/examples/char-rnn/README.html b/content/docs/model_zoo/examples/char-rnn/README.html
similarity index 100%
rename from docs/model_zoo/examples/char-rnn/README.html
rename to content/docs/model_zoo/examples/char-rnn/README.html
diff --git a/docs/model_zoo/examples/cifar10/README.html b/content/docs/model_zoo/examples/cifar10/README.html
similarity index 100%
rename from docs/model_zoo/examples/cifar10/README.html
rename to content/docs/model_zoo/examples/cifar10/README.html
diff --git a/docs/model_zoo/examples/imagenet/alexnet/README.html b/content/docs/model_zoo/examples/imagenet/alexnet/README.html
similarity index 100%
rename from docs/model_zoo/examples/imagenet/alexnet/README.html
rename to content/docs/model_zoo/examples/imagenet/alexnet/README.html
diff --git a/docs/model_zoo/examples/imagenet/densenet/README.html b/content/docs/model_zoo/examples/imagenet/densenet/README.html
similarity index 100%
rename from docs/model_zoo/examples/imagenet/densenet/README.html
rename to content/docs/model_zoo/examples/imagenet/densenet/README.html
diff --git a/docs/model_zoo/examples/imagenet/googlenet/README.html b/content/docs/model_zoo/examples/imagenet/googlenet/README.html
similarity index 100%
rename from docs/model_zoo/examples/imagenet/googlenet/README.html
rename to content/docs/model_zoo/examples/imagenet/googlenet/README.html
diff --git a/docs/model_zoo/examples/imagenet/inception/README.html b/content/docs/model_zoo/examples/imagenet/inception/README.html
similarity index 100%
rename from docs/model_zoo/examples/imagenet/inception/README.html
rename to content/docs/model_zoo/examples/imagenet/inception/README.html
diff --git a/docs/model_zoo/examples/imagenet/resnet/README.html b/content/docs/model_zoo/examples/imagenet/resnet/README.html
similarity index 100%
rename from docs/model_zoo/examples/imagenet/resnet/README.html
rename to content/docs/model_zoo/examples/imagenet/resnet/README.html
diff --git a/docs/model_zoo/examples/imagenet/vgg/README.html b/content/docs/model_zoo/examples/imagenet/vgg/README.html
similarity index 100%
rename from docs/model_zoo/examples/imagenet/vgg/README.html
rename to content/docs/model_zoo/examples/imagenet/vgg/README.html
diff --git a/docs/model_zoo/examples/index.html b/content/docs/model_zoo/examples/index.html
similarity index 100%
rename from docs/model_zoo/examples/index.html
rename to content/docs/model_zoo/examples/index.html
diff --git a/docs/model_zoo/examples/mnist/README.html b/content/docs/model_zoo/examples/mnist/README.html
similarity index 100%
rename from docs/model_zoo/examples/mnist/README.html
rename to content/docs/model_zoo/examples/mnist/README.html
diff --git a/docs/model_zoo/imagenet/alexnet/README.html b/content/docs/model_zoo/imagenet/alexnet/README.html
similarity index 100%
rename from docs/model_zoo/imagenet/alexnet/README.html
rename to content/docs/model_zoo/imagenet/alexnet/README.html
diff --git a/docs/model_zoo/imagenet/densenet/README.html b/content/docs/model_zoo/imagenet/densenet/README.html
similarity index 100%
rename from docs/model_zoo/imagenet/densenet/README.html
rename to content/docs/model_zoo/imagenet/densenet/README.html
diff --git a/docs/model_zoo/imagenet/googlenet/README.html b/content/docs/model_zoo/imagenet/googlenet/README.html
similarity index 100%
rename from docs/model_zoo/imagenet/googlenet/README.html
rename to content/docs/model_zoo/imagenet/googlenet/README.html
diff --git a/docs/model_zoo/imagenet/inception/README.html b/content/docs/model_zoo/imagenet/inception/README.html
similarity index 100%
rename from docs/model_zoo/imagenet/inception/README.html
rename to content/docs/model_zoo/imagenet/inception/README.html
diff --git a/docs/model_zoo/imagenet/resnet/README.html b/content/docs/model_zoo/imagenet/resnet/README.html
similarity index 100%
rename from docs/model_zoo/imagenet/resnet/README.html
rename to content/docs/model_zoo/imagenet/resnet/README.html
diff --git a/docs/model_zoo/imagenet/vgg/README.html b/content/docs/model_zoo/imagenet/vgg/README.html
similarity index 100%
rename from docs/model_zoo/imagenet/vgg/README.html
rename to content/docs/model_zoo/imagenet/vgg/README.html
diff --git a/docs/model_zoo/index.html b/content/docs/model_zoo/index.html
similarity index 100%
rename from docs/model_zoo/index.html
rename to content/docs/model_zoo/index.html
diff --git a/docs/model_zoo/mnist/README.html b/content/docs/model_zoo/mnist/README.html
similarity index 100%
rename from docs/model_zoo/mnist/README.html
rename to content/docs/model_zoo/mnist/README.html
diff --git a/docs/net.html b/content/docs/net.html
similarity index 100%
rename from docs/net.html
rename to content/docs/net.html
diff --git a/docs/neural-net.html b/content/docs/neural-net.html
similarity index 100%
rename from docs/neural-net.html
rename to content/docs/neural-net.html
diff --git a/docs/notebook/README.html b/content/docs/notebook/README.html
similarity index 100%
rename from docs/notebook/README.html
rename to content/docs/notebook/README.html
diff --git a/docs/optimizer.html b/content/docs/optimizer.html
similarity index 100%
rename from docs/optimizer.html
rename to content/docs/optimizer.html
diff --git a/docs/snapshot.html b/content/docs/snapshot.html
similarity index 100%
rename from docs/snapshot.html
rename to content/docs/snapshot.html
diff --git a/docs/software_stack.html b/content/docs/software_stack.html
similarity index 100%
rename from docs/software_stack.html
rename to content/docs/software_stack.html
diff --git a/docs/tensor.html b/content/docs/tensor.html
similarity index 100%
rename from docs/tensor.html
rename to content/docs/tensor.html
diff --git a/docs/utils.html b/content/docs/utils.html
similarity index 100%
rename from docs/utils.html
rename to content/docs/utils.html
diff --git a/downloads.html b/content/downloads.html
similarity index 100%
rename from downloads.html
rename to content/downloads.html
diff --git a/doxygen/html/annotated.html b/content/doxygen/html/annotated.html
similarity index 100%
rename from doxygen/html/annotated.html
rename to content/doxygen/html/annotated.html
diff --git a/doxygen/html/bc_s.png b/content/doxygen/html/bc_s.png
similarity index 100%
rename from doxygen/html/bc_s.png
rename to content/doxygen/html/bc_s.png
diff --git a/doxygen/html/bdwn.png b/content/doxygen/html/bdwn.png
similarity index 100%
rename from doxygen/html/bdwn.png
rename to content/doxygen/html/bdwn.png
diff --git a/doxygen/html/channel_8h_source.html b/content/doxygen/html/channel_8h_source.html
similarity index 100%
rename from doxygen/html/channel_8h_source.html
rename to content/doxygen/html/channel_8h_source.html
diff --git a/doxygen/html/classFactory-members.html b/content/doxygen/html/classFactory-members.html
similarity index 100%
rename from doxygen/html/classFactory-members.html
rename to content/doxygen/html/classFactory-members.html
diff --git a/doxygen/html/classFactory.html b/content/doxygen/html/classFactory.html
similarity index 100%
rename from doxygen/html/classFactory.html
rename to content/doxygen/html/classFactory.html
diff --git a/doxygen/html/classPriorityQueue-members.html b/content/doxygen/html/classPriorityQueue-members.html
similarity index 100%
rename from doxygen/html/classPriorityQueue-members.html
rename to content/doxygen/html/classPriorityQueue-members.html
diff --git a/doxygen/html/classPriorityQueue.html b/content/doxygen/html/classPriorityQueue.html
similarity index 100%
rename from doxygen/html/classPriorityQueue.html
rename to content/doxygen/html/classPriorityQueue.html
diff --git a/doxygen/html/classRegistra-members.html b/content/doxygen/html/classRegistra-members.html
similarity index 100%
rename from doxygen/html/classRegistra-members.html
rename to content/doxygen/html/classRegistra-members.html
diff --git a/doxygen/html/classRegistra.html b/content/doxygen/html/classRegistra.html
similarity index 100%
rename from doxygen/html/classRegistra.html
rename to content/doxygen/html/classRegistra.html
diff --git a/doxygen/html/classSafeQueue-members.html b/content/doxygen/html/classSafeQueue-members.html
similarity index 100%
rename from doxygen/html/classSafeQueue-members.html
rename to content/doxygen/html/classSafeQueue-members.html
diff --git a/doxygen/html/classSafeQueue.html b/content/doxygen/html/classSafeQueue.html
similarity index 100%
rename from doxygen/html/classSafeQueue.html
rename to content/doxygen/html/classSafeQueue.html
diff --git a/doxygen/html/classSingleton-members.html b/content/doxygen/html/classSingleton-members.html
similarity index 100%
rename from doxygen/html/classSingleton-members.html
rename to content/doxygen/html/classSingleton-members.html
diff --git a/doxygen/html/classSingleton.html b/content/doxygen/html/classSingleton.html
similarity index 100%
rename from doxygen/html/classSingleton.html
rename to content/doxygen/html/classSingleton.html
diff --git a/doxygen/html/classes.html b/content/doxygen/html/classes.html
similarity index 100%
rename from doxygen/html/classes.html
rename to content/doxygen/html/classes.html
diff --git a/doxygen/html/classsinga_1_1Accuracy-members.html b/content/doxygen/html/classsinga_1_1Accuracy-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Accuracy-members.html
rename to content/doxygen/html/classsinga_1_1Accuracy-members.html
diff --git a/doxygen/html/classsinga_1_1Accuracy.html b/content/doxygen/html/classsinga_1_1Accuracy.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Accuracy.html
rename to content/doxygen/html/classsinga_1_1Accuracy.html
diff --git a/doxygen/html/classsinga_1_1Accuracy__coll__graph.dot b/content/doxygen/html/classsinga_1_1Accuracy__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Accuracy__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1Accuracy__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1Accuracy__coll__graph.md5 b/content/doxygen/html/classsinga_1_1Accuracy__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Accuracy__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1Accuracy__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1Accuracy__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Accuracy__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Accuracy__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Accuracy__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Accuracy__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Accuracy__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Accuracy__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Accuracy__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1AdaGrad-members.html b/content/doxygen/html/classsinga_1_1AdaGrad-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1AdaGrad-members.html
rename to content/doxygen/html/classsinga_1_1AdaGrad-members.html
diff --git a/doxygen/html/classsinga_1_1AdaGrad.html b/content/doxygen/html/classsinga_1_1AdaGrad.html
similarity index 100%
rename from doxygen/html/classsinga_1_1AdaGrad.html
rename to content/doxygen/html/classsinga_1_1AdaGrad.html
diff --git a/doxygen/html/classsinga_1_1AdaGrad__coll__graph.dot b/content/doxygen/html/classsinga_1_1AdaGrad__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1AdaGrad__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1AdaGrad__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1AdaGrad__coll__graph.md5 b/content/doxygen/html/classsinga_1_1AdaGrad__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1AdaGrad__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1AdaGrad__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1AdaGrad__inherit__graph.dot b/content/doxygen/html/classsinga_1_1AdaGrad__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1AdaGrad__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1AdaGrad__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1AdaGrad__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1AdaGrad__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1AdaGrad__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1AdaGrad__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Block-members.html b/content/doxygen/html/classsinga_1_1Block-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Block-members.html
rename to content/doxygen/html/classsinga_1_1Block-members.html
diff --git a/doxygen/html/classsinga_1_1Block.html b/content/doxygen/html/classsinga_1_1Block.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Block.html
rename to content/doxygen/html/classsinga_1_1Block.html
diff --git a/doxygen/html/classsinga_1_1CSVDecoder-members.html b/content/doxygen/html/classsinga_1_1CSVDecoder-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVDecoder-members.html
rename to content/doxygen/html/classsinga_1_1CSVDecoder-members.html
diff --git a/doxygen/html/classsinga_1_1CSVDecoder.html b/content/doxygen/html/classsinga_1_1CSVDecoder.html
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVDecoder.html
rename to content/doxygen/html/classsinga_1_1CSVDecoder.html
diff --git a/doxygen/html/classsinga_1_1CSVDecoder__coll__graph.dot b/content/doxygen/html/classsinga_1_1CSVDecoder__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVDecoder__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1CSVDecoder__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1CSVDecoder__coll__graph.md5 b/content/doxygen/html/classsinga_1_1CSVDecoder__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVDecoder__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1CSVDecoder__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1CSVDecoder__inherit__graph.dot b/content/doxygen/html/classsinga_1_1CSVDecoder__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVDecoder__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1CSVDecoder__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1CSVDecoder__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1CSVDecoder__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVDecoder__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1CSVDecoder__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1CSVEncoder-members.html b/content/doxygen/html/classsinga_1_1CSVEncoder-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVEncoder-members.html
rename to content/doxygen/html/classsinga_1_1CSVEncoder-members.html
diff --git a/doxygen/html/classsinga_1_1CSVEncoder.html b/content/doxygen/html/classsinga_1_1CSVEncoder.html
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVEncoder.html
rename to content/doxygen/html/classsinga_1_1CSVEncoder.html
diff --git a/doxygen/html/classsinga_1_1CSVEncoder__coll__graph.dot b/content/doxygen/html/classsinga_1_1CSVEncoder__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVEncoder__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1CSVEncoder__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1CSVEncoder__coll__graph.md5 b/content/doxygen/html/classsinga_1_1CSVEncoder__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVEncoder__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1CSVEncoder__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1CSVEncoder__inherit__graph.dot b/content/doxygen/html/classsinga_1_1CSVEncoder__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVEncoder__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1CSVEncoder__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1CSVEncoder__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1CSVEncoder__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1CSVEncoder__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1CSVEncoder__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Channel-members.html b/content/doxygen/html/classsinga_1_1Channel-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Channel-members.html
rename to content/doxygen/html/classsinga_1_1Channel-members.html
diff --git a/doxygen/html/classsinga_1_1Channel.html b/content/doxygen/html/classsinga_1_1Channel.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Channel.html
rename to content/doxygen/html/classsinga_1_1Channel.html
diff --git a/doxygen/html/classsinga_1_1ChannelManager-members.html b/content/doxygen/html/classsinga_1_1ChannelManager-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1ChannelManager-members.html
rename to content/doxygen/html/classsinga_1_1ChannelManager-members.html
diff --git a/doxygen/html/classsinga_1_1ChannelManager.html b/content/doxygen/html/classsinga_1_1ChannelManager.html
similarity index 100%
rename from doxygen/html/classsinga_1_1ChannelManager.html
rename to content/doxygen/html/classsinga_1_1ChannelManager.html
diff --git a/doxygen/html/classsinga_1_1Constraint-members.html b/content/doxygen/html/classsinga_1_1Constraint-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Constraint-members.html
rename to content/doxygen/html/classsinga_1_1Constraint-members.html
diff --git a/doxygen/html/classsinga_1_1Constraint.html b/content/doxygen/html/classsinga_1_1Constraint.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Constraint.html
rename to content/doxygen/html/classsinga_1_1Constraint.html
diff --git a/doxygen/html/classsinga_1_1CppCPU-members.html b/content/doxygen/html/classsinga_1_1CppCPU-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1CppCPU-members.html
rename to content/doxygen/html/classsinga_1_1CppCPU-members.html
diff --git a/doxygen/html/classsinga_1_1CppCPU.html b/content/doxygen/html/classsinga_1_1CppCPU.html
similarity index 100%
rename from doxygen/html/classsinga_1_1CppCPU.html
rename to content/doxygen/html/classsinga_1_1CppCPU.html
diff --git a/doxygen/html/classsinga_1_1CppCPU__coll__graph.dot b/content/doxygen/html/classsinga_1_1CppCPU__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1CppCPU__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1CppCPU__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1CppCPU__coll__graph.md5 b/content/doxygen/html/classsinga_1_1CppCPU__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1CppCPU__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1CppCPU__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1CppCPU__inherit__graph.dot b/content/doxygen/html/classsinga_1_1CppCPU__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1CppCPU__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1CppCPU__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1CppCPU__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1CppCPU__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1CppCPU__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1CppCPU__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Decoder-members.html b/content/doxygen/html/classsinga_1_1Decoder-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Decoder-members.html
rename to content/doxygen/html/classsinga_1_1Decoder-members.html
diff --git a/doxygen/html/classsinga_1_1Decoder.html b/content/doxygen/html/classsinga_1_1Decoder.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Decoder.html
rename to content/doxygen/html/classsinga_1_1Decoder.html
diff --git a/doxygen/html/classsinga_1_1Decoder__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Decoder__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Decoder__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Decoder__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Decoder__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Decoder__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Decoder__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Decoder__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Device-members.html b/content/doxygen/html/classsinga_1_1Device-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Device-members.html
rename to content/doxygen/html/classsinga_1_1Device-members.html
diff --git a/doxygen/html/classsinga_1_1Device.html b/content/doxygen/html/classsinga_1_1Device.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Device.html
rename to content/doxygen/html/classsinga_1_1Device.html
diff --git a/doxygen/html/classsinga_1_1DeviceMemPool-members.html b/content/doxygen/html/classsinga_1_1DeviceMemPool-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1DeviceMemPool-members.html
rename to content/doxygen/html/classsinga_1_1DeviceMemPool-members.html
diff --git a/doxygen/html/classsinga_1_1DeviceMemPool.html b/content/doxygen/html/classsinga_1_1DeviceMemPool.html
similarity index 100%
rename from doxygen/html/classsinga_1_1DeviceMemPool.html
rename to content/doxygen/html/classsinga_1_1DeviceMemPool.html
diff --git a/doxygen/html/classsinga_1_1Device__coll__graph.dot b/content/doxygen/html/classsinga_1_1Device__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Device__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1Device__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1Device__coll__graph.md5 b/content/doxygen/html/classsinga_1_1Device__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Device__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1Device__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1Device__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Device__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Device__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Device__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Device__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Device__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Device__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Device__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Encoder-members.html b/content/doxygen/html/classsinga_1_1Encoder-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Encoder-members.html
rename to content/doxygen/html/classsinga_1_1Encoder-members.html
diff --git a/doxygen/html/classsinga_1_1Encoder.html b/content/doxygen/html/classsinga_1_1Encoder.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Encoder.html
rename to content/doxygen/html/classsinga_1_1Encoder.html
diff --git a/doxygen/html/classsinga_1_1Encoder__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Encoder__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Encoder__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Encoder__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Encoder__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Encoder__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Encoder__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Encoder__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1FeedForwardNet-members.html b/content/doxygen/html/classsinga_1_1FeedForwardNet-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1FeedForwardNet-members.html
rename to content/doxygen/html/classsinga_1_1FeedForwardNet-members.html
diff --git a/doxygen/html/classsinga_1_1FeedForwardNet.html b/content/doxygen/html/classsinga_1_1FeedForwardNet.html
similarity index 100%
rename from doxygen/html/classsinga_1_1FeedForwardNet.html
rename to content/doxygen/html/classsinga_1_1FeedForwardNet.html
diff --git a/doxygen/html/classsinga_1_1FeedForwardNet__coll__graph.dot b/content/doxygen/html/classsinga_1_1FeedForwardNet__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1FeedForwardNet__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1FeedForwardNet__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1FeedForwardNet__coll__graph.md5 b/content/doxygen/html/classsinga_1_1FeedForwardNet__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1FeedForwardNet__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1FeedForwardNet__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1ImageTransformer-members.html b/content/doxygen/html/classsinga_1_1ImageTransformer-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1ImageTransformer-members.html
rename to content/doxygen/html/classsinga_1_1ImageTransformer-members.html
diff --git a/doxygen/html/classsinga_1_1ImageTransformer.html b/content/doxygen/html/classsinga_1_1ImageTransformer.html
similarity index 100%
rename from doxygen/html/classsinga_1_1ImageTransformer.html
rename to content/doxygen/html/classsinga_1_1ImageTransformer.html
diff --git a/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.dot b/content/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1ImageTransformer__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.md5 b/content/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1ImageTransformer__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1ImageTransformer__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.dot b/content/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1ImageTransformer__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Initializer-members.html b/content/doxygen/html/classsinga_1_1Initializer-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Initializer-members.html
rename to content/doxygen/html/classsinga_1_1Initializer-members.html
diff --git a/doxygen/html/classsinga_1_1Initializer.html b/content/doxygen/html/classsinga_1_1Initializer.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Initializer.html
rename to content/doxygen/html/classsinga_1_1Initializer.html
diff --git a/doxygen/html/classsinga_1_1Initializer__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Initializer__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Initializer__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Initializer__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Initializer__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Initializer__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Initializer__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Initializer__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Layer-members.html b/content/doxygen/html/classsinga_1_1Layer-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Layer-members.html
rename to content/doxygen/html/classsinga_1_1Layer-members.html
diff --git a/doxygen/html/classsinga_1_1Layer.html b/content/doxygen/html/classsinga_1_1Layer.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Layer.html
rename to content/doxygen/html/classsinga_1_1Layer.html
diff --git a/doxygen/html/classsinga_1_1Layer__coll__graph.dot b/content/doxygen/html/classsinga_1_1Layer__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Layer__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1Layer__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1Layer__coll__graph.md5 b/content/doxygen/html/classsinga_1_1Layer__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Layer__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1Layer__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1LocalUpdater-members.html b/content/doxygen/html/classsinga_1_1LocalUpdater-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1LocalUpdater-members.html
rename to content/doxygen/html/classsinga_1_1LocalUpdater-members.html
diff --git a/doxygen/html/classsinga_1_1LocalUpdater.html b/content/doxygen/html/classsinga_1_1LocalUpdater.html
similarity index 100%
rename from doxygen/html/classsinga_1_1LocalUpdater.html
rename to content/doxygen/html/classsinga_1_1LocalUpdater.html
diff --git a/doxygen/html/classsinga_1_1LocalUpdater__coll__graph.dot b/content/doxygen/html/classsinga_1_1LocalUpdater__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1LocalUpdater__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1LocalUpdater__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1LocalUpdater__coll__graph.md5 b/content/doxygen/html/classsinga_1_1LocalUpdater__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1LocalUpdater__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1LocalUpdater__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1LocalUpdater__inherit__graph.dot b/content/doxygen/html/classsinga_1_1LocalUpdater__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1LocalUpdater__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1LocalUpdater__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1LocalUpdater__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1LocalUpdater__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1LocalUpdater__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1LocalUpdater__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Loss-members.html b/content/doxygen/html/classsinga_1_1Loss-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Loss-members.html
rename to content/doxygen/html/classsinga_1_1Loss-members.html
diff --git a/doxygen/html/classsinga_1_1Loss.html b/content/doxygen/html/classsinga_1_1Loss.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Loss.html
rename to content/doxygen/html/classsinga_1_1Loss.html
diff --git a/doxygen/html/classsinga_1_1Loss__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Loss__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Loss__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Loss__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Loss__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Loss__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Loss__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Loss__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1MSE-members.html b/content/doxygen/html/classsinga_1_1MSE-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1MSE-members.html
rename to content/doxygen/html/classsinga_1_1MSE-members.html
diff --git a/doxygen/html/classsinga_1_1MSE.html b/content/doxygen/html/classsinga_1_1MSE.html
similarity index 100%
rename from doxygen/html/classsinga_1_1MSE.html
rename to content/doxygen/html/classsinga_1_1MSE.html
diff --git a/doxygen/html/classsinga_1_1MSE__coll__graph.dot b/content/doxygen/html/classsinga_1_1MSE__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1MSE__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1MSE__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1MSE__coll__graph.md5 b/content/doxygen/html/classsinga_1_1MSE__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1MSE__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1MSE__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1MSE__inherit__graph.dot b/content/doxygen/html/classsinga_1_1MSE__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1MSE__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1MSE__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1MSE__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1MSE__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1MSE__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1MSE__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Metric-members.html b/content/doxygen/html/classsinga_1_1Metric-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Metric-members.html
rename to content/doxygen/html/classsinga_1_1Metric-members.html
diff --git a/doxygen/html/classsinga_1_1Metric.html b/content/doxygen/html/classsinga_1_1Metric.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Metric.html
rename to content/doxygen/html/classsinga_1_1Metric.html
diff --git a/doxygen/html/classsinga_1_1Metric__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Metric__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Metric__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Metric__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Metric__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Metric__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Metric__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Metric__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Nesterov-members.html b/content/doxygen/html/classsinga_1_1Nesterov-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Nesterov-members.html
rename to content/doxygen/html/classsinga_1_1Nesterov-members.html
diff --git a/doxygen/html/classsinga_1_1Nesterov.html b/content/doxygen/html/classsinga_1_1Nesterov.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Nesterov.html
rename to content/doxygen/html/classsinga_1_1Nesterov.html
diff --git a/doxygen/html/classsinga_1_1Nesterov__coll__graph.dot b/content/doxygen/html/classsinga_1_1Nesterov__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Nesterov__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1Nesterov__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1Nesterov__coll__graph.md5 b/content/doxygen/html/classsinga_1_1Nesterov__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Nesterov__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1Nesterov__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1Nesterov__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Nesterov__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Nesterov__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Nesterov__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Nesterov__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Nesterov__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Nesterov__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Nesterov__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Optimizer-members.html b/content/doxygen/html/classsinga_1_1Optimizer-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Optimizer-members.html
rename to content/doxygen/html/classsinga_1_1Optimizer-members.html
diff --git a/doxygen/html/classsinga_1_1Optimizer.html b/content/doxygen/html/classsinga_1_1Optimizer.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Optimizer.html
rename to content/doxygen/html/classsinga_1_1Optimizer.html
diff --git a/doxygen/html/classsinga_1_1Optimizer__coll__graph.dot b/content/doxygen/html/classsinga_1_1Optimizer__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Optimizer__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1Optimizer__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1Optimizer__coll__graph.md5 b/content/doxygen/html/classsinga_1_1Optimizer__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Optimizer__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1Optimizer__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1Optimizer__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Optimizer__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Optimizer__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Optimizer__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Optimizer__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Optimizer__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Optimizer__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Optimizer__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Platform-members.html b/content/doxygen/html/classsinga_1_1Platform-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Platform-members.html
rename to content/doxygen/html/classsinga_1_1Platform-members.html
diff --git a/doxygen/html/classsinga_1_1Platform.html b/content/doxygen/html/classsinga_1_1Platform.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Platform.html
rename to content/doxygen/html/classsinga_1_1Platform.html
diff --git a/doxygen/html/classsinga_1_1RMSProp-members.html b/content/doxygen/html/classsinga_1_1RMSProp-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1RMSProp-members.html
rename to content/doxygen/html/classsinga_1_1RMSProp-members.html
diff --git a/doxygen/html/classsinga_1_1RMSProp.html b/content/doxygen/html/classsinga_1_1RMSProp.html
similarity index 100%
rename from doxygen/html/classsinga_1_1RMSProp.html
rename to content/doxygen/html/classsinga_1_1RMSProp.html
diff --git a/doxygen/html/classsinga_1_1RMSProp__coll__graph.dot b/content/doxygen/html/classsinga_1_1RMSProp__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1RMSProp__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1RMSProp__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1RMSProp__coll__graph.md5 b/content/doxygen/html/classsinga_1_1RMSProp__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1RMSProp__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1RMSProp__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1RMSProp__inherit__graph.dot b/content/doxygen/html/classsinga_1_1RMSProp__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1RMSProp__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1RMSProp__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1RMSProp__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1RMSProp__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1RMSProp__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1RMSProp__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Regularizer-members.html b/content/doxygen/html/classsinga_1_1Regularizer-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Regularizer-members.html
rename to content/doxygen/html/classsinga_1_1Regularizer-members.html
diff --git a/doxygen/html/classsinga_1_1Regularizer.html b/content/doxygen/html/classsinga_1_1Regularizer.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Regularizer.html
rename to content/doxygen/html/classsinga_1_1Regularizer.html
diff --git a/doxygen/html/classsinga_1_1SGD-members.html b/content/doxygen/html/classsinga_1_1SGD-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1SGD-members.html
rename to content/doxygen/html/classsinga_1_1SGD-members.html
diff --git a/doxygen/html/classsinga_1_1SGD.html b/content/doxygen/html/classsinga_1_1SGD.html
similarity index 100%
rename from doxygen/html/classsinga_1_1SGD.html
rename to content/doxygen/html/classsinga_1_1SGD.html
diff --git a/doxygen/html/classsinga_1_1SGD__coll__graph.dot b/content/doxygen/html/classsinga_1_1SGD__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1SGD__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1SGD__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1SGD__coll__graph.md5 b/content/doxygen/html/classsinga_1_1SGD__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1SGD__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1SGD__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1SGD__inherit__graph.dot b/content/doxygen/html/classsinga_1_1SGD__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1SGD__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1SGD__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1SGD__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1SGD__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1SGD__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1SGD__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Scheduler.html b/content/doxygen/html/classsinga_1_1Scheduler.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Scheduler.html
rename to content/doxygen/html/classsinga_1_1Scheduler.html
diff --git a/doxygen/html/classsinga_1_1Snapshot-members.html b/content/doxygen/html/classsinga_1_1Snapshot-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Snapshot-members.html
rename to content/doxygen/html/classsinga_1_1Snapshot-members.html
diff --git a/doxygen/html/classsinga_1_1Snapshot.html b/content/doxygen/html/classsinga_1_1Snapshot.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Snapshot.html
rename to content/doxygen/html/classsinga_1_1Snapshot.html
diff --git a/doxygen/html/classsinga_1_1SoftmaxCrossEntropy-members.html b/content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1SoftmaxCrossEntropy-members.html
rename to content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy-members.html
diff --git a/doxygen/html/classsinga_1_1SoftmaxCrossEntropy.html b/content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy.html
similarity index 100%
rename from doxygen/html/classsinga_1_1SoftmaxCrossEntropy.html
rename to content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy.html
diff --git a/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__coll__graph.dot b/content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1SoftmaxCrossEntropy__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__coll__graph.md5 b/content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1SoftmaxCrossEntropy__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__inherit__graph.dot b/content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1SoftmaxCrossEntropy__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1SoftmaxCrossEntropy__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1SoftmaxCrossEntropy__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Tensor-members.html b/content/doxygen/html/classsinga_1_1Tensor-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Tensor-members.html
rename to content/doxygen/html/classsinga_1_1Tensor-members.html
diff --git a/doxygen/html/classsinga_1_1Tensor.html b/content/doxygen/html/classsinga_1_1Tensor.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Tensor.html
rename to content/doxygen/html/classsinga_1_1Tensor.html
diff --git a/doxygen/html/classsinga_1_1Tensor__coll__graph.dot b/content/doxygen/html/classsinga_1_1Tensor__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Tensor__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1Tensor__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1Tensor__coll__graph.md5 b/content/doxygen/html/classsinga_1_1Tensor__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Tensor__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1Tensor__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1Timer-members.html b/content/doxygen/html/classsinga_1_1Timer-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Timer-members.html
rename to content/doxygen/html/classsinga_1_1Timer-members.html
diff --git a/doxygen/html/classsinga_1_1Timer.html b/content/doxygen/html/classsinga_1_1Timer.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Timer.html
rename to content/doxygen/html/classsinga_1_1Timer.html
diff --git a/doxygen/html/classsinga_1_1Tokenizer-members.html b/content/doxygen/html/classsinga_1_1Tokenizer-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Tokenizer-members.html
rename to content/doxygen/html/classsinga_1_1Tokenizer-members.html
diff --git a/doxygen/html/classsinga_1_1Tokenizer.html b/content/doxygen/html/classsinga_1_1Tokenizer.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Tokenizer.html
rename to content/doxygen/html/classsinga_1_1Tokenizer.html
diff --git a/doxygen/html/classsinga_1_1Transformer-members.html b/content/doxygen/html/classsinga_1_1Transformer-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Transformer-members.html
rename to content/doxygen/html/classsinga_1_1Transformer-members.html
diff --git a/doxygen/html/classsinga_1_1Transformer.html b/content/doxygen/html/classsinga_1_1Transformer.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Transformer.html
rename to content/doxygen/html/classsinga_1_1Transformer.html
diff --git a/doxygen/html/classsinga_1_1Transformer__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Transformer__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Transformer__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Transformer__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Transformer__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Transformer__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Transformer__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Transformer__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1Updater-members.html b/content/doxygen/html/classsinga_1_1Updater-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Updater-members.html
rename to content/doxygen/html/classsinga_1_1Updater-members.html
diff --git a/doxygen/html/classsinga_1_1Updater.html b/content/doxygen/html/classsinga_1_1Updater.html
similarity index 100%
rename from doxygen/html/classsinga_1_1Updater.html
rename to content/doxygen/html/classsinga_1_1Updater.html
diff --git a/doxygen/html/classsinga_1_1Updater__coll__graph.dot b/content/doxygen/html/classsinga_1_1Updater__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Updater__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1Updater__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1Updater__coll__graph.md5 b/content/doxygen/html/classsinga_1_1Updater__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Updater__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1Updater__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1Updater__inherit__graph.dot b/content/doxygen/html/classsinga_1_1Updater__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1Updater__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1Updater__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1Updater__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1Updater__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1Updater__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1Updater__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1VirtualMemory.html b/content/doxygen/html/classsinga_1_1VirtualMemory.html
similarity index 100%
rename from doxygen/html/classsinga_1_1VirtualMemory.html
rename to content/doxygen/html/classsinga_1_1VirtualMemory.html
diff --git a/doxygen/html/classsinga_1_1init_1_1Constant-members.html b/content/doxygen/html/classsinga_1_1init_1_1Constant-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Constant-members.html
rename to content/doxygen/html/classsinga_1_1init_1_1Constant-members.html
diff --git a/doxygen/html/classsinga_1_1init_1_1Constant.html b/content/doxygen/html/classsinga_1_1init_1_1Constant.html
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Constant.html
rename to content/doxygen/html/classsinga_1_1init_1_1Constant.html
diff --git a/doxygen/html/classsinga_1_1init_1_1Constant__coll__graph.dot b/content/doxygen/html/classsinga_1_1init_1_1Constant__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Constant__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1init_1_1Constant__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1init_1_1Constant__coll__graph.md5 b/content/doxygen/html/classsinga_1_1init_1_1Constant__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Constant__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1init_1_1Constant__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1init_1_1Constant__inherit__graph.dot b/content/doxygen/html/classsinga_1_1init_1_1Constant__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Constant__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1init_1_1Constant__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1init_1_1Constant__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1init_1_1Constant__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Constant__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1init_1_1Constant__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1init_1_1Gaussian-members.html b/content/doxygen/html/classsinga_1_1init_1_1Gaussian-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Gaussian-members.html
rename to content/doxygen/html/classsinga_1_1init_1_1Gaussian-members.html
diff --git a/doxygen/html/classsinga_1_1init_1_1Gaussian.html b/content/doxygen/html/classsinga_1_1init_1_1Gaussian.html
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Gaussian.html
rename to content/doxygen/html/classsinga_1_1init_1_1Gaussian.html
diff --git a/doxygen/html/classsinga_1_1init_1_1Gaussian__coll__graph.dot b/content/doxygen/html/classsinga_1_1init_1_1Gaussian__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Gaussian__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1init_1_1Gaussian__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1init_1_1Gaussian__coll__graph.md5 b/content/doxygen/html/classsinga_1_1init_1_1Gaussian__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Gaussian__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1init_1_1Gaussian__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1init_1_1Gaussian__inherit__graph.dot b/content/doxygen/html/classsinga_1_1init_1_1Gaussian__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Gaussian__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1init_1_1Gaussian__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1init_1_1Gaussian__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1init_1_1Gaussian__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Gaussian__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1init_1_1Gaussian__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1init_1_1MSRA-members.html b/content/doxygen/html/classsinga_1_1init_1_1MSRA-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1MSRA-members.html
rename to content/doxygen/html/classsinga_1_1init_1_1MSRA-members.html
diff --git a/doxygen/html/classsinga_1_1init_1_1MSRA.html b/content/doxygen/html/classsinga_1_1init_1_1MSRA.html
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1MSRA.html
rename to content/doxygen/html/classsinga_1_1init_1_1MSRA.html
diff --git a/doxygen/html/classsinga_1_1init_1_1MSRA__coll__graph.dot b/content/doxygen/html/classsinga_1_1init_1_1MSRA__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1MSRA__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1init_1_1MSRA__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1init_1_1MSRA__coll__graph.md5 b/content/doxygen/html/classsinga_1_1init_1_1MSRA__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1MSRA__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1init_1_1MSRA__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1init_1_1MSRA__inherit__graph.dot b/content/doxygen/html/classsinga_1_1init_1_1MSRA__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1MSRA__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1init_1_1MSRA__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1init_1_1MSRA__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1init_1_1MSRA__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1MSRA__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1init_1_1MSRA__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1init_1_1Uniform-members.html b/content/doxygen/html/classsinga_1_1init_1_1Uniform-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Uniform-members.html
rename to content/doxygen/html/classsinga_1_1init_1_1Uniform-members.html
diff --git a/doxygen/html/classsinga_1_1init_1_1Uniform.html b/content/doxygen/html/classsinga_1_1init_1_1Uniform.html
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Uniform.html
rename to content/doxygen/html/classsinga_1_1init_1_1Uniform.html
diff --git a/doxygen/html/classsinga_1_1init_1_1Uniform__coll__graph.dot b/content/doxygen/html/classsinga_1_1init_1_1Uniform__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Uniform__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1init_1_1Uniform__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1init_1_1Uniform__coll__graph.md5 b/content/doxygen/html/classsinga_1_1init_1_1Uniform__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Uniform__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1init_1_1Uniform__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1init_1_1Uniform__inherit__graph.dot b/content/doxygen/html/classsinga_1_1init_1_1Uniform__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Uniform__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1init_1_1Uniform__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1init_1_1Uniform__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1init_1_1Uniform__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Uniform__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1init_1_1Uniform__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1init_1_1Xavier-members.html b/content/doxygen/html/classsinga_1_1init_1_1Xavier-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Xavier-members.html
rename to content/doxygen/html/classsinga_1_1init_1_1Xavier-members.html
diff --git a/doxygen/html/classsinga_1_1init_1_1Xavier.html b/content/doxygen/html/classsinga_1_1init_1_1Xavier.html
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Xavier.html
rename to content/doxygen/html/classsinga_1_1init_1_1Xavier.html
diff --git a/doxygen/html/classsinga_1_1init_1_1Xavier__coll__graph.dot b/content/doxygen/html/classsinga_1_1init_1_1Xavier__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Xavier__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1init_1_1Xavier__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1init_1_1Xavier__coll__graph.md5 b/content/doxygen/html/classsinga_1_1init_1_1Xavier__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Xavier__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1init_1_1Xavier__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1init_1_1Xavier__inherit__graph.dot b/content/doxygen/html/classsinga_1_1init_1_1Xavier__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Xavier__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1init_1_1Xavier__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1init_1_1Xavier__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1init_1_1Xavier__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1init_1_1Xavier__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1init_1_1Xavier__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileReader-members.html b/content/doxygen/html/classsinga_1_1io_1_1BinFileReader-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileReader-members.html
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileReader-members.html
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileReader.html b/content/doxygen/html/classsinga_1_1io_1_1BinFileReader.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileReader.html
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileReader.html
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileReader__coll__graph.dot b/content/doxygen/html/classsinga_1_1io_1_1BinFileReader__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileReader__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileReader__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileReader__coll__graph.md5 b/content/doxygen/html/classsinga_1_1io_1_1BinFileReader__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileReader__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileReader__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileReader__inherit__graph.dot b/content/doxygen/html/classsinga_1_1io_1_1BinFileReader__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileReader__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileReader__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileReader__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1io_1_1BinFileReader__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileReader__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileReader__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileWriter-members.html b/content/doxygen/html/classsinga_1_1io_1_1BinFileWriter-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileWriter-members.html
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileWriter-members.html
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileWriter.html b/content/doxygen/html/classsinga_1_1io_1_1BinFileWriter.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileWriter.html
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileWriter.html
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileWriter__coll__graph.dot b/content/doxygen/html/classsinga_1_1io_1_1BinFileWriter__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileWriter__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileWriter__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileWriter__coll__graph.md5 b/content/doxygen/html/classsinga_1_1io_1_1BinFileWriter__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileWriter__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileWriter__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileWriter__inherit__graph.dot b/content/doxygen/html/classsinga_1_1io_1_1BinFileWriter__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileWriter__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileWriter__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1io_1_1BinFileWriter__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1io_1_1BinFileWriter__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1BinFileWriter__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1io_1_1BinFileWriter__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1io_1_1Reader-members.html b/content/doxygen/html/classsinga_1_1io_1_1Reader-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1Reader-members.html
rename to content/doxygen/html/classsinga_1_1io_1_1Reader-members.html
diff --git a/doxygen/html/classsinga_1_1io_1_1Reader.html b/content/doxygen/html/classsinga_1_1io_1_1Reader.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1Reader.html
rename to content/doxygen/html/classsinga_1_1io_1_1Reader.html
diff --git a/doxygen/html/classsinga_1_1io_1_1Reader__inherit__graph.dot b/content/doxygen/html/classsinga_1_1io_1_1Reader__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1Reader__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1io_1_1Reader__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1io_1_1Reader__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1io_1_1Reader__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1Reader__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1io_1_1Reader__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileReader-members.html b/content/doxygen/html/classsinga_1_1io_1_1TextFileReader-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileReader-members.html
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileReader-members.html
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileReader.html b/content/doxygen/html/classsinga_1_1io_1_1TextFileReader.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileReader.html
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileReader.html
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileReader__coll__graph.dot b/content/doxygen/html/classsinga_1_1io_1_1TextFileReader__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileReader__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileReader__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileReader__coll__graph.md5 b/content/doxygen/html/classsinga_1_1io_1_1TextFileReader__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileReader__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileReader__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileReader__inherit__graph.dot b/content/doxygen/html/classsinga_1_1io_1_1TextFileReader__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileReader__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileReader__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileReader__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1io_1_1TextFileReader__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileReader__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileReader__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileWriter-members.html b/content/doxygen/html/classsinga_1_1io_1_1TextFileWriter-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileWriter-members.html
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileWriter-members.html
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileWriter.html b/content/doxygen/html/classsinga_1_1io_1_1TextFileWriter.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileWriter.html
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileWriter.html
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileWriter__coll__graph.dot b/content/doxygen/html/classsinga_1_1io_1_1TextFileWriter__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileWriter__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileWriter__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileWriter__coll__graph.md5 b/content/doxygen/html/classsinga_1_1io_1_1TextFileWriter__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileWriter__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileWriter__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileWriter__inherit__graph.dot b/content/doxygen/html/classsinga_1_1io_1_1TextFileWriter__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileWriter__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileWriter__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1io_1_1TextFileWriter__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1io_1_1TextFileWriter__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1TextFileWriter__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1io_1_1TextFileWriter__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1io_1_1Writer-members.html b/content/doxygen/html/classsinga_1_1io_1_1Writer-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1Writer-members.html
rename to content/doxygen/html/classsinga_1_1io_1_1Writer-members.html
diff --git a/doxygen/html/classsinga_1_1io_1_1Writer.html b/content/doxygen/html/classsinga_1_1io_1_1Writer.html
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1Writer.html
rename to content/doxygen/html/classsinga_1_1io_1_1Writer.html
diff --git a/doxygen/html/classsinga_1_1io_1_1Writer__inherit__graph.dot b/content/doxygen/html/classsinga_1_1io_1_1Writer__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1Writer__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1io_1_1Writer__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1io_1_1Writer__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1io_1_1Writer__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1io_1_1Writer__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1io_1_1Writer__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1logging_1_1CheckOpMessageBuilder-members.html b/content/doxygen/html/classsinga_1_1logging_1_1CheckOpMessageBuilder-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1CheckOpMessageBuilder-members.html
rename to content/doxygen/html/classsinga_1_1logging_1_1CheckOpMessageBuilder-members.html
diff --git a/doxygen/html/classsinga_1_1logging_1_1CheckOpMessageBuilder.html b/content/doxygen/html/classsinga_1_1logging_1_1CheckOpMessageBuilder.html
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1CheckOpMessageBuilder.html
rename to content/doxygen/html/classsinga_1_1logging_1_1CheckOpMessageBuilder.html
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessage-members.html b/content/doxygen/html/classsinga_1_1logging_1_1LogMessage-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessage-members.html
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessage-members.html
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessage.html b/content/doxygen/html/classsinga_1_1logging_1_1LogMessage.html
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessage.html
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessage.html
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal-members.html b/content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal-members.html
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessageFatal-members.html
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal-members.html
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal.html b/content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal.html
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessageFatal.html
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal.html
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__coll__graph.dot b/content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__coll__graph.md5 b/content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__inherit__graph.dot b/content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessageFatal__inherit__graph.md5
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessage__coll__graph.dot b/content/doxygen/html/classsinga_1_1logging_1_1LogMessage__coll__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessage__coll__graph.dot
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessage__coll__graph.dot
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessage__coll__graph.md5 b/content/doxygen/html/classsinga_1_1logging_1_1LogMessage__coll__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessage__coll__graph.md5
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessage__coll__graph.md5
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessage__inherit__graph.dot b/content/doxygen/html/classsinga_1_1logging_1_1LogMessage__inherit__graph.dot
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessage__inherit__graph.dot
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessage__inherit__graph.dot
diff --git a/doxygen/html/classsinga_1_1logging_1_1LogMessage__inherit__graph.md5 b/content/doxygen/html/classsinga_1_1logging_1_1LogMessage__inherit__graph.md5
similarity index 100%
rename from doxygen/html/classsinga_1_1logging_1_1LogMessage__inherit__graph.md5
rename to content/doxygen/html/classsinga_1_1logging_1_1LogMessage__inherit__graph.md5
diff --git a/doxygen/html/closed.png b/content/doxygen/html/closed.png
similarity index 100%
rename from doxygen/html/closed.png
rename to content/doxygen/html/closed.png
diff --git a/doxygen/html/common_8h_source.html b/content/doxygen/html/common_8h_source.html
similarity index 100%
rename from doxygen/html/common_8h_source.html
rename to content/doxygen/html/common_8h_source.html
diff --git a/doxygen/html/cuda__utils_8h_source.html b/content/doxygen/html/cuda__utils_8h_source.html
similarity index 100%
rename from doxygen/html/cuda__utils_8h_source.html
rename to content/doxygen/html/cuda__utils_8h_source.html
diff --git a/doxygen/html/decoder_8h_source.html b/content/doxygen/html/decoder_8h_source.html
similarity index 100%
rename from doxygen/html/decoder_8h_source.html
rename to content/doxygen/html/decoder_8h_source.html
diff --git a/doxygen/html/device_8h_source.html b/content/doxygen/html/device_8h_source.html
similarity index 100%
rename from doxygen/html/device_8h_source.html
rename to content/doxygen/html/device_8h_source.html
diff --git a/doxygen/html/dir_0c57f5a0b2589d9cd025f1d3faf7a1ee.html b/content/doxygen/html/dir_0c57f5a0b2589d9cd025f1d3faf7a1ee.html
similarity index 100%
rename from doxygen/html/dir_0c57f5a0b2589d9cd025f1d3faf7a1ee.html
rename to content/doxygen/html/dir_0c57f5a0b2589d9cd025f1d3faf7a1ee.html
diff --git a/doxygen/html/dir_14a988756d30161f7e1f48b05d03905d.html b/content/doxygen/html/dir_14a988756d30161f7e1f48b05d03905d.html
similarity index 100%
rename from doxygen/html/dir_14a988756d30161f7e1f48b05d03905d.html
rename to content/doxygen/html/dir_14a988756d30161f7e1f48b05d03905d.html
diff --git a/doxygen/html/dir_1ed15e94f94d348ba7de93ac6315cc91.html b/content/doxygen/html/dir_1ed15e94f94d348ba7de93ac6315cc91.html
similarity index 100%
rename from doxygen/html/dir_1ed15e94f94d348ba7de93ac6315cc91.html
rename to content/doxygen/html/dir_1ed15e94f94d348ba7de93ac6315cc91.html
diff --git a/doxygen/html/dir_54125cd652f9635a64a4101de1b8704d.html b/content/doxygen/html/dir_54125cd652f9635a64a4101de1b8704d.html
similarity index 100%
rename from doxygen/html/dir_54125cd652f9635a64a4101de1b8704d.html
rename to content/doxygen/html/dir_54125cd652f9635a64a4101de1b8704d.html
diff --git a/doxygen/html/dir_953eafc3caccd34fc2601f376f19d1ef.html b/content/doxygen/html/dir_953eafc3caccd34fc2601f376f19d1ef.html
similarity index 100%
rename from doxygen/html/dir_953eafc3caccd34fc2601f376f19d1ef.html
rename to content/doxygen/html/dir_953eafc3caccd34fc2601f376f19d1ef.html
diff --git a/doxygen/html/dir_d44c64559bbebec7f509842c48db8b23.html b/content/doxygen/html/dir_d44c64559bbebec7f509842c48db8b23.html
similarity index 100%
rename from doxygen/html/dir_d44c64559bbebec7f509842c48db8b23.html
rename to content/doxygen/html/dir_d44c64559bbebec7f509842c48db8b23.html
diff --git a/doxygen/html/doc.png b/content/doxygen/html/doc.png
similarity index 100%
rename from doxygen/html/doc.png
rename to content/doxygen/html/doc.png
diff --git a/doxygen/html/doxygen.css b/content/doxygen/html/doxygen.css
similarity index 100%
rename from doxygen/html/doxygen.css
rename to content/doxygen/html/doxygen.css
diff --git a/doxygen/html/doxygen.png b/content/doxygen/html/doxygen.png
similarity index 100%
rename from doxygen/html/doxygen.png
rename to content/doxygen/html/doxygen.png
diff --git a/doxygen/html/dynsections.js b/content/doxygen/html/dynsections.js
similarity index 100%
rename from doxygen/html/dynsections.js
rename to content/doxygen/html/dynsections.js
diff --git a/doxygen/html/encoder_8h_source.html b/content/doxygen/html/encoder_8h_source.html
similarity index 100%
rename from doxygen/html/encoder_8h_source.html
rename to content/doxygen/html/encoder_8h_source.html
diff --git a/doxygen/html/factory_8h_source.html b/content/doxygen/html/factory_8h_source.html
similarity index 100%
rename from doxygen/html/factory_8h_source.html
rename to content/doxygen/html/factory_8h_source.html
diff --git a/doxygen/html/feed__forward__net_8h_source.html b/content/doxygen/html/feed__forward__net_8h_source.html
similarity index 100%
rename from doxygen/html/feed__forward__net_8h_source.html
rename to content/doxygen/html/feed__forward__net_8h_source.html
diff --git a/doxygen/html/files.html b/content/doxygen/html/files.html
similarity index 100%
rename from doxygen/html/files.html
rename to content/doxygen/html/files.html
diff --git a/doxygen/html/folderclosed.png b/content/doxygen/html/folderclosed.png
similarity index 100%
rename from doxygen/html/folderclosed.png
rename to content/doxygen/html/folderclosed.png
diff --git a/doxygen/html/folderopen.png b/content/doxygen/html/folderopen.png
similarity index 100%
rename from doxygen/html/folderopen.png
rename to content/doxygen/html/folderopen.png
diff --git a/doxygen/html/functions.html b/content/doxygen/html/functions.html
similarity index 100%
rename from doxygen/html/functions.html
rename to content/doxygen/html/functions.html
diff --git a/doxygen/html/functions_0x7e.html b/content/doxygen/html/functions_0x7e.html
similarity index 100%
rename from doxygen/html/functions_0x7e.html
rename to content/doxygen/html/functions_0x7e.html
diff --git a/doxygen/html/functions_b.html b/content/doxygen/html/functions_b.html
similarity index 100%
rename from doxygen/html/functions_b.html
rename to content/doxygen/html/functions_b.html
diff --git a/doxygen/html/functions_c.html b/content/doxygen/html/functions_c.html
similarity index 100%
rename from doxygen/html/functions_c.html
rename to content/doxygen/html/functions_c.html
diff --git a/doxygen/html/functions_d.html b/content/doxygen/html/functions_d.html
similarity index 100%
rename from doxygen/html/functions_d.html
rename to content/doxygen/html/functions_d.html
diff --git a/doxygen/html/functions_e.html b/content/doxygen/html/functions_e.html
similarity index 100%
rename from doxygen/html/functions_e.html
rename to content/doxygen/html/functions_e.html
diff --git a/doxygen/html/functions_f.html b/content/doxygen/html/functions_f.html
similarity index 100%
rename from doxygen/html/functions_f.html
rename to content/doxygen/html/functions_f.html
diff --git a/doxygen/html/functions_func.html b/content/doxygen/html/functions_func.html
similarity index 100%
rename from doxygen/html/functions_func.html
rename to content/doxygen/html/functions_func.html
diff --git a/doxygen/html/functions_func_0x7e.html b/content/doxygen/html/functions_func_0x7e.html
similarity index 100%
rename from doxygen/html/functions_func_0x7e.html
rename to content/doxygen/html/functions_func_0x7e.html
diff --git a/doxygen/html/functions_func_b.html b/content/doxygen/html/functions_func_b.html
similarity index 100%
rename from doxygen/html/functions_func_b.html
rename to content/doxygen/html/functions_func_b.html
diff --git a/doxygen/html/functions_func_c.html b/content/doxygen/html/functions_func_c.html
similarity index 100%
rename from doxygen/html/functions_func_c.html
rename to content/doxygen/html/functions_func_c.html
diff --git a/doxygen/html/functions_func_d.html b/content/doxygen/html/functions_func_d.html
similarity index 100%
rename from doxygen/html/functions_func_d.html
rename to content/doxygen/html/functions_func_d.html
diff --git a/doxygen/html/functions_func_e.html b/content/doxygen/html/functions_func_e.html
similarity index 100%
rename from doxygen/html/functions_func_e.html
rename to content/doxygen/html/functions_func_e.html
diff --git a/doxygen/html/functions_func_f.html b/content/doxygen/html/functions_func_f.html
similarity index 100%
rename from doxygen/html/functions_func_f.html
rename to content/doxygen/html/functions_func_f.html
diff --git a/doxygen/html/functions_func_g.html b/content/doxygen/html/functions_func_g.html
similarity index 100%
rename from doxygen/html/functions_func_g.html
rename to content/doxygen/html/functions_func_g.html
diff --git a/doxygen/html/functions_func_i.html b/content/doxygen/html/functions_func_i.html
similarity index 100%
rename from doxygen/html/functions_func_i.html
rename to content/doxygen/html/functions_func_i.html
diff --git a/doxygen/html/functions_func_l.html b/content/doxygen/html/functions_func_l.html
similarity index 100%
rename from doxygen/html/functions_func_l.html
rename to content/doxygen/html/functions_func_l.html
diff --git a/doxygen/html/functions_func_m.html b/content/doxygen/html/functions_func_m.html
similarity index 100%
rename from doxygen/html/functions_func_m.html
rename to content/doxygen/html/functions_func_m.html
diff --git a/doxygen/html/functions_func_n.html b/content/doxygen/html/functions_func_n.html
similarity index 100%
rename from doxygen/html/functions_func_n.html
rename to content/doxygen/html/functions_func_n.html
diff --git a/doxygen/html/functions_func_o.html b/content/doxygen/html/functions_func_o.html
similarity index 100%
rename from doxygen/html/functions_func_o.html
rename to content/doxygen/html/functions_func_o.html
diff --git a/doxygen/html/functions_func_p.html b/content/doxygen/html/functions_func_p.html
similarity index 100%
rename from doxygen/html/functions_func_p.html
rename to content/doxygen/html/functions_func_p.html
diff --git a/doxygen/html/functions_func_r.html b/content/doxygen/html/functions_func_r.html
similarity index 100%
rename from doxygen/html/functions_func_r.html
rename to content/doxygen/html/functions_func_r.html
diff --git a/doxygen/html/functions_func_s.html b/content/doxygen/html/functions_func_s.html
similarity index 100%
rename from doxygen/html/functions_func_s.html
rename to content/doxygen/html/functions_func_s.html
diff --git a/doxygen/html/functions_func_t.html b/content/doxygen/html/functions_func_t.html
similarity index 100%
rename from doxygen/html/functions_func_t.html
rename to content/doxygen/html/functions_func_t.html
diff --git a/doxygen/html/functions_func_v.html b/content/doxygen/html/functions_func_v.html
similarity index 100%
rename from doxygen/html/functions_func_v.html
rename to content/doxygen/html/functions_func_v.html
diff --git a/doxygen/html/functions_func_w.html b/content/doxygen/html/functions_func_w.html
similarity index 100%
rename from doxygen/html/functions_func_w.html
rename to content/doxygen/html/functions_func_w.html
diff --git a/doxygen/html/functions_g.html b/content/doxygen/html/functions_g.html
similarity index 100%
rename from doxygen/html/functions_g.html
rename to content/doxygen/html/functions_g.html
diff --git a/doxygen/html/functions_h.html b/content/doxygen/html/functions_h.html
similarity index 100%
rename from doxygen/html/functions_h.html
rename to content/doxygen/html/functions_h.html
diff --git a/doxygen/html/functions_i.html b/content/doxygen/html/functions_i.html
similarity index 100%
rename from doxygen/html/functions_i.html
rename to content/doxygen/html/functions_i.html
diff --git a/doxygen/html/functions_l.html b/content/doxygen/html/functions_l.html
similarity index 100%
rename from doxygen/html/functions_l.html
rename to content/doxygen/html/functions_l.html
diff --git a/doxygen/html/functions_m.html b/content/doxygen/html/functions_m.html
similarity index 100%
rename from doxygen/html/functions_m.html
rename to content/doxygen/html/functions_m.html
diff --git a/doxygen/html/functions_n.html b/content/doxygen/html/functions_n.html
similarity index 100%
rename from doxygen/html/functions_n.html
rename to content/doxygen/html/functions_n.html
diff --git a/doxygen/html/functions_o.html b/content/doxygen/html/functions_o.html
similarity index 100%
rename from doxygen/html/functions_o.html
rename to content/doxygen/html/functions_o.html
diff --git a/doxygen/html/functions_p.html b/content/doxygen/html/functions_p.html
similarity index 100%
rename from doxygen/html/functions_p.html
rename to content/doxygen/html/functions_p.html
diff --git a/doxygen/html/functions_r.html b/content/doxygen/html/functions_r.html
similarity index 100%
rename from doxygen/html/functions_r.html
rename to content/doxygen/html/functions_r.html
diff --git a/doxygen/html/functions_s.html b/content/doxygen/html/functions_s.html
similarity index 100%
rename from doxygen/html/functions_s.html
rename to content/doxygen/html/functions_s.html
diff --git a/doxygen/html/functions_t.html b/content/doxygen/html/functions_t.html
similarity index 100%
rename from doxygen/html/functions_t.html
rename to content/doxygen/html/functions_t.html
diff --git a/doxygen/html/functions_v.html b/content/doxygen/html/functions_v.html
similarity index 100%
rename from doxygen/html/functions_v.html
rename to content/doxygen/html/functions_v.html
diff --git a/doxygen/html/functions_vars.html b/content/doxygen/html/functions_vars.html
similarity index 100%
rename from doxygen/html/functions_vars.html
rename to content/doxygen/html/functions_vars.html
diff --git a/doxygen/html/functions_w.html b/content/doxygen/html/functions_w.html
similarity index 100%
rename from doxygen/html/functions_w.html
rename to content/doxygen/html/functions_w.html
diff --git a/doxygen/html/graph_legend.dot b/content/doxygen/html/graph_legend.dot
similarity index 100%
rename from doxygen/html/graph_legend.dot
rename to content/doxygen/html/graph_legend.dot
diff --git a/doxygen/html/graph_legend.html b/content/doxygen/html/graph_legend.html
similarity index 100%
rename from doxygen/html/graph_legend.html
rename to content/doxygen/html/graph_legend.html
diff --git a/doxygen/html/graph_legend.md5 b/content/doxygen/html/graph_legend.md5
similarity index 100%
rename from doxygen/html/graph_legend.md5
rename to content/doxygen/html/graph_legend.md5
diff --git a/doxygen/html/hierarchy.html b/content/doxygen/html/hierarchy.html
similarity index 100%
rename from doxygen/html/hierarchy.html
rename to content/doxygen/html/hierarchy.html
diff --git a/doxygen/html/index.html b/content/doxygen/html/index.html
similarity index 100%
rename from doxygen/html/index.html
rename to content/doxygen/html/index.html
diff --git a/doxygen/html/inherit_graph_0.dot b/content/doxygen/html/inherit_graph_0.dot
similarity index 100%
rename from doxygen/html/inherit_graph_0.dot
rename to content/doxygen/html/inherit_graph_0.dot
diff --git a/doxygen/html/inherit_graph_0.md5 b/content/doxygen/html/inherit_graph_0.md5
similarity index 100%
rename from doxygen/html/inherit_graph_0.md5
rename to content/doxygen/html/inherit_graph_0.md5
diff --git a/doxygen/html/inherit_graph_1.dot b/content/doxygen/html/inherit_graph_1.dot
similarity index 100%
rename from doxygen/html/inherit_graph_1.dot
rename to content/doxygen/html/inherit_graph_1.dot
diff --git a/doxygen/html/inherit_graph_1.md5 b/content/doxygen/html/inherit_graph_1.md5
similarity index 100%
rename from doxygen/html/inherit_graph_1.md5
rename to content/doxygen/html/inherit_graph_1.md5
diff --git a/doxygen/html/inherit_graph_10.dot b/content/doxygen/html/inherit_graph_10.dot
similarity index 100%
rename from doxygen/html/inherit_graph_10.dot
rename to content/doxygen/html/inherit_graph_10.dot
diff --git a/doxygen/html/inherit_graph_10.md5 b/content/doxygen/html/inherit_graph_10.md5
similarity index 100%
rename from doxygen/html/inherit_graph_10.md5
rename to content/doxygen/html/inherit_graph_10.md5
diff --git a/doxygen/html/inherit_graph_11.dot b/content/doxygen/html/inherit_graph_11.dot
similarity index 100%
rename from doxygen/html/inherit_graph_11.dot
rename to content/doxygen/html/inherit_graph_11.dot
diff --git a/doxygen/html/inherit_graph_11.md5 b/content/doxygen/html/inherit_graph_11.md5
similarity index 100%
rename from doxygen/html/inherit_graph_11.md5
rename to content/doxygen/html/inherit_graph_11.md5
diff --git a/doxygen/html/inherit_graph_12.dot b/content/doxygen/html/inherit_graph_12.dot
similarity index 100%
rename from doxygen/html/inherit_graph_12.dot
rename to content/doxygen/html/inherit_graph_12.dot
diff --git a/doxygen/html/inherit_graph_12.md5 b/content/doxygen/html/inherit_graph_12.md5
similarity index 100%
rename from doxygen/html/inherit_graph_12.md5
rename to content/doxygen/html/inherit_graph_12.md5
diff --git a/doxygen/html/inherit_graph_13.dot b/content/doxygen/html/inherit_graph_13.dot
similarity index 100%
rename from doxygen/html/inherit_graph_13.dot
rename to content/doxygen/html/inherit_graph_13.dot
diff --git a/doxygen/html/inherit_graph_13.md5 b/content/doxygen/html/inherit_graph_13.md5
similarity index 100%
rename from doxygen/html/inherit_graph_13.md5
rename to content/doxygen/html/inherit_graph_13.md5
diff --git a/doxygen/html/inherit_graph_14.dot b/content/doxygen/html/inherit_graph_14.dot
similarity index 100%
rename from doxygen/html/inherit_graph_14.dot
rename to content/doxygen/html/inherit_graph_14.dot
diff --git a/doxygen/html/inherit_graph_14.md5 b/content/doxygen/html/inherit_graph_14.md5
similarity index 100%
rename from doxygen/html/inherit_graph_14.md5
rename to content/doxygen/html/inherit_graph_14.md5
diff --git a/doxygen/html/inherit_graph_15.dot b/content/doxygen/html/inherit_graph_15.dot
similarity index 100%
rename from doxygen/html/inherit_graph_15.dot
rename to content/doxygen/html/inherit_graph_15.dot
diff --git a/doxygen/html/inherit_graph_15.md5 b/content/doxygen/html/inherit_graph_15.md5
similarity index 100%
rename from doxygen/html/inherit_graph_15.md5
rename to content/doxygen/html/inherit_graph_15.md5
diff --git a/doxygen/html/inherit_graph_16.dot b/content/doxygen/html/inherit_graph_16.dot
similarity index 100%
rename from doxygen/html/inherit_graph_16.dot
rename to content/doxygen/html/inherit_graph_16.dot
diff --git a/doxygen/html/inherit_graph_16.md5 b/content/doxygen/html/inherit_graph_16.md5
similarity index 100%
rename from doxygen/html/inherit_graph_16.md5
rename to content/doxygen/html/inherit_graph_16.md5
diff --git a/doxygen/html/inherit_graph_17.dot b/content/doxygen/html/inherit_graph_17.dot
similarity index 100%
rename from doxygen/html/inherit_graph_17.dot
rename to content/doxygen/html/inherit_graph_17.dot
diff --git a/doxygen/html/inherit_graph_17.md5 b/content/doxygen/html/inherit_graph_17.md5
similarity index 100%
rename from doxygen/html/inherit_graph_17.md5
rename to content/doxygen/html/inherit_graph_17.md5
diff --git a/doxygen/html/inherit_graph_18.dot b/content/doxygen/html/inherit_graph_18.dot
similarity index 100%
rename from doxygen/html/inherit_graph_18.dot
rename to content/doxygen/html/inherit_graph_18.dot
diff --git a/doxygen/html/inherit_graph_18.md5 b/content/doxygen/html/inherit_graph_18.md5
similarity index 100%
rename from doxygen/html/inherit_graph_18.md5
rename to content/doxygen/html/inherit_graph_18.md5
diff --git a/doxygen/html/inherit_graph_19.dot b/content/doxygen/html/inherit_graph_19.dot
similarity index 100%
rename from doxygen/html/inherit_graph_19.dot
rename to content/doxygen/html/inherit_graph_19.dot
diff --git a/doxygen/html/inherit_graph_19.md5 b/content/doxygen/html/inherit_graph_19.md5
similarity index 100%
rename from doxygen/html/inherit_graph_19.md5
rename to content/doxygen/html/inherit_graph_19.md5
diff --git a/doxygen/html/inherit_graph_2.dot b/content/doxygen/html/inherit_graph_2.dot
similarity index 100%
rename from doxygen/html/inherit_graph_2.dot
rename to content/doxygen/html/inherit_graph_2.dot
diff --git a/doxygen/html/inherit_graph_2.md5 b/content/doxygen/html/inherit_graph_2.md5
similarity index 100%
rename from doxygen/html/inherit_graph_2.md5
rename to content/doxygen/html/inherit_graph_2.md5
diff --git a/doxygen/html/inherit_graph_20.dot b/content/doxygen/html/inherit_graph_20.dot
similarity index 100%
rename from doxygen/html/inherit_graph_20.dot
rename to content/doxygen/html/inherit_graph_20.dot
diff --git a/doxygen/html/inherit_graph_20.md5 b/content/doxygen/html/inherit_graph_20.md5
similarity index 100%
rename from doxygen/html/inherit_graph_20.md5
rename to content/doxygen/html/inherit_graph_20.md5
diff --git a/doxygen/html/inherit_graph_21.dot b/content/doxygen/html/inherit_graph_21.dot
similarity index 100%
rename from doxygen/html/inherit_graph_21.dot
rename to content/doxygen/html/inherit_graph_21.dot
diff --git a/doxygen/html/inherit_graph_21.md5 b/content/doxygen/html/inherit_graph_21.md5
similarity index 100%
rename from doxygen/html/inherit_graph_21.md5
rename to content/doxygen/html/inherit_graph_21.md5
diff --git a/doxygen/html/inherit_graph_22.dot b/content/doxygen/html/inherit_graph_22.dot
similarity index 100%
rename from doxygen/html/inherit_graph_22.dot
rename to content/doxygen/html/inherit_graph_22.dot
diff --git a/doxygen/html/inherit_graph_22.md5 b/content/doxygen/html/inherit_graph_22.md5
similarity index 100%
rename from doxygen/html/inherit_graph_22.md5
rename to content/doxygen/html/inherit_graph_22.md5
diff --git a/doxygen/html/inherit_graph_23.dot b/content/doxygen/html/inherit_graph_23.dot
similarity index 100%
rename from doxygen/html/inherit_graph_23.dot
rename to content/doxygen/html/inherit_graph_23.dot
diff --git a/doxygen/html/inherit_graph_23.md5 b/content/doxygen/html/inherit_graph_23.md5
similarity index 100%
rename from doxygen/html/inherit_graph_23.md5
rename to content/doxygen/html/inherit_graph_23.md5
diff --git a/doxygen/html/inherit_graph_24.dot b/content/doxygen/html/inherit_graph_24.dot
similarity index 100%
rename from doxygen/html/inherit_graph_24.dot
rename to content/doxygen/html/inherit_graph_24.dot
diff --git a/doxygen/html/inherit_graph_24.md5 b/content/doxygen/html/inherit_graph_24.md5
similarity index 100%
rename from doxygen/html/inherit_graph_24.md5
rename to content/doxygen/html/inherit_graph_24.md5
diff --git a/doxygen/html/inherit_graph_25.dot b/content/doxygen/html/inherit_graph_25.dot
similarity index 100%
rename from doxygen/html/inherit_graph_25.dot
rename to content/doxygen/html/inherit_graph_25.dot
diff --git a/doxygen/html/inherit_graph_25.md5 b/content/doxygen/html/inherit_graph_25.md5
similarity index 100%
rename from doxygen/html/inherit_graph_25.md5
rename to content/doxygen/html/inherit_graph_25.md5
diff --git a/doxygen/html/inherit_graph_26.dot b/content/doxygen/html/inherit_graph_26.dot
similarity index 100%
rename from doxygen/html/inherit_graph_26.dot
rename to content/doxygen/html/inherit_graph_26.dot
diff --git a/doxygen/html/inherit_graph_26.md5 b/content/doxygen/html/inherit_graph_26.md5
similarity index 100%
rename from doxygen/html/inherit_graph_26.md5
rename to content/doxygen/html/inherit_graph_26.md5
diff --git a/doxygen/html/inherit_graph_27.dot b/content/doxygen/html/inherit_graph_27.dot
similarity index 100%
rename from doxygen/html/inherit_graph_27.dot
rename to content/doxygen/html/inherit_graph_27.dot
diff --git a/doxygen/html/inherit_graph_27.md5 b/content/doxygen/html/inherit_graph_27.md5
similarity index 100%
rename from doxygen/html/inherit_graph_27.md5
rename to content/doxygen/html/inherit_graph_27.md5
diff --git a/doxygen/html/inherit_graph_28.dot b/content/doxygen/html/inherit_graph_28.dot
similarity index 100%
rename from doxygen/html/inherit_graph_28.dot
rename to content/doxygen/html/inherit_graph_28.dot
diff --git a/doxygen/html/inherit_graph_28.md5 b/content/doxygen/html/inherit_graph_28.md5
similarity index 100%
rename from doxygen/html/inherit_graph_28.md5
rename to content/doxygen/html/inherit_graph_28.md5
diff --git a/doxygen/html/inherit_graph_29.dot b/content/doxygen/html/inherit_graph_29.dot
similarity index 100%
rename from doxygen/html/inherit_graph_29.dot
rename to content/doxygen/html/inherit_graph_29.dot
diff --git a/doxygen/html/inherit_graph_29.md5 b/content/doxygen/html/inherit_graph_29.md5
similarity index 100%
rename from doxygen/html/inherit_graph_29.md5
rename to content/doxygen/html/inherit_graph_29.md5
diff --git a/doxygen/html/inherit_graph_3.dot b/content/doxygen/html/inherit_graph_3.dot
similarity index 100%
rename from doxygen/html/inherit_graph_3.dot
rename to content/doxygen/html/inherit_graph_3.dot
diff --git a/doxygen/html/inherit_graph_3.md5 b/content/doxygen/html/inherit_graph_3.md5
similarity index 100%
rename from doxygen/html/inherit_graph_3.md5
rename to content/doxygen/html/inherit_graph_3.md5
diff --git a/doxygen/html/inherit_graph_30.dot b/content/doxygen/html/inherit_graph_30.dot
similarity index 100%
rename from doxygen/html/inherit_graph_30.dot
rename to content/doxygen/html/inherit_graph_30.dot
diff --git a/doxygen/html/inherit_graph_30.md5 b/content/doxygen/html/inherit_graph_30.md5
similarity index 100%
rename from doxygen/html/inherit_graph_30.md5
rename to content/doxygen/html/inherit_graph_30.md5
diff --git a/doxygen/html/inherit_graph_31.dot b/content/doxygen/html/inherit_graph_31.dot
similarity index 100%
rename from doxygen/html/inherit_graph_31.dot
rename to content/doxygen/html/inherit_graph_31.dot
diff --git a/doxygen/html/inherit_graph_31.md5 b/content/doxygen/html/inherit_graph_31.md5
similarity index 100%
rename from doxygen/html/inherit_graph_31.md5
rename to content/doxygen/html/inherit_graph_31.md5
diff --git a/doxygen/html/inherit_graph_32.dot b/content/doxygen/html/inherit_graph_32.dot
similarity index 100%
rename from doxygen/html/inherit_graph_32.dot
rename to content/doxygen/html/inherit_graph_32.dot
diff --git a/doxygen/html/inherit_graph_32.md5 b/content/doxygen/html/inherit_graph_32.md5
similarity index 100%
rename from doxygen/html/inherit_graph_32.md5
rename to content/doxygen/html/inherit_graph_32.md5
diff --git a/doxygen/html/inherit_graph_33.dot b/content/doxygen/html/inherit_graph_33.dot
similarity index 100%
rename from doxygen/html/inherit_graph_33.dot
rename to content/doxygen/html/inherit_graph_33.dot
diff --git a/doxygen/html/inherit_graph_33.md5 b/content/doxygen/html/inherit_graph_33.md5
similarity index 100%
rename from doxygen/html/inherit_graph_33.md5
rename to content/doxygen/html/inherit_graph_33.md5
diff --git a/doxygen/html/inherit_graph_34.dot b/content/doxygen/html/inherit_graph_34.dot
similarity index 100%
rename from doxygen/html/inherit_graph_34.dot
rename to content/doxygen/html/inherit_graph_34.dot
diff --git a/doxygen/html/inherit_graph_34.md5 b/content/doxygen/html/inherit_graph_34.md5
similarity index 100%
rename from doxygen/html/inherit_graph_34.md5
rename to content/doxygen/html/inherit_graph_34.md5
diff --git a/doxygen/html/inherit_graph_35.dot b/content/doxygen/html/inherit_graph_35.dot
similarity index 100%
rename from doxygen/html/inherit_graph_35.dot
rename to content/doxygen/html/inherit_graph_35.dot
diff --git a/doxygen/html/inherit_graph_35.md5 b/content/doxygen/html/inherit_graph_35.md5
similarity index 100%
rename from doxygen/html/inherit_graph_35.md5
rename to content/doxygen/html/inherit_graph_35.md5
diff --git a/doxygen/html/inherit_graph_36.dot b/content/doxygen/html/inherit_graph_36.dot
similarity index 100%
rename from doxygen/html/inherit_graph_36.dot
rename to content/doxygen/html/inherit_graph_36.dot
diff --git a/doxygen/html/inherit_graph_36.md5 b/content/doxygen/html/inherit_graph_36.md5
similarity index 100%
rename from doxygen/html/inherit_graph_36.md5
rename to content/doxygen/html/inherit_graph_36.md5
diff --git a/doxygen/html/inherit_graph_37.dot b/content/doxygen/html/inherit_graph_37.dot
similarity index 100%
rename from doxygen/html/inherit_graph_37.dot
rename to content/doxygen/html/inherit_graph_37.dot
diff --git a/doxygen/html/inherit_graph_37.md5 b/content/doxygen/html/inherit_graph_37.md5
similarity index 100%
rename from doxygen/html/inherit_graph_37.md5
rename to content/doxygen/html/inherit_graph_37.md5
diff --git a/doxygen/html/inherit_graph_38.dot b/content/doxygen/html/inherit_graph_38.dot
similarity index 100%
rename from doxygen/html/inherit_graph_38.dot
rename to content/doxygen/html/inherit_graph_38.dot
diff --git a/doxygen/html/inherit_graph_38.md5 b/content/doxygen/html/inherit_graph_38.md5
similarity index 100%
rename from doxygen/html/inherit_graph_38.md5
rename to content/doxygen/html/inherit_graph_38.md5
diff --git a/doxygen/html/inherit_graph_39.dot b/content/doxygen/html/inherit_graph_39.dot
similarity index 100%
rename from doxygen/html/inherit_graph_39.dot
rename to content/doxygen/html/inherit_graph_39.dot
diff --git a/doxygen/html/inherit_graph_39.md5 b/content/doxygen/html/inherit_graph_39.md5
similarity index 100%
rename from doxygen/html/inherit_graph_39.md5
rename to content/doxygen/html/inherit_graph_39.md5
diff --git a/doxygen/html/inherit_graph_4.dot b/content/doxygen/html/inherit_graph_4.dot
similarity index 100%
rename from doxygen/html/inherit_graph_4.dot
rename to content/doxygen/html/inherit_graph_4.dot
diff --git a/doxygen/html/inherit_graph_4.md5 b/content/doxygen/html/inherit_graph_4.md5
similarity index 100%
rename from doxygen/html/inherit_graph_4.md5
rename to content/doxygen/html/inherit_graph_4.md5
diff --git a/doxygen/html/inherit_graph_40.dot b/content/doxygen/html/inherit_graph_40.dot
similarity index 100%
rename from doxygen/html/inherit_graph_40.dot
rename to content/doxygen/html/inherit_graph_40.dot
diff --git a/doxygen/html/inherit_graph_40.md5 b/content/doxygen/html/inherit_graph_40.md5
similarity index 100%
rename from doxygen/html/inherit_graph_40.md5
rename to content/doxygen/html/inherit_graph_40.md5
diff --git a/doxygen/html/inherit_graph_5.dot b/content/doxygen/html/inherit_graph_5.dot
similarity index 100%
rename from doxygen/html/inherit_graph_5.dot
rename to content/doxygen/html/inherit_graph_5.dot
diff --git a/doxygen/html/inherit_graph_5.md5 b/content/doxygen/html/inherit_graph_5.md5
similarity index 100%
rename from doxygen/html/inherit_graph_5.md5
rename to content/doxygen/html/inherit_graph_5.md5
diff --git a/doxygen/html/inherit_graph_6.dot b/content/doxygen/html/inherit_graph_6.dot
similarity index 100%
rename from doxygen/html/inherit_graph_6.dot
rename to content/doxygen/html/inherit_graph_6.dot
diff --git a/doxygen/html/inherit_graph_6.md5 b/content/doxygen/html/inherit_graph_6.md5
similarity index 100%
rename from doxygen/html/inherit_graph_6.md5
rename to content/doxygen/html/inherit_graph_6.md5
diff --git a/doxygen/html/inherit_graph_7.dot b/content/doxygen/html/inherit_graph_7.dot
similarity index 100%
rename from doxygen/html/inherit_graph_7.dot
rename to content/doxygen/html/inherit_graph_7.dot
diff --git a/doxygen/html/inherit_graph_7.md5 b/content/doxygen/html/inherit_graph_7.md5
similarity index 100%
rename from doxygen/html/inherit_graph_7.md5
rename to content/doxygen/html/inherit_graph_7.md5
diff --git a/doxygen/html/inherit_graph_8.dot b/content/doxygen/html/inherit_graph_8.dot
similarity index 100%
rename from doxygen/html/inherit_graph_8.dot
rename to content/doxygen/html/inherit_graph_8.dot
diff --git a/doxygen/html/inherit_graph_8.md5 b/content/doxygen/html/inherit_graph_8.md5
similarity index 100%
rename from doxygen/html/inherit_graph_8.md5
rename to content/doxygen/html/inherit_graph_8.md5
diff --git a/doxygen/html/inherit_graph_9.dot b/content/doxygen/html/inherit_graph_9.dot
similarity index 100%
rename from doxygen/html/inherit_graph_9.dot
rename to content/doxygen/html/inherit_graph_9.dot
diff --git a/doxygen/html/inherit_graph_9.md5 b/content/doxygen/html/inherit_graph_9.md5
similarity index 100%
rename from doxygen/html/inherit_graph_9.md5
rename to content/doxygen/html/inherit_graph_9.md5
diff --git a/doxygen/html/inherits.html b/content/doxygen/html/inherits.html
similarity index 100%
rename from doxygen/html/inherits.html
rename to content/doxygen/html/inherits.html
diff --git a/doxygen/html/initializer_8h_source.html b/content/doxygen/html/initializer_8h_source.html
similarity index 100%
rename from doxygen/html/initializer_8h_source.html
rename to content/doxygen/html/initializer_8h_source.html
diff --git a/doxygen/html/io_2integer_8h_source.html b/content/doxygen/html/io_2integer_8h_source.html
similarity index 100%
rename from doxygen/html/io_2integer_8h_source.html
rename to content/doxygen/html/io_2integer_8h_source.html
diff --git a/doxygen/html/jquery.js b/content/doxygen/html/jquery.js
similarity index 100%
rename from doxygen/html/jquery.js
rename to content/doxygen/html/jquery.js
diff --git a/doxygen/html/layer_8h_source.html b/content/doxygen/html/layer_8h_source.html
similarity index 100%
rename from doxygen/html/layer_8h_source.html
rename to content/doxygen/html/layer_8h_source.html
diff --git a/doxygen/html/logging_8h_source.html b/content/doxygen/html/logging_8h_source.html
similarity index 100%
rename from doxygen/html/logging_8h_source.html
rename to content/doxygen/html/logging_8h_source.html
diff --git a/doxygen/html/loss_8h_source.html b/content/doxygen/html/loss_8h_source.html
similarity index 100%
rename from doxygen/html/loss_8h_source.html
rename to content/doxygen/html/loss_8h_source.html
diff --git a/doxygen/html/memory_8h_source.html b/content/doxygen/html/memory_8h_source.html
similarity index 100%
rename from doxygen/html/memory_8h_source.html
rename to content/doxygen/html/memory_8h_source.html
diff --git a/doxygen/html/menu.js b/content/doxygen/html/menu.js
similarity index 100%
rename from doxygen/html/menu.js
rename to content/doxygen/html/menu.js
diff --git a/doxygen/html/menudata.js b/content/doxygen/html/menudata.js
similarity index 100%
rename from doxygen/html/menudata.js
rename to content/doxygen/html/menudata.js
diff --git a/doxygen/html/metric_8h_source.html b/content/doxygen/html/metric_8h_source.html
similarity index 100%
rename from doxygen/html/metric_8h_source.html
rename to content/doxygen/html/metric_8h_source.html
diff --git a/doxygen/html/mkldnn__utils_8h_source.html b/content/doxygen/html/mkldnn__utils_8h_source.html
similarity index 100%
rename from doxygen/html/mkldnn__utils_8h_source.html
rename to content/doxygen/html/mkldnn__utils_8h_source.html
diff --git a/doxygen/html/namespacemembers.html b/content/doxygen/html/namespacemembers.html
similarity index 100%
rename from doxygen/html/namespacemembers.html
rename to content/doxygen/html/namespacemembers.html
diff --git a/doxygen/html/namespacemembers_func.html b/content/doxygen/html/namespacemembers_func.html
similarity index 100%
rename from doxygen/html/namespacemembers_func.html
rename to content/doxygen/html/namespacemembers_func.html
diff --git a/doxygen/html/namespacemembers_type.html b/content/doxygen/html/namespacemembers_type.html
similarity index 100%
rename from doxygen/html/namespacemembers_type.html
rename to content/doxygen/html/namespacemembers_type.html
diff --git a/doxygen/html/namespacemembers_vars.html b/content/doxygen/html/namespacemembers_vars.html
similarity index 100%
rename from doxygen/html/namespacemembers_vars.html
rename to content/doxygen/html/namespacemembers_vars.html
diff --git a/doxygen/html/namespaces.html b/content/doxygen/html/namespaces.html
similarity index 100%
rename from doxygen/html/namespaces.html
rename to content/doxygen/html/namespaces.html
diff --git a/doxygen/html/namespacesinga.html b/content/doxygen/html/namespacesinga.html
similarity index 100%
rename from doxygen/html/namespacesinga.html
rename to content/doxygen/html/namespacesinga.html
diff --git a/doxygen/html/nav_f.png b/content/doxygen/html/nav_f.png
similarity index 100%
rename from doxygen/html/nav_f.png
rename to content/doxygen/html/nav_f.png
diff --git a/doxygen/html/nav_g.png b/content/doxygen/html/nav_g.png
similarity index 100%
rename from doxygen/html/nav_g.png
rename to content/doxygen/html/nav_g.png
diff --git a/doxygen/html/nav_h.png b/content/doxygen/html/nav_h.png
similarity index 100%
rename from doxygen/html/nav_h.png
rename to content/doxygen/html/nav_h.png
diff --git a/doxygen/html/network_8h_source.html b/content/doxygen/html/network_8h_source.html
similarity index 100%
rename from doxygen/html/network_8h_source.html
rename to content/doxygen/html/network_8h_source.html
diff --git a/doxygen/html/open.png b/content/doxygen/html/open.png
similarity index 100%
rename from doxygen/html/open.png
rename to content/doxygen/html/open.png
diff --git a/doxygen/html/opencl__utils_8h_source.html b/content/doxygen/html/opencl__utils_8h_source.html
similarity index 100%
rename from doxygen/html/opencl__utils_8h_source.html
rename to content/doxygen/html/opencl__utils_8h_source.html
diff --git a/doxygen/html/optimizer_8h_source.html b/content/doxygen/html/optimizer_8h_source.html
similarity index 100%
rename from doxygen/html/optimizer_8h_source.html
rename to content/doxygen/html/optimizer_8h_source.html
diff --git a/doxygen/html/reader_8h_source.html b/content/doxygen/html/reader_8h_source.html
similarity index 100%
rename from doxygen/html/reader_8h_source.html
rename to content/doxygen/html/reader_8h_source.html
diff --git a/doxygen/html/safe__queue_8h_source.html b/content/doxygen/html/safe__queue_8h_source.html
similarity index 100%
rename from doxygen/html/safe__queue_8h_source.html
rename to content/doxygen/html/safe__queue_8h_source.html
diff --git a/doxygen/html/scheduler_8h_source.html b/content/doxygen/html/scheduler_8h_source.html
similarity index 100%
rename from doxygen/html/scheduler_8h_source.html
rename to content/doxygen/html/scheduler_8h_source.html
diff --git a/doxygen/html/search/all_0.html b/content/doxygen/html/search/all_0.html
similarity index 100%
rename from doxygen/html/search/all_0.html
rename to content/doxygen/html/search/all_0.html
diff --git a/doxygen/html/search/all_0.js b/content/doxygen/html/search/all_0.js
similarity index 100%
rename from doxygen/html/search/all_0.js
rename to content/doxygen/html/search/all_0.js
diff --git a/doxygen/html/search/all_1.html b/content/doxygen/html/search/all_1.html
similarity index 100%
rename from doxygen/html/search/all_1.html
rename to content/doxygen/html/search/all_1.html
diff --git a/doxygen/html/search/all_1.js b/content/doxygen/html/search/all_1.js
similarity index 100%
rename from doxygen/html/search/all_1.js
rename to content/doxygen/html/search/all_1.js
diff --git a/doxygen/html/search/all_10.html b/content/doxygen/html/search/all_10.html
similarity index 100%
rename from doxygen/html/search/all_10.html
rename to content/doxygen/html/search/all_10.html
diff --git a/doxygen/html/search/all_10.js b/content/doxygen/html/search/all_10.js
similarity index 100%
rename from doxygen/html/search/all_10.js
rename to content/doxygen/html/search/all_10.js
diff --git a/doxygen/html/search/all_11.html b/content/doxygen/html/search/all_11.html
similarity index 100%
rename from doxygen/html/search/all_11.html
rename to content/doxygen/html/search/all_11.html
diff --git a/doxygen/html/search/all_11.js b/content/doxygen/html/search/all_11.js
similarity index 100%
rename from doxygen/html/search/all_11.js
rename to content/doxygen/html/search/all_11.js
diff --git a/doxygen/html/search/all_12.html b/content/doxygen/html/search/all_12.html
similarity index 100%
rename from doxygen/html/search/all_12.html
rename to content/doxygen/html/search/all_12.html
diff --git a/doxygen/html/search/all_12.js b/content/doxygen/html/search/all_12.js
similarity index 100%
rename from doxygen/html/search/all_12.js
rename to content/doxygen/html/search/all_12.js
diff --git a/doxygen/html/search/all_13.html b/content/doxygen/html/search/all_13.html
similarity index 100%
rename from doxygen/html/search/all_13.html
rename to content/doxygen/html/search/all_13.html
diff --git a/doxygen/html/search/all_13.js b/content/doxygen/html/search/all_13.js
similarity index 100%
rename from doxygen/html/search/all_13.js
rename to content/doxygen/html/search/all_13.js
diff --git a/doxygen/html/search/all_14.html b/content/doxygen/html/search/all_14.html
similarity index 100%
rename from doxygen/html/search/all_14.html
rename to content/doxygen/html/search/all_14.html
diff --git a/doxygen/html/search/all_14.js b/content/doxygen/html/search/all_14.js
similarity index 100%
rename from doxygen/html/search/all_14.js
rename to content/doxygen/html/search/all_14.js
diff --git a/doxygen/html/search/all_15.html b/content/doxygen/html/search/all_15.html
similarity index 100%
rename from doxygen/html/search/all_15.html
rename to content/doxygen/html/search/all_15.html
diff --git a/doxygen/html/search/all_15.js b/content/doxygen/html/search/all_15.js
similarity index 100%
rename from doxygen/html/search/all_15.js
rename to content/doxygen/html/search/all_15.js
diff --git a/doxygen/html/search/all_16.html b/content/doxygen/html/search/all_16.html
similarity index 100%
rename from doxygen/html/search/all_16.html
rename to content/doxygen/html/search/all_16.html
diff --git a/doxygen/html/search/all_16.js b/content/doxygen/html/search/all_16.js
similarity index 100%
rename from doxygen/html/search/all_16.js
rename to content/doxygen/html/search/all_16.js
diff --git a/doxygen/html/search/all_17.html b/content/doxygen/html/search/all_17.html
similarity index 100%
rename from doxygen/html/search/all_17.html
rename to content/doxygen/html/search/all_17.html
diff --git a/doxygen/html/search/all_17.js b/content/doxygen/html/search/all_17.js
similarity index 100%
rename from doxygen/html/search/all_17.js
rename to content/doxygen/html/search/all_17.js
diff --git a/doxygen/html/search/all_2.html b/content/doxygen/html/search/all_2.html
similarity index 100%
rename from doxygen/html/search/all_2.html
rename to content/doxygen/html/search/all_2.html
diff --git a/doxygen/html/search/all_2.js b/content/doxygen/html/search/all_2.js
similarity index 100%
rename from doxygen/html/search/all_2.js
rename to content/doxygen/html/search/all_2.js
diff --git a/doxygen/html/search/all_3.html b/content/doxygen/html/search/all_3.html
similarity index 100%
rename from doxygen/html/search/all_3.html
rename to content/doxygen/html/search/all_3.html
diff --git a/doxygen/html/search/all_3.js b/content/doxygen/html/search/all_3.js
similarity index 100%
rename from doxygen/html/search/all_3.js
rename to content/doxygen/html/search/all_3.js
diff --git a/doxygen/html/search/all_4.html b/content/doxygen/html/search/all_4.html
similarity index 100%
rename from doxygen/html/search/all_4.html
rename to content/doxygen/html/search/all_4.html
diff --git a/doxygen/html/search/all_4.js b/content/doxygen/html/search/all_4.js
similarity index 100%
rename from doxygen/html/search/all_4.js
rename to content/doxygen/html/search/all_4.js
diff --git a/doxygen/html/search/all_5.html b/content/doxygen/html/search/all_5.html
similarity index 100%
rename from doxygen/html/search/all_5.html
rename to content/doxygen/html/search/all_5.html
diff --git a/doxygen/html/search/all_5.js b/content/doxygen/html/search/all_5.js
similarity index 100%
rename from doxygen/html/search/all_5.js
rename to content/doxygen/html/search/all_5.js
diff --git a/doxygen/html/search/all_6.html b/content/doxygen/html/search/all_6.html
similarity index 100%
rename from doxygen/html/search/all_6.html
rename to content/doxygen/html/search/all_6.html
diff --git a/doxygen/html/search/all_6.js b/content/doxygen/html/search/all_6.js
similarity index 100%
rename from doxygen/html/search/all_6.js
rename to content/doxygen/html/search/all_6.js
diff --git a/doxygen/html/search/all_7.html b/content/doxygen/html/search/all_7.html
similarity index 100%
rename from doxygen/html/search/all_7.html
rename to content/doxygen/html/search/all_7.html
diff --git a/doxygen/html/search/all_7.js b/content/doxygen/html/search/all_7.js
similarity index 100%
rename from doxygen/html/search/all_7.js
rename to content/doxygen/html/search/all_7.js
diff --git a/doxygen/html/search/all_8.html b/content/doxygen/html/search/all_8.html
similarity index 100%
rename from doxygen/html/search/all_8.html
rename to content/doxygen/html/search/all_8.html
diff --git a/doxygen/html/search/all_8.js b/content/doxygen/html/search/all_8.js
similarity index 100%
rename from doxygen/html/search/all_8.js
rename to content/doxygen/html/search/all_8.js
diff --git a/doxygen/html/search/all_9.html b/content/doxygen/html/search/all_9.html
similarity index 100%
rename from doxygen/html/search/all_9.html
rename to content/doxygen/html/search/all_9.html
diff --git a/doxygen/html/search/all_9.js b/content/doxygen/html/search/all_9.js
similarity index 100%
rename from doxygen/html/search/all_9.js
rename to content/doxygen/html/search/all_9.js
diff --git a/doxygen/html/search/all_a.html b/content/doxygen/html/search/all_a.html
similarity index 100%
rename from doxygen/html/search/all_a.html
rename to content/doxygen/html/search/all_a.html
diff --git a/doxygen/html/search/all_a.js b/content/doxygen/html/search/all_a.js
similarity index 100%
rename from doxygen/html/search/all_a.js
rename to content/doxygen/html/search/all_a.js
diff --git a/doxygen/html/search/all_b.html b/content/doxygen/html/search/all_b.html
similarity index 100%
rename from doxygen/html/search/all_b.html
rename to content/doxygen/html/search/all_b.html
diff --git a/doxygen/html/search/all_b.js b/content/doxygen/html/search/all_b.js
similarity index 100%
rename from doxygen/html/search/all_b.js
rename to content/doxygen/html/search/all_b.js
diff --git a/doxygen/html/search/all_c.html b/content/doxygen/html/search/all_c.html
similarity index 100%
rename from doxygen/html/search/all_c.html
rename to content/doxygen/html/search/all_c.html
diff --git a/doxygen/html/search/all_c.js b/content/doxygen/html/search/all_c.js
similarity index 100%
rename from doxygen/html/search/all_c.js
rename to content/doxygen/html/search/all_c.js
diff --git a/doxygen/html/search/all_d.html b/content/doxygen/html/search/all_d.html
similarity index 100%
rename from doxygen/html/search/all_d.html
rename to content/doxygen/html/search/all_d.html
diff --git a/doxygen/html/search/all_d.js b/content/doxygen/html/search/all_d.js
similarity index 100%
rename from doxygen/html/search/all_d.js
rename to content/doxygen/html/search/all_d.js
diff --git a/doxygen/html/search/all_e.html b/content/doxygen/html/search/all_e.html
similarity index 100%
rename from doxygen/html/search/all_e.html
rename to content/doxygen/html/search/all_e.html
diff --git a/doxygen/html/search/all_e.js b/content/doxygen/html/search/all_e.js
similarity index 100%
rename from doxygen/html/search/all_e.js
rename to content/doxygen/html/search/all_e.js
diff --git a/doxygen/html/search/all_f.html b/content/doxygen/html/search/all_f.html
similarity index 100%
rename from doxygen/html/search/all_f.html
rename to content/doxygen/html/search/all_f.html
diff --git a/doxygen/html/search/all_f.js b/content/doxygen/html/search/all_f.js
similarity index 100%
rename from doxygen/html/search/all_f.js
rename to content/doxygen/html/search/all_f.js
diff --git a/doxygen/html/search/classes_0.html b/content/doxygen/html/search/classes_0.html
similarity index 100%
rename from doxygen/html/search/classes_0.html
rename to content/doxygen/html/search/classes_0.html
diff --git a/doxygen/html/search/classes_0.js b/content/doxygen/html/search/classes_0.js
similarity index 100%
rename from doxygen/html/search/classes_0.js
rename to content/doxygen/html/search/classes_0.js
diff --git a/doxygen/html/search/classes_1.html b/content/doxygen/html/search/classes_1.html
similarity index 100%
rename from doxygen/html/search/classes_1.html
rename to content/doxygen/html/search/classes_1.html
diff --git a/doxygen/html/search/classes_1.js b/content/doxygen/html/search/classes_1.js
similarity index 100%
rename from doxygen/html/search/classes_1.js
rename to content/doxygen/html/search/classes_1.js
diff --git a/doxygen/html/search/classes_10.html b/content/doxygen/html/search/classes_10.html
similarity index 100%
rename from doxygen/html/search/classes_10.html
rename to content/doxygen/html/search/classes_10.html
diff --git a/doxygen/html/search/classes_10.js b/content/doxygen/html/search/classes_10.js
similarity index 100%
rename from doxygen/html/search/classes_10.js
rename to content/doxygen/html/search/classes_10.js
diff --git a/doxygen/html/search/classes_11.html b/content/doxygen/html/search/classes_11.html
similarity index 100%
rename from doxygen/html/search/classes_11.html
rename to content/doxygen/html/search/classes_11.html
diff --git a/doxygen/html/search/classes_11.js b/content/doxygen/html/search/classes_11.js
similarity index 100%
rename from doxygen/html/search/classes_11.js
rename to content/doxygen/html/search/classes_11.js
diff --git a/doxygen/html/search/classes_12.html b/content/doxygen/html/search/classes_12.html
similarity index 100%
rename from doxygen/html/search/classes_12.html
rename to content/doxygen/html/search/classes_12.html
diff --git a/doxygen/html/search/classes_12.js b/content/doxygen/html/search/classes_12.js
similarity index 100%
rename from doxygen/html/search/classes_12.js
rename to content/doxygen/html/search/classes_12.js
diff --git a/doxygen/html/search/classes_13.html b/content/doxygen/html/search/classes_13.html
similarity index 100%
rename from doxygen/html/search/classes_13.html
rename to content/doxygen/html/search/classes_13.html
diff --git a/doxygen/html/search/classes_13.js b/content/doxygen/html/search/classes_13.js
similarity index 100%
rename from doxygen/html/search/classes_13.js
rename to content/doxygen/html/search/classes_13.js
diff --git a/doxygen/html/search/classes_14.html b/content/doxygen/html/search/classes_14.html
similarity index 100%
rename from doxygen/html/search/classes_14.html
rename to content/doxygen/html/search/classes_14.html
diff --git a/doxygen/html/search/classes_14.js b/content/doxygen/html/search/classes_14.js
similarity index 100%
rename from doxygen/html/search/classes_14.js
rename to content/doxygen/html/search/classes_14.js
diff --git a/doxygen/html/search/classes_2.html b/content/doxygen/html/search/classes_2.html
similarity index 100%
rename from doxygen/html/search/classes_2.html
rename to content/doxygen/html/search/classes_2.html
diff --git a/doxygen/html/search/classes_2.js b/content/doxygen/html/search/classes_2.js
similarity index 100%
rename from doxygen/html/search/classes_2.js
rename to content/doxygen/html/search/classes_2.js
diff --git a/doxygen/html/search/classes_3.html b/content/doxygen/html/search/classes_3.html
similarity index 100%
rename from doxygen/html/search/classes_3.html
rename to content/doxygen/html/search/classes_3.html
diff --git a/doxygen/html/search/classes_3.js b/content/doxygen/html/search/classes_3.js
similarity index 100%
rename from doxygen/html/search/classes_3.js
rename to content/doxygen/html/search/classes_3.js
diff --git a/doxygen/html/search/classes_4.html b/content/doxygen/html/search/classes_4.html
similarity index 100%
rename from doxygen/html/search/classes_4.html
rename to content/doxygen/html/search/classes_4.html
diff --git a/doxygen/html/search/classes_4.js b/content/doxygen/html/search/classes_4.js
similarity index 100%
rename from doxygen/html/search/classes_4.js
rename to content/doxygen/html/search/classes_4.js
diff --git a/doxygen/html/search/classes_5.html b/content/doxygen/html/search/classes_5.html
similarity index 100%
rename from doxygen/html/search/classes_5.html
rename to content/doxygen/html/search/classes_5.html
diff --git a/doxygen/html/search/classes_5.js b/content/doxygen/html/search/classes_5.js
similarity index 100%
rename from doxygen/html/search/classes_5.js
rename to content/doxygen/html/search/classes_5.js
diff --git a/doxygen/html/search/classes_6.html b/content/doxygen/html/search/classes_6.html
similarity index 100%
rename from doxygen/html/search/classes_6.html
rename to content/doxygen/html/search/classes_6.html
diff --git a/doxygen/html/search/classes_6.js b/content/doxygen/html/search/classes_6.js
similarity index 100%
rename from doxygen/html/search/classes_6.js
rename to content/doxygen/html/search/classes_6.js
diff --git a/doxygen/html/search/classes_7.html b/content/doxygen/html/search/classes_7.html
similarity index 100%
rename from doxygen/html/search/classes_7.html
rename to content/doxygen/html/search/classes_7.html
diff --git a/doxygen/html/search/classes_7.js b/content/doxygen/html/search/classes_7.js
similarity index 100%
rename from doxygen/html/search/classes_7.js
rename to content/doxygen/html/search/classes_7.js
diff --git a/doxygen/html/search/classes_8.html b/content/doxygen/html/search/classes_8.html
similarity index 100%
rename from doxygen/html/search/classes_8.html
rename to content/doxygen/html/search/classes_8.html
diff --git a/doxygen/html/search/classes_8.js b/content/doxygen/html/search/classes_8.js
similarity index 100%
rename from doxygen/html/search/classes_8.js
rename to content/doxygen/html/search/classes_8.js
diff --git a/doxygen/html/search/classes_9.html b/content/doxygen/html/search/classes_9.html
similarity index 100%
rename from doxygen/html/search/classes_9.html
rename to content/doxygen/html/search/classes_9.html
diff --git a/doxygen/html/search/classes_9.js b/content/doxygen/html/search/classes_9.js
similarity index 100%
rename from doxygen/html/search/classes_9.js
rename to content/doxygen/html/search/classes_9.js
diff --git a/doxygen/html/search/classes_a.html b/content/doxygen/html/search/classes_a.html
similarity index 100%
rename from doxygen/html/search/classes_a.html
rename to content/doxygen/html/search/classes_a.html
diff --git a/doxygen/html/search/classes_a.js b/content/doxygen/html/search/classes_a.js
similarity index 100%
rename from doxygen/html/search/classes_a.js
rename to content/doxygen/html/search/classes_a.js
diff --git a/doxygen/html/search/classes_b.html b/content/doxygen/html/search/classes_b.html
similarity index 100%
rename from doxygen/html/search/classes_b.html
rename to content/doxygen/html/search/classes_b.html
diff --git a/doxygen/html/search/classes_b.js b/content/doxygen/html/search/classes_b.js
similarity index 100%
rename from doxygen/html/search/classes_b.js
rename to content/doxygen/html/search/classes_b.js
diff --git a/doxygen/html/search/classes_c.html b/content/doxygen/html/search/classes_c.html
similarity index 100%
rename from doxygen/html/search/classes_c.html
rename to content/doxygen/html/search/classes_c.html
diff --git a/doxygen/html/search/classes_c.js b/content/doxygen/html/search/classes_c.js
similarity index 100%
rename from doxygen/html/search/classes_c.js
rename to content/doxygen/html/search/classes_c.js
diff --git a/doxygen/html/search/classes_d.html b/content/doxygen/html/search/classes_d.html
similarity index 100%
rename from doxygen/html/search/classes_d.html
rename to content/doxygen/html/search/classes_d.html
diff --git a/doxygen/html/search/classes_d.js b/content/doxygen/html/search/classes_d.js
similarity index 100%
rename from doxygen/html/search/classes_d.js
rename to content/doxygen/html/search/classes_d.js
diff --git a/doxygen/html/search/classes_e.html b/content/doxygen/html/search/classes_e.html
similarity index 100%
rename from doxygen/html/search/classes_e.html
rename to content/doxygen/html/search/classes_e.html
diff --git a/doxygen/html/search/classes_e.js b/content/doxygen/html/search/classes_e.js
similarity index 100%
rename from doxygen/html/search/classes_e.js
rename to content/doxygen/html/search/classes_e.js
diff --git a/doxygen/html/search/classes_f.html b/content/doxygen/html/search/classes_f.html
similarity index 100%
rename from doxygen/html/search/classes_f.html
rename to content/doxygen/html/search/classes_f.html
diff --git a/doxygen/html/search/classes_f.js b/content/doxygen/html/search/classes_f.js
similarity index 100%
rename from doxygen/html/search/classes_f.js
rename to content/doxygen/html/search/classes_f.js
diff --git a/doxygen/html/search/close.png b/content/doxygen/html/search/close.png
similarity index 100%
rename from doxygen/html/search/close.png
rename to content/doxygen/html/search/close.png
diff --git a/doxygen/html/search/functions_0.html b/content/doxygen/html/search/functions_0.html
similarity index 100%
rename from doxygen/html/search/functions_0.html
rename to content/doxygen/html/search/functions_0.html
diff --git a/doxygen/html/search/functions_0.js b/content/doxygen/html/search/functions_0.js
similarity index 100%
rename from doxygen/html/search/functions_0.js
rename to content/doxygen/html/search/functions_0.js
diff --git a/doxygen/html/search/functions_1.html b/content/doxygen/html/search/functions_1.html
similarity index 100%
rename from doxygen/html/search/functions_1.html
rename to content/doxygen/html/search/functions_1.html
diff --git a/doxygen/html/search/functions_1.js b/content/doxygen/html/search/functions_1.js
similarity index 100%
rename from doxygen/html/search/functions_1.js
rename to content/doxygen/html/search/functions_1.js
diff --git a/doxygen/html/search/functions_10.html b/content/doxygen/html/search/functions_10.html
similarity index 100%
rename from doxygen/html/search/functions_10.html
rename to content/doxygen/html/search/functions_10.html
diff --git a/doxygen/html/search/functions_10.js b/content/doxygen/html/search/functions_10.js
similarity index 100%
rename from doxygen/html/search/functions_10.js
rename to content/doxygen/html/search/functions_10.js
diff --git a/doxygen/html/search/functions_11.html b/content/doxygen/html/search/functions_11.html
similarity index 100%
rename from doxygen/html/search/functions_11.html
rename to content/doxygen/html/search/functions_11.html
diff --git a/doxygen/html/search/functions_11.js b/content/doxygen/html/search/functions_11.js
similarity index 100%
rename from doxygen/html/search/functions_11.js
rename to content/doxygen/html/search/functions_11.js
diff --git a/doxygen/html/search/functions_12.html b/content/doxygen/html/search/functions_12.html
similarity index 100%
rename from doxygen/html/search/functions_12.html
rename to content/doxygen/html/search/functions_12.html
diff --git a/doxygen/html/search/functions_12.js b/content/doxygen/html/search/functions_12.js
similarity index 100%
rename from doxygen/html/search/functions_12.js
rename to content/doxygen/html/search/functions_12.js
diff --git a/doxygen/html/search/functions_13.html b/content/doxygen/html/search/functions_13.html
similarity index 100%
rename from doxygen/html/search/functions_13.html
rename to content/doxygen/html/search/functions_13.html
diff --git a/doxygen/html/search/functions_13.js b/content/doxygen/html/search/functions_13.js
similarity index 100%
rename from doxygen/html/search/functions_13.js
rename to content/doxygen/html/search/functions_13.js
diff --git a/doxygen/html/search/functions_2.html b/content/doxygen/html/search/functions_2.html
similarity index 100%
rename from doxygen/html/search/functions_2.html
rename to content/doxygen/html/search/functions_2.html
diff --git a/doxygen/html/search/functions_2.js b/content/doxygen/html/search/functions_2.js
similarity index 100%
rename from doxygen/html/search/functions_2.js
rename to content/doxygen/html/search/functions_2.js
diff --git a/doxygen/html/search/functions_3.html b/content/doxygen/html/search/functions_3.html
similarity index 100%
rename from doxygen/html/search/functions_3.html
rename to content/doxygen/html/search/functions_3.html
diff --git a/doxygen/html/search/functions_3.js b/content/doxygen/html/search/functions_3.js
similarity index 100%
rename from doxygen/html/search/functions_3.js
rename to content/doxygen/html/search/functions_3.js
diff --git a/doxygen/html/search/functions_4.html b/content/doxygen/html/search/functions_4.html
similarity index 100%
rename from doxygen/html/search/functions_4.html
rename to content/doxygen/html/search/functions_4.html
diff --git a/doxygen/html/search/functions_4.js b/content/doxygen/html/search/functions_4.js
similarity index 100%
rename from doxygen/html/search/functions_4.js
rename to content/doxygen/html/search/functions_4.js
diff --git a/doxygen/html/search/functions_5.html b/content/doxygen/html/search/functions_5.html
similarity index 100%
rename from doxygen/html/search/functions_5.html
rename to content/doxygen/html/search/functions_5.html
diff --git a/doxygen/html/search/functions_5.js b/content/doxygen/html/search/functions_5.js
similarity index 100%
rename from doxygen/html/search/functions_5.js
rename to content/doxygen/html/search/functions_5.js
diff --git a/doxygen/html/search/functions_6.html b/content/doxygen/html/search/functions_6.html
similarity index 100%
rename from doxygen/html/search/functions_6.html
rename to content/doxygen/html/search/functions_6.html
diff --git a/doxygen/html/search/functions_6.js b/content/doxygen/html/search/functions_6.js
similarity index 100%
rename from doxygen/html/search/functions_6.js
rename to content/doxygen/html/search/functions_6.js
diff --git a/doxygen/html/search/functions_7.html b/content/doxygen/html/search/functions_7.html
similarity index 100%
rename from doxygen/html/search/functions_7.html
rename to content/doxygen/html/search/functions_7.html
diff --git a/doxygen/html/search/functions_7.js b/content/doxygen/html/search/functions_7.js
similarity index 100%
rename from doxygen/html/search/functions_7.js
rename to content/doxygen/html/search/functions_7.js
diff --git a/doxygen/html/search/functions_8.html b/content/doxygen/html/search/functions_8.html
similarity index 100%
rename from doxygen/html/search/functions_8.html
rename to content/doxygen/html/search/functions_8.html
diff --git a/doxygen/html/search/functions_8.js b/content/doxygen/html/search/functions_8.js
similarity index 100%
rename from doxygen/html/search/functions_8.js
rename to content/doxygen/html/search/functions_8.js
diff --git a/doxygen/html/search/functions_9.html b/content/doxygen/html/search/functions_9.html
similarity index 100%
rename from doxygen/html/search/functions_9.html
rename to content/doxygen/html/search/functions_9.html
diff --git a/doxygen/html/search/functions_9.js b/content/doxygen/html/search/functions_9.js
similarity index 100%
rename from doxygen/html/search/functions_9.js
rename to content/doxygen/html/search/functions_9.js
diff --git a/doxygen/html/search/functions_a.html b/content/doxygen/html/search/functions_a.html
similarity index 100%
rename from doxygen/html/search/functions_a.html
rename to content/doxygen/html/search/functions_a.html
diff --git a/doxygen/html/search/functions_a.js b/content/doxygen/html/search/functions_a.js
similarity index 100%
rename from doxygen/html/search/functions_a.js
rename to content/doxygen/html/search/functions_a.js
diff --git a/doxygen/html/search/functions_b.html b/content/doxygen/html/search/functions_b.html
similarity index 100%
rename from doxygen/html/search/functions_b.html
rename to content/doxygen/html/search/functions_b.html
diff --git a/doxygen/html/search/functions_b.js b/content/doxygen/html/search/functions_b.js
similarity index 100%
rename from doxygen/html/search/functions_b.js
rename to content/doxygen/html/search/functions_b.js
diff --git a/doxygen/html/search/functions_c.html b/content/doxygen/html/search/functions_c.html
similarity index 100%
rename from doxygen/html/search/functions_c.html
rename to content/doxygen/html/search/functions_c.html
diff --git a/doxygen/html/search/functions_c.js b/content/doxygen/html/search/functions_c.js
similarity index 100%
rename from doxygen/html/search/functions_c.js
rename to content/doxygen/html/search/functions_c.js
diff --git a/doxygen/html/search/functions_d.html b/content/doxygen/html/search/functions_d.html
similarity index 100%
rename from doxygen/html/search/functions_d.html
rename to content/doxygen/html/search/functions_d.html
diff --git a/doxygen/html/search/functions_d.js b/content/doxygen/html/search/functions_d.js
similarity index 100%
rename from doxygen/html/search/functions_d.js
rename to content/doxygen/html/search/functions_d.js
diff --git a/doxygen/html/search/functions_e.html b/content/doxygen/html/search/functions_e.html
similarity index 100%
rename from doxygen/html/search/functions_e.html
rename to content/doxygen/html/search/functions_e.html
diff --git a/doxygen/html/search/functions_e.js b/content/doxygen/html/search/functions_e.js
similarity index 100%
rename from doxygen/html/search/functions_e.js
rename to content/doxygen/html/search/functions_e.js
diff --git a/doxygen/html/search/functions_f.html b/content/doxygen/html/search/functions_f.html
similarity index 100%
rename from doxygen/html/search/functions_f.html
rename to content/doxygen/html/search/functions_f.html
diff --git a/doxygen/html/search/functions_f.js b/content/doxygen/html/search/functions_f.js
similarity index 100%
rename from doxygen/html/search/functions_f.js
rename to content/doxygen/html/search/functions_f.js
diff --git a/doxygen/html/search/mag_sel.png b/content/doxygen/html/search/mag_sel.png
similarity index 100%
rename from doxygen/html/search/mag_sel.png
rename to content/doxygen/html/search/mag_sel.png
diff --git a/doxygen/html/search/namespaces_0.html b/content/doxygen/html/search/namespaces_0.html
similarity index 100%
rename from doxygen/html/search/namespaces_0.html
rename to content/doxygen/html/search/namespaces_0.html
diff --git a/doxygen/html/search/namespaces_0.js b/content/doxygen/html/search/namespaces_0.js
similarity index 100%
rename from doxygen/html/search/namespaces_0.js
rename to content/doxygen/html/search/namespaces_0.js
diff --git a/doxygen/html/search/nomatches.html b/content/doxygen/html/search/nomatches.html
similarity index 100%
rename from doxygen/html/search/nomatches.html
rename to content/doxygen/html/search/nomatches.html
diff --git a/doxygen/html/search/search.css b/content/doxygen/html/search/search.css
similarity index 100%
rename from doxygen/html/search/search.css
rename to content/doxygen/html/search/search.css
diff --git a/doxygen/html/search/search.js b/content/doxygen/html/search/search.js
similarity index 100%
rename from doxygen/html/search/search.js
rename to content/doxygen/html/search/search.js
diff --git a/doxygen/html/search/search_l.png b/content/doxygen/html/search/search_l.png
similarity index 100%
rename from doxygen/html/search/search_l.png
rename to content/doxygen/html/search/search_l.png
diff --git a/doxygen/html/search/search_m.png b/content/doxygen/html/search/search_m.png
similarity index 100%
rename from doxygen/html/search/search_m.png
rename to content/doxygen/html/search/search_m.png
diff --git a/doxygen/html/search/search_r.png b/content/doxygen/html/search/search_r.png
similarity index 100%
rename from doxygen/html/search/search_r.png
rename to content/doxygen/html/search/search_r.png
diff --git a/doxygen/html/search/searchdata.js b/content/doxygen/html/search/searchdata.js
similarity index 100%
rename from doxygen/html/search/searchdata.js
rename to content/doxygen/html/search/searchdata.js
diff --git a/doxygen/html/search/typedefs_0.html b/content/doxygen/html/search/typedefs_0.html
similarity index 100%
rename from doxygen/html/search/typedefs_0.html
rename to content/doxygen/html/search/typedefs_0.html
diff --git a/doxygen/html/search/typedefs_0.js b/content/doxygen/html/search/typedefs_0.js
similarity index 100%
rename from doxygen/html/search/typedefs_0.js
rename to content/doxygen/html/search/typedefs_0.js
diff --git a/doxygen/html/search/variables_0.html b/content/doxygen/html/search/variables_0.html
similarity index 100%
rename from doxygen/html/search/variables_0.html
rename to content/doxygen/html/search/variables_0.html
diff --git a/doxygen/html/search/variables_0.js b/content/doxygen/html/search/variables_0.js
similarity index 100%
rename from doxygen/html/search/variables_0.js
rename to content/doxygen/html/search/variables_0.js
diff --git a/doxygen/html/search/variables_1.html b/content/doxygen/html/search/variables_1.html
similarity index 100%
rename from doxygen/html/search/variables_1.html
rename to content/doxygen/html/search/variables_1.html
diff --git a/doxygen/html/search/variables_1.js b/content/doxygen/html/search/variables_1.js
similarity index 100%
rename from doxygen/html/search/variables_1.js
rename to content/doxygen/html/search/variables_1.js
diff --git a/doxygen/html/search/variables_2.html b/content/doxygen/html/search/variables_2.html
similarity index 100%
rename from doxygen/html/search/variables_2.html
rename to content/doxygen/html/search/variables_2.html
diff --git a/doxygen/html/search/variables_2.js b/content/doxygen/html/search/variables_2.js
similarity index 100%
rename from doxygen/html/search/variables_2.js
rename to content/doxygen/html/search/variables_2.js
diff --git a/doxygen/html/search/variables_3.html b/content/doxygen/html/search/variables_3.html
similarity index 100%
rename from doxygen/html/search/variables_3.html
rename to content/doxygen/html/search/variables_3.html
diff --git a/doxygen/html/search/variables_3.js b/content/doxygen/html/search/variables_3.js
similarity index 100%
rename from doxygen/html/search/variables_3.js
rename to content/doxygen/html/search/variables_3.js
diff --git a/doxygen/html/search/variables_4.html b/content/doxygen/html/search/variables_4.html
similarity index 100%
rename from doxygen/html/search/variables_4.html
rename to content/doxygen/html/search/variables_4.html
diff --git a/doxygen/html/search/variables_4.js b/content/doxygen/html/search/variables_4.js
similarity index 100%
rename from doxygen/html/search/variables_4.js
rename to content/doxygen/html/search/variables_4.js
diff --git a/doxygen/html/singleton_8h_source.html b/content/doxygen/html/singleton_8h_source.html
similarity index 100%
rename from doxygen/html/singleton_8h_source.html
rename to content/doxygen/html/singleton_8h_source.html
diff --git a/doxygen/html/snapshot_8h_source.html b/content/doxygen/html/snapshot_8h_source.html
similarity index 100%
rename from doxygen/html/snapshot_8h_source.html
rename to content/doxygen/html/snapshot_8h_source.html
diff --git a/doxygen/html/splitbar.png b/content/doxygen/html/splitbar.png
similarity index 100%
rename from doxygen/html/splitbar.png
rename to content/doxygen/html/splitbar.png
diff --git a/doxygen/html/string_8h_source.html b/content/doxygen/html/string_8h_source.html
similarity index 100%
rename from doxygen/html/string_8h_source.html
rename to content/doxygen/html/string_8h_source.html
diff --git a/doxygen/html/structsinga_1_1__Context-members.html b/content/doxygen/html/structsinga_1_1__Context-members.html
similarity index 100%
rename from doxygen/html/structsinga_1_1__Context-members.html
rename to content/doxygen/html/structsinga_1_1__Context-members.html
diff --git a/doxygen/html/structsinga_1_1__Context.html b/content/doxygen/html/structsinga_1_1__Context.html
similarity index 100%
rename from doxygen/html/structsinga_1_1__Context.html
rename to content/doxygen/html/structsinga_1_1__Context.html
diff --git a/doxygen/html/structsinga_1_1lang_1_1__Cpp.html b/content/doxygen/html/structsinga_1_1lang_1_1__Cpp.html
similarity index 100%
rename from doxygen/html/structsinga_1_1lang_1_1__Cpp.html
rename to content/doxygen/html/structsinga_1_1lang_1_1__Cpp.html
diff --git a/doxygen/html/structsinga_1_1lang_1_1__Cuda.html b/content/doxygen/html/structsinga_1_1lang_1_1__Cuda.html
similarity index 100%
rename from doxygen/html/structsinga_1_1lang_1_1__Cuda.html
rename to content/doxygen/html/structsinga_1_1lang_1_1__Cuda.html
diff --git a/doxygen/html/structsinga_1_1lang_1_1__Opencl.html b/content/doxygen/html/structsinga_1_1lang_1_1__Opencl.html
similarity index 100%
rename from doxygen/html/structsinga_1_1lang_1_1__Opencl.html
rename to content/doxygen/html/structsinga_1_1lang_1_1__Opencl.html
diff --git a/doxygen/html/structsinga_1_1logging_1_1CheckOpString-members.html b/content/doxygen/html/structsinga_1_1logging_1_1CheckOpString-members.html
similarity index 100%
rename from doxygen/html/structsinga_1_1logging_1_1CheckOpString-members.html
rename to content/doxygen/html/structsinga_1_1logging_1_1CheckOpString-members.html
diff --git a/doxygen/html/structsinga_1_1logging_1_1CheckOpString.html b/content/doxygen/html/structsinga_1_1logging_1_1CheckOpString.html
similarity index 100%
rename from doxygen/html/structsinga_1_1logging_1_1CheckOpString.html
rename to content/doxygen/html/structsinga_1_1logging_1_1CheckOpString.html
diff --git a/doxygen/html/structsinga_1_1logging_1_1CheckOpString__coll__graph.dot b/content/doxygen/html/structsinga_1_1logging_1_1CheckOpString__coll__graph.dot
similarity index 100%
rename from doxygen/html/structsinga_1_1logging_1_1CheckOpString__coll__graph.dot
rename to content/doxygen/html/structsinga_1_1logging_1_1CheckOpString__coll__graph.dot
diff --git a/doxygen/html/structsinga_1_1logging_1_1CheckOpString__coll__graph.md5 b/content/doxygen/html/structsinga_1_1logging_1_1CheckOpString__coll__graph.md5
similarity index 100%
rename from doxygen/html/structsinga_1_1logging_1_1CheckOpString__coll__graph.md5
rename to content/doxygen/html/structsinga_1_1logging_1_1CheckOpString__coll__graph.md5
diff --git a/doxygen/html/structtinydir__dir-members.html b/content/doxygen/html/structtinydir__dir-members.html
similarity index 100%
rename from doxygen/html/structtinydir__dir-members.html
rename to content/doxygen/html/structtinydir__dir-members.html
diff --git a/doxygen/html/structtinydir__dir.html b/content/doxygen/html/structtinydir__dir.html
similarity index 100%
rename from doxygen/html/structtinydir__dir.html
rename to content/doxygen/html/structtinydir__dir.html
diff --git a/doxygen/html/structtinydir__dir__coll__graph.dot b/content/doxygen/html/structtinydir__dir__coll__graph.dot
similarity index 100%
rename from doxygen/html/structtinydir__dir__coll__graph.dot
rename to content/doxygen/html/structtinydir__dir__coll__graph.dot
diff --git a/doxygen/html/structtinydir__dir__coll__graph.md5 b/content/doxygen/html/structtinydir__dir__coll__graph.md5
similarity index 100%
rename from doxygen/html/structtinydir__dir__coll__graph.md5
rename to content/doxygen/html/structtinydir__dir__coll__graph.md5
diff --git a/doxygen/html/structtinydir__file-members.html b/content/doxygen/html/structtinydir__file-members.html
similarity index 100%
rename from doxygen/html/structtinydir__file-members.html
rename to content/doxygen/html/structtinydir__file-members.html
diff --git a/doxygen/html/structtinydir__file.html b/content/doxygen/html/structtinydir__file.html
similarity index 100%
rename from doxygen/html/structtinydir__file.html
rename to content/doxygen/html/structtinydir__file.html
diff --git a/doxygen/html/sync_off.png b/content/doxygen/html/sync_off.png
similarity index 100%
rename from doxygen/html/sync_off.png
rename to content/doxygen/html/sync_off.png
diff --git a/doxygen/html/sync_on.png b/content/doxygen/html/sync_on.png
similarity index 100%
rename from doxygen/html/sync_on.png
rename to content/doxygen/html/sync_on.png
diff --git a/doxygen/html/tab_a.png b/content/doxygen/html/tab_a.png
similarity index 100%
rename from doxygen/html/tab_a.png
rename to content/doxygen/html/tab_a.png
diff --git a/doxygen/html/tab_b.png b/content/doxygen/html/tab_b.png
similarity index 100%
rename from doxygen/html/tab_b.png
rename to content/doxygen/html/tab_b.png
diff --git a/doxygen/html/tab_h.png b/content/doxygen/html/tab_h.png
similarity index 100%
rename from doxygen/html/tab_h.png
rename to content/doxygen/html/tab_h.png
diff --git a/doxygen/html/tab_s.png b/content/doxygen/html/tab_s.png
similarity index 100%
rename from doxygen/html/tab_s.png
rename to content/doxygen/html/tab_s.png
diff --git a/doxygen/html/tabs.css b/content/doxygen/html/tabs.css
similarity index 100%
rename from doxygen/html/tabs.css
rename to content/doxygen/html/tabs.css
diff --git a/doxygen/html/tensor_8h_source.html b/content/doxygen/html/tensor_8h_source.html
similarity index 100%
rename from doxygen/html/tensor_8h_source.html
rename to content/doxygen/html/tensor_8h_source.html
diff --git a/doxygen/html/timer_8h_source.html b/content/doxygen/html/timer_8h_source.html
similarity index 100%
rename from doxygen/html/timer_8h_source.html
rename to content/doxygen/html/timer_8h_source.html
diff --git a/doxygen/html/tinydir_8h_source.html b/content/doxygen/html/tinydir_8h_source.html
similarity index 100%
rename from doxygen/html/tinydir_8h_source.html
rename to content/doxygen/html/tinydir_8h_source.html
diff --git a/doxygen/html/transformer_8h_source.html b/content/doxygen/html/transformer_8h_source.html
similarity index 100%
rename from doxygen/html/transformer_8h_source.html
rename to content/doxygen/html/transformer_8h_source.html
diff --git a/doxygen/html/updater_8h_source.html b/content/doxygen/html/updater_8h_source.html
similarity index 100%
rename from doxygen/html/updater_8h_source.html
rename to content/doxygen/html/updater_8h_source.html
diff --git a/doxygen/html/utils_2integer_8h_source.html b/content/doxygen/html/utils_2integer_8h_source.html
similarity index 100%
rename from doxygen/html/utils_2integer_8h_source.html
rename to content/doxygen/html/utils_2integer_8h_source.html
diff --git a/doxygen/html/writer_8h_source.html b/content/doxygen/html/writer_8h_source.html
similarity index 100%
rename from doxygen/html/writer_8h_source.html
rename to content/doxygen/html/writer_8h_source.html
diff --git a/en/.buildinfo b/content/en/.buildinfo
similarity index 100%
rename from en/.buildinfo
rename to content/en/.buildinfo
diff --git a/_sources/community/issue-tracking.md.txt b/content/en/_sources/community/issue-tracking.md.txt
similarity index 100%
rename from _sources/community/issue-tracking.md.txt
rename to content/en/_sources/community/issue-tracking.md.txt
diff --git a/en/_sources/community/mail-lists.rst.txt b/content/en/_sources/community/mail-lists.rst.txt
similarity index 100%
rename from en/_sources/community/mail-lists.rst.txt
rename to content/en/_sources/community/mail-lists.rst.txt
diff --git a/_sources/community/source-repository.rst.txt b/content/en/_sources/community/source-repository.rst.txt
similarity index 100%
rename from _sources/community/source-repository.rst.txt
rename to content/en/_sources/community/source-repository.rst.txt
diff --git a/_sources/community/team-list.rst.txt b/content/en/_sources/community/team-list.rst.txt
similarity index 100%
rename from _sources/community/team-list.rst.txt
rename to content/en/_sources/community/team-list.rst.txt
diff --git a/_sources/develop/contribute-code.md.txt b/content/en/_sources/develop/contribute-code.md.txt
similarity index 100%
rename from _sources/develop/contribute-code.md.txt
rename to content/en/_sources/develop/contribute-code.md.txt
diff --git a/_sources/develop/contribute-docs.md.txt b/content/en/_sources/develop/contribute-docs.md.txt
similarity index 100%
rename from _sources/develop/contribute-docs.md.txt
rename to content/en/_sources/develop/contribute-docs.md.txt
diff --git a/_sources/develop/how-contribute.md.txt b/content/en/_sources/develop/how-contribute.md.txt
similarity index 100%
rename from _sources/develop/how-contribute.md.txt
rename to content/en/_sources/develop/how-contribute.md.txt
diff --git a/_sources/develop/how-to-release.rst.txt b/content/en/_sources/develop/how-to-release.rst.txt
similarity index 100%
rename from _sources/develop/how-to-release.rst.txt
rename to content/en/_sources/develop/how-to-release.rst.txt
diff --git a/_sources/develop/schedule.rst.txt b/content/en/_sources/develop/schedule.rst.txt
similarity index 100%
rename from _sources/develop/schedule.rst.txt
rename to content/en/_sources/develop/schedule.rst.txt
diff --git a/_sources/docs.rst.txt b/content/en/_sources/docs.rst.txt
similarity index 100%
rename from _sources/docs.rst.txt
rename to content/en/_sources/docs.rst.txt
diff --git a/_sources/docs/autograd.md.txt b/content/en/_sources/docs/autograd.md.txt
similarity index 100%
rename from _sources/docs/autograd.md.txt
rename to content/en/_sources/docs/autograd.md.txt
diff --git a/_sources/docs/benchmark.md.txt b/content/en/_sources/docs/benchmark.md.txt
similarity index 100%
rename from _sources/docs/benchmark.md.txt
rename to content/en/_sources/docs/benchmark.md.txt
diff --git a/_sources/docs/cnn.md.txt b/content/en/_sources/docs/cnn.md.txt
similarity index 100%
rename from _sources/docs/cnn.md.txt
rename to content/en/_sources/docs/cnn.md.txt
diff --git a/_sources/docs/converter.rst.txt b/content/en/_sources/docs/converter.rst.txt
similarity index 100%
rename from _sources/docs/converter.rst.txt
rename to content/en/_sources/docs/converter.rst.txt
diff --git a/_sources/docs/data.rst.txt b/content/en/_sources/docs/data.rst.txt
similarity index 100%
rename from _sources/docs/data.rst.txt
rename to content/en/_sources/docs/data.rst.txt
diff --git a/_sources/docs/dependencies.md.txt b/content/en/_sources/docs/dependencies.md.txt
similarity index 100%
rename from _sources/docs/dependencies.md.txt
rename to content/en/_sources/docs/dependencies.md.txt
diff --git a/_sources/docs/device.rst.txt b/content/en/_sources/docs/device.rst.txt
similarity index 100%
rename from _sources/docs/device.rst.txt
rename to content/en/_sources/docs/device.rst.txt
diff --git a/_sources/docs/docker.md.txt b/content/en/_sources/docs/docker.md.txt
similarity index 100%
rename from _sources/docs/docker.md.txt
rename to content/en/_sources/docs/docker.md.txt
diff --git a/_sources/docs/image_tool.rst.txt b/content/en/_sources/docs/image_tool.rst.txt
similarity index 100%
rename from _sources/docs/image_tool.rst.txt
rename to content/en/_sources/docs/image_tool.rst.txt
diff --git a/en/_sources/docs/index.rst.txt b/content/en/_sources/docs/index.rst.txt
similarity index 100%
rename from en/_sources/docs/index.rst.txt
rename to content/en/_sources/docs/index.rst.txt
diff --git a/_sources/docs/initializer.rst.txt b/content/en/_sources/docs/initializer.rst.txt
similarity index 100%
rename from _sources/docs/initializer.rst.txt
rename to content/en/_sources/docs/initializer.rst.txt
diff --git a/_sources/docs/install_macos1013.rst.txt b/content/en/_sources/docs/install_macos1013.rst.txt
similarity index 100%
rename from _sources/docs/install_macos1013.rst.txt
rename to content/en/_sources/docs/install_macos1013.rst.txt
diff --git a/_sources/docs/install_win.rst.txt b/content/en/_sources/docs/install_win.rst.txt
similarity index 100%
rename from _sources/docs/install_win.rst.txt
rename to content/en/_sources/docs/install_win.rst.txt
diff --git a/_sources/docs/installation.md.txt b/content/en/_sources/docs/installation.md.txt
similarity index 100%
rename from _sources/docs/installation.md.txt
rename to content/en/_sources/docs/installation.md.txt
diff --git a/_sources/docs/layer.rst.txt b/content/en/_sources/docs/layer.rst.txt
similarity index 100%
rename from _sources/docs/layer.rst.txt
rename to content/en/_sources/docs/layer.rst.txt
diff --git a/_sources/docs/loss.rst.txt b/content/en/_sources/docs/loss.rst.txt
similarity index 100%
rename from _sources/docs/loss.rst.txt
rename to content/en/_sources/docs/loss.rst.txt
diff --git a/_sources/docs/metric.rst.txt b/content/en/_sources/docs/metric.rst.txt
similarity index 100%
rename from _sources/docs/metric.rst.txt
rename to content/en/_sources/docs/metric.rst.txt
diff --git a/_sources/docs/model_zoo/caffe/README.md.txt b/content/en/_sources/docs/model_zoo/caffe/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/caffe/README.md.txt
rename to content/en/_sources/docs/model_zoo/caffe/README.md.txt
diff --git a/_sources/docs/model_zoo/char-rnn/README.md.txt b/content/en/_sources/docs/model_zoo/char-rnn/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/char-rnn/README.md.txt
rename to content/en/_sources/docs/model_zoo/char-rnn/README.md.txt
diff --git a/_sources/docs/model_zoo/cifar10/README.md.txt b/content/en/_sources/docs/model_zoo/cifar10/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/cifar10/README.md.txt
rename to content/en/_sources/docs/model_zoo/cifar10/README.md.txt
diff --git a/_sources/docs/model_zoo/examples/caffe/README.md.txt b/content/en/_sources/docs/model_zoo/examples/caffe/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/caffe/README.md.txt
rename to content/en/_sources/docs/model_zoo/examples/caffe/README.md.txt
diff --git a/_sources/docs/model_zoo/examples/char-rnn/README.md.txt b/content/en/_sources/docs/model_zoo/examples/char-rnn/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/char-rnn/README.md.txt
rename to content/en/_sources/docs/model_zoo/examples/char-rnn/README.md.txt
diff --git a/_sources/docs/model_zoo/examples/cifar10/README.md.txt b/content/en/_sources/docs/model_zoo/examples/cifar10/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/cifar10/README.md.txt
rename to content/en/_sources/docs/model_zoo/examples/cifar10/README.md.txt
diff --git a/_sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt b/content/en/_sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt
rename to content/en/_sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt
diff --git a/_sources/docs/model_zoo/imagenet/densenet/README.md.txt b/content/en/_sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/imagenet/densenet/README.md.txt
rename to content/en/_sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt
diff --git a/en/_sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt b/content/en/_sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt
rename to content/en/_sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt
diff --git a/en/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt b/content/en/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
rename to content/en/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
diff --git a/en/_sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt b/content/en/_sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt
rename to content/en/_sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt
diff --git a/en/_sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt b/content/en/_sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt
similarity index 100%
rename from en/_sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt
rename to content/en/_sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt
diff --git a/_sources/docs/model_zoo/examples/index.rst.txt b/content/en/_sources/docs/model_zoo/examples/index.rst.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/index.rst.txt
rename to content/en/_sources/docs/model_zoo/examples/index.rst.txt
diff --git a/_sources/docs/model_zoo/examples/mnist/README.md.txt b/content/en/_sources/docs/model_zoo/examples/mnist/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/mnist/README.md.txt
rename to content/en/_sources/docs/model_zoo/examples/mnist/README.md.txt
diff --git a/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt b/content/en/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/imagenet/alexnet/README.md.txt
rename to content/en/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
diff --git a/_sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt b/content/en/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt
rename to content/en/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
diff --git a/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt b/content/en/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/imagenet/googlenet/README.md.txt
rename to content/en/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
diff --git a/_sources/docs/model_zoo/imagenet/inception/README.md.txt b/content/en/_sources/docs/model_zoo/imagenet/inception/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/imagenet/inception/README.md.txt
rename to content/en/_sources/docs/model_zoo/imagenet/inception/README.md.txt
diff --git a/_sources/docs/model_zoo/imagenet/resnet/README.md.txt b/content/en/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/imagenet/resnet/README.md.txt
rename to content/en/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
diff --git a/_sources/docs/model_zoo/imagenet/vgg/README.md.txt b/content/en/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/imagenet/vgg/README.md.txt
rename to content/en/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
diff --git a/_sources/docs/model_zoo/index.rst.txt b/content/en/_sources/docs/model_zoo/index.rst.txt
similarity index 100%
rename from _sources/docs/model_zoo/index.rst.txt
rename to content/en/_sources/docs/model_zoo/index.rst.txt
diff --git a/_sources/docs/model_zoo/mnist/README.md.txt b/content/en/_sources/docs/model_zoo/mnist/README.md.txt
similarity index 100%
rename from _sources/docs/model_zoo/mnist/README.md.txt
rename to content/en/_sources/docs/model_zoo/mnist/README.md.txt
diff --git a/_sources/docs/net.rst.txt b/content/en/_sources/docs/net.rst.txt
similarity index 100%
rename from _sources/docs/net.rst.txt
rename to content/en/_sources/docs/net.rst.txt
diff --git a/_sources/docs/neural-net.md.txt b/content/en/_sources/docs/neural-net.md.txt
similarity index 100%
rename from _sources/docs/neural-net.md.txt
rename to content/en/_sources/docs/neural-net.md.txt
diff --git a/_sources/docs/notebook/README.md.txt b/content/en/_sources/docs/notebook/README.md.txt
similarity index 100%
rename from _sources/docs/notebook/README.md.txt
rename to content/en/_sources/docs/notebook/README.md.txt
diff --git a/_sources/docs/optimizer.rst.txt b/content/en/_sources/docs/optimizer.rst.txt
similarity index 100%
rename from _sources/docs/optimizer.rst.txt
rename to content/en/_sources/docs/optimizer.rst.txt
diff --git a/_sources/docs/security.rst.txt b/content/en/_sources/docs/security.rst.txt
similarity index 100%
rename from _sources/docs/security.rst.txt
rename to content/en/_sources/docs/security.rst.txt
diff --git a/_sources/docs/snapshot.rst.txt b/content/en/_sources/docs/snapshot.rst.txt
similarity index 100%
rename from _sources/docs/snapshot.rst.txt
rename to content/en/_sources/docs/snapshot.rst.txt
diff --git a/_sources/docs/software_stack.md.txt b/content/en/_sources/docs/software_stack.md.txt
similarity index 100%
rename from _sources/docs/software_stack.md.txt
rename to content/en/_sources/docs/software_stack.md.txt
diff --git a/_sources/docs/tensor.rst.txt b/content/en/_sources/docs/tensor.rst.txt
similarity index 100%
rename from _sources/docs/tensor.rst.txt
rename to content/en/_sources/docs/tensor.rst.txt
diff --git a/_sources/docs/utils.rst.txt b/content/en/_sources/docs/utils.rst.txt
similarity index 100%
rename from _sources/docs/utils.rst.txt
rename to content/en/_sources/docs/utils.rst.txt
diff --git a/en/_sources/downloads.md.txt b/content/en/_sources/downloads.md.txt
similarity index 100%
rename from en/_sources/downloads.md.txt
rename to content/en/_sources/downloads.md.txt
diff --git a/en/_sources/index.rst.txt b/content/en/_sources/index.rst.txt
similarity index 100%
rename from en/_sources/index.rst.txt
rename to content/en/_sources/index.rst.txt
diff --git a/_sources/releases/RELEASE_NOTES_0.1.0.md.txt b/content/en/_sources/releases/RELEASE_NOTES_0.1.0.md.txt
similarity index 100%
rename from _sources/releases/RELEASE_NOTES_0.1.0.md.txt
rename to content/en/_sources/releases/RELEASE_NOTES_0.1.0.md.txt
diff --git a/_sources/releases/RELEASE_NOTES_0.2.0.md.txt b/content/en/_sources/releases/RELEASE_NOTES_0.2.0.md.txt
similarity index 100%
rename from _sources/releases/RELEASE_NOTES_0.2.0.md.txt
rename to content/en/_sources/releases/RELEASE_NOTES_0.2.0.md.txt
diff --git a/_sources/releases/RELEASE_NOTES_0.3.0.md.txt b/content/en/_sources/releases/RELEASE_NOTES_0.3.0.md.txt
similarity index 100%
rename from _sources/releases/RELEASE_NOTES_0.3.0.md.txt
rename to content/en/_sources/releases/RELEASE_NOTES_0.3.0.md.txt
diff --git a/_sources/releases/RELEASE_NOTES_1.0.0.md.txt b/content/en/_sources/releases/RELEASE_NOTES_1.0.0.md.txt
similarity index 100%
rename from _sources/releases/RELEASE_NOTES_1.0.0.md.txt
rename to content/en/_sources/releases/RELEASE_NOTES_1.0.0.md.txt
diff --git a/_sources/releases/RELEASE_NOTES_1.1.0.md.txt b/content/en/_sources/releases/RELEASE_NOTES_1.1.0.md.txt
similarity index 100%
rename from _sources/releases/RELEASE_NOTES_1.1.0.md.txt
rename to content/en/_sources/releases/RELEASE_NOTES_1.1.0.md.txt
diff --git a/_sources/releases/RELEASE_NOTES_1.2.0.md.txt b/content/en/_sources/releases/RELEASE_NOTES_1.2.0.md.txt
similarity index 100%
rename from _sources/releases/RELEASE_NOTES_1.2.0.md.txt
rename to content/en/_sources/releases/RELEASE_NOTES_1.2.0.md.txt
diff --git a/_sources/releases/RELEASE_NOTES_2.0.0.md.txt b/content/en/_sources/releases/RELEASE_NOTES_2.0.0.md.txt
similarity index 100%
rename from _sources/releases/RELEASE_NOTES_2.0.0.md.txt
rename to content/en/_sources/releases/RELEASE_NOTES_2.0.0.md.txt
diff --git a/v1.1.0/_static/ajax-loader.gif b/content/en/_static/ajax-loader.gif
similarity index 100%
rename from v1.1.0/_static/ajax-loader.gif
rename to content/en/_static/ajax-loader.gif
diff --git a/en/_static/apache.png b/content/en/_static/apache.png
similarity index 100%
rename from en/_static/apache.png
rename to content/en/_static/apache.png
diff --git a/en/_static/awsmp.gif b/content/en/_static/awsmp.gif
similarity index 100%
rename from en/_static/awsmp.gif
rename to content/en/_static/awsmp.gif
diff --git a/en/_static/basic.css b/content/en/_static/basic.css
similarity index 100%
rename from en/_static/basic.css
rename to content/en/_static/basic.css
diff --git a/en/_static/comment-bright.png b/content/en/_static/comment-bright.png
similarity index 100%
rename from en/_static/comment-bright.png
rename to content/en/_static/comment-bright.png
diff --git a/en/_static/comment-close.png b/content/en/_static/comment-close.png
similarity index 100%
rename from en/_static/comment-close.png
rename to content/en/_static/comment-close.png
diff --git a/en/_static/comment.png b/content/en/_static/comment.png
similarity index 100%
rename from en/_static/comment.png
rename to content/en/_static/comment.png
diff --git a/en/_static/css/badge_only.css b/content/en/_static/css/badge_only.css
similarity index 100%
rename from en/_static/css/badge_only.css
rename to content/en/_static/css/badge_only.css
diff --git a/en/_static/css/theme.css b/content/en/_static/css/theme.css
similarity index 100%
rename from en/_static/css/theme.css
rename to content/en/_static/css/theme.css
diff --git a/en/_static/docker.png b/content/en/_static/docker.png
similarity index 100%
rename from en/_static/docker.png
rename to content/en/_static/docker.png
diff --git a/en/_static/doctools.js b/content/en/_static/doctools.js
similarity index 100%
rename from en/_static/doctools.js
rename to content/en/_static/doctools.js
diff --git a/en/_static/documentation_options.js b/content/en/_static/documentation_options.js
similarity index 100%
rename from en/_static/documentation_options.js
rename to content/en/_static/documentation_options.js
diff --git a/en/_static/down-pressed.png b/content/en/_static/down-pressed.png
similarity index 100%
rename from en/_static/down-pressed.png
rename to content/en/_static/down-pressed.png
diff --git a/en/_static/down.png b/content/en/_static/down.png
similarity index 100%
rename from en/_static/down.png
rename to content/en/_static/down.png
diff --git a/en/_static/file.png b/content/en/_static/file.png
similarity index 100%
rename from en/_static/file.png
rename to content/en/_static/file.png
diff --git a/en/_static/fonts/Inconsolata-Bold.ttf b/content/en/_static/fonts/Inconsolata-Bold.ttf
similarity index 100%
rename from en/_static/fonts/Inconsolata-Bold.ttf
rename to content/en/_static/fonts/Inconsolata-Bold.ttf
diff --git a/en/_static/fonts/Inconsolata-Regular.ttf b/content/en/_static/fonts/Inconsolata-Regular.ttf
similarity index 100%
rename from en/_static/fonts/Inconsolata-Regular.ttf
rename to content/en/_static/fonts/Inconsolata-Regular.ttf
diff --git a/en/_static/fonts/Inconsolata.ttf b/content/en/_static/fonts/Inconsolata.ttf
similarity index 100%
rename from en/_static/fonts/Inconsolata.ttf
rename to content/en/_static/fonts/Inconsolata.ttf
diff --git a/en/_static/fonts/Lato-Bold.ttf b/content/en/_static/fonts/Lato-Bold.ttf
similarity index 100%
rename from en/_static/fonts/Lato-Bold.ttf
rename to content/en/_static/fonts/Lato-Bold.ttf
diff --git a/zh/_static/fonts/Lato-BoldItalic.ttf b/content/en/_static/fonts/Lato-BoldItalic.ttf
similarity index 100%
rename from zh/_static/fonts/Lato-BoldItalic.ttf
rename to content/en/_static/fonts/Lato-BoldItalic.ttf
diff --git a/zh/_static/fonts/Lato-Italic.ttf b/content/en/_static/fonts/Lato-Italic.ttf
similarity index 100%
rename from zh/_static/fonts/Lato-Italic.ttf
rename to content/en/_static/fonts/Lato-Italic.ttf
diff --git a/en/_static/fonts/Lato-Regular.ttf b/content/en/_static/fonts/Lato-Regular.ttf
similarity index 100%
rename from en/_static/fonts/Lato-Regular.ttf
rename to content/en/_static/fonts/Lato-Regular.ttf
diff --git a/en/_static/fonts/Lato/lato-bold.eot b/content/en/_static/fonts/Lato/lato-bold.eot
similarity index 100%
rename from en/_static/fonts/Lato/lato-bold.eot
rename to content/en/_static/fonts/Lato/lato-bold.eot
diff --git a/en/_static/fonts/Lato/lato-bold.ttf b/content/en/_static/fonts/Lato/lato-bold.ttf
similarity index 100%
rename from en/_static/fonts/Lato/lato-bold.ttf
rename to content/en/_static/fonts/Lato/lato-bold.ttf
diff --git a/en/_static/fonts/Lato/lato-bold.woff b/content/en/_static/fonts/Lato/lato-bold.woff
similarity index 100%
rename from en/_static/fonts/Lato/lato-bold.woff
rename to content/en/_static/fonts/Lato/lato-bold.woff
diff --git a/en/_static/fonts/Lato/lato-bold.woff2 b/content/en/_static/fonts/Lato/lato-bold.woff2
similarity index 100%
rename from en/_static/fonts/Lato/lato-bold.woff2
rename to content/en/_static/fonts/Lato/lato-bold.woff2
diff --git a/en/_static/fonts/Lato/lato-bolditalic.eot b/content/en/_static/fonts/Lato/lato-bolditalic.eot
similarity index 100%
rename from en/_static/fonts/Lato/lato-bolditalic.eot
rename to content/en/_static/fonts/Lato/lato-bolditalic.eot
diff --git a/en/_static/fonts/Lato/lato-bolditalic.ttf b/content/en/_static/fonts/Lato/lato-bolditalic.ttf
similarity index 100%
rename from en/_static/fonts/Lato/lato-bolditalic.ttf
rename to content/en/_static/fonts/Lato/lato-bolditalic.ttf
diff --git a/en/_static/fonts/Lato/lato-bolditalic.woff b/content/en/_static/fonts/Lato/lato-bolditalic.woff
similarity index 100%
rename from en/_static/fonts/Lato/lato-bolditalic.woff
rename to content/en/_static/fonts/Lato/lato-bolditalic.woff
diff --git a/en/_static/fonts/Lato/lato-bolditalic.woff2 b/content/en/_static/fonts/Lato/lato-bolditalic.woff2
similarity index 100%
rename from en/_static/fonts/Lato/lato-bolditalic.woff2
rename to content/en/_static/fonts/Lato/lato-bolditalic.woff2
diff --git a/en/_static/fonts/Lato/lato-italic.eot b/content/en/_static/fonts/Lato/lato-italic.eot
similarity index 100%
rename from en/_static/fonts/Lato/lato-italic.eot
rename to content/en/_static/fonts/Lato/lato-italic.eot
diff --git a/en/_static/fonts/Lato/lato-italic.ttf b/content/en/_static/fonts/Lato/lato-italic.ttf
similarity index 100%
rename from en/_static/fonts/Lato/lato-italic.ttf
rename to content/en/_static/fonts/Lato/lato-italic.ttf
diff --git a/en/_static/fonts/Lato/lato-italic.woff b/content/en/_static/fonts/Lato/lato-italic.woff
similarity index 100%
rename from en/_static/fonts/Lato/lato-italic.woff
rename to content/en/_static/fonts/Lato/lato-italic.woff
diff --git a/en/_static/fonts/Lato/lato-italic.woff2 b/content/en/_static/fonts/Lato/lato-italic.woff2
similarity index 100%
rename from en/_static/fonts/Lato/lato-italic.woff2
rename to content/en/_static/fonts/Lato/lato-italic.woff2
diff --git a/en/_static/fonts/Lato/lato-regular.eot b/content/en/_static/fonts/Lato/lato-regular.eot
similarity index 100%
rename from en/_static/fonts/Lato/lato-regular.eot
rename to content/en/_static/fonts/Lato/lato-regular.eot
diff --git a/en/_static/fonts/Lato/lato-regular.ttf b/content/en/_static/fonts/Lato/lato-regular.ttf
similarity index 100%
rename from en/_static/fonts/Lato/lato-regular.ttf
rename to content/en/_static/fonts/Lato/lato-regular.ttf
diff --git a/en/_static/fonts/Lato/lato-regular.woff b/content/en/_static/fonts/Lato/lato-regular.woff
similarity index 100%
rename from en/_static/fonts/Lato/lato-regular.woff
rename to content/en/_static/fonts/Lato/lato-regular.woff
diff --git a/en/_static/fonts/Lato/lato-regular.woff2 b/content/en/_static/fonts/Lato/lato-regular.woff2
similarity index 100%
rename from en/_static/fonts/Lato/lato-regular.woff2
rename to content/en/_static/fonts/Lato/lato-regular.woff2
diff --git a/v1.1.0/_static/fonts/RobotoSlab-Bold.ttf b/content/en/_static/fonts/RobotoSlab-Bold.ttf
similarity index 100%
rename from v1.1.0/_static/fonts/RobotoSlab-Bold.ttf
rename to content/en/_static/fonts/RobotoSlab-Bold.ttf
diff --git a/v1.1.0/_static/fonts/RobotoSlab-Regular.ttf b/content/en/_static/fonts/RobotoSlab-Regular.ttf
similarity index 100%
rename from v1.1.0/_static/fonts/RobotoSlab-Regular.ttf
rename to content/en/_static/fonts/RobotoSlab-Regular.ttf
diff --git a/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/content/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
similarity index 100%
rename from en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
rename to content/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
diff --git a/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/content/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
similarity index 100%
rename from en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
rename to content/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
diff --git a/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/content/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
similarity index 100%
rename from en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
rename to content/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
diff --git a/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/content/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
similarity index 100%
rename from en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
rename to content/en/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
diff --git a/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/content/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
similarity index 100%
rename from en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
rename to content/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
diff --git a/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/content/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
similarity index 100%
rename from en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
rename to content/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
diff --git a/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/content/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
similarity index 100%
rename from en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
rename to content/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
diff --git a/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/content/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
similarity index 100%
rename from en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
rename to content/en/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
diff --git a/en/_static/fonts/fontawesome-webfont.eot b/content/en/_static/fonts/fontawesome-webfont.eot
similarity index 100%
rename from en/_static/fonts/fontawesome-webfont.eot
rename to content/en/_static/fonts/fontawesome-webfont.eot
diff --git a/en/_static/fonts/fontawesome-webfont.svg b/content/en/_static/fonts/fontawesome-webfont.svg
similarity index 100%
rename from en/_static/fonts/fontawesome-webfont.svg
rename to content/en/_static/fonts/fontawesome-webfont.svg
diff --git a/en/_static/fonts/fontawesome-webfont.ttf b/content/en/_static/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from en/_static/fonts/fontawesome-webfont.ttf
rename to content/en/_static/fonts/fontawesome-webfont.ttf
diff --git a/en/_static/fonts/fontawesome-webfont.woff b/content/en/_static/fonts/fontawesome-webfont.woff
similarity index 100%
rename from en/_static/fonts/fontawesome-webfont.woff
rename to content/en/_static/fonts/fontawesome-webfont.woff
diff --git a/en/_static/fonts/fontawesome-webfont.woff2 b/content/en/_static/fonts/fontawesome-webfont.woff2
similarity index 100%
rename from en/_static/fonts/fontawesome-webfont.woff2
rename to content/en/_static/fonts/fontawesome-webfont.woff2
diff --git a/en/_static/github.png b/content/en/_static/github.png
similarity index 100%
rename from en/_static/github.png
rename to content/en/_static/github.png
diff --git a/en/_static/images/benchmark.png b/content/en/_static/images/benchmark.png
similarity index 100%
rename from en/_static/images/benchmark.png
rename to content/en/_static/images/benchmark.png
diff --git a/v1.1.0/_static/images/mlp-net.png b/content/en/_static/images/mlp-net.png
similarity index 100%
rename from v1.1.0/_static/images/mlp-net.png
rename to content/en/_static/images/mlp-net.png
diff --git a/v1.1.0/_static/images/model-category.png b/content/en/_static/images/model-category.png
similarity index 100%
rename from v1.1.0/_static/images/model-category.png
rename to content/en/_static/images/model-category.png
diff --git a/v1.1.0/_static/images/overview.png b/content/en/_static/images/overview.png
similarity index 100%
rename from v1.1.0/_static/images/overview.png
rename to content/en/_static/images/overview.png
diff --git a/v1.1.0/_static/images/partition_fc.png b/content/en/_static/images/partition_fc.png
similarity index 100%
rename from v1.1.0/_static/images/partition_fc.png
rename to content/en/_static/images/partition_fc.png
diff --git a/v1.1.0/_static/images/rbm-rnn.png b/content/en/_static/images/rbm-rnn.png
similarity index 100%
rename from v1.1.0/_static/images/rbm-rnn.png
rename to content/en/_static/images/rbm-rnn.png
diff --git a/v1.1.0/_static/images/sgd.png b/content/en/_static/images/sgd.png
similarity index 100%
rename from v1.1.0/_static/images/sgd.png
rename to content/en/_static/images/sgd.png
diff --git a/v1.1.0/_static/images/singa.png b/content/en/_static/images/singa.png
similarity index 100%
rename from v1.1.0/_static/images/singa.png
rename to content/en/_static/images/singa.png
diff --git a/v1.1.0/_static/images/singav1-sw.png b/content/en/_static/images/singav1-sw.png
similarity index 100%
rename from v1.1.0/_static/images/singav1-sw.png
rename to content/en/_static/images/singav1-sw.png
diff --git a/en/_static/jquery-3.2.1.js b/content/en/_static/jquery-3.2.1.js
similarity index 100%
rename from en/_static/jquery-3.2.1.js
rename to content/en/_static/jquery-3.2.1.js
diff --git a/en/_static/jquery.js b/content/en/_static/jquery.js
similarity index 100%
rename from en/_static/jquery.js
rename to content/en/_static/jquery.js
diff --git a/v0.3.0/zh/_static/js/modernizr.min.js b/content/en/_static/js/modernizr.min.js
similarity index 100%
rename from v0.3.0/zh/_static/js/modernizr.min.js
rename to content/en/_static/js/modernizr.min.js
diff --git a/en/_static/js/theme.js b/content/en/_static/js/theme.js
similarity index 100%
rename from en/_static/js/theme.js
rename to content/en/_static/js/theme.js
diff --git a/en/_static/jupyter.png b/content/en/_static/jupyter.png
similarity index 100%
rename from en/_static/jupyter.png
rename to content/en/_static/jupyter.png
diff --git a/en/_static/language_data.js b/content/en/_static/language_data.js
similarity index 100%
rename from en/_static/language_data.js
rename to content/en/_static/language_data.js
diff --git a/en/_static/minus.png b/content/en/_static/minus.png
similarity index 100%
rename from en/_static/minus.png
rename to content/en/_static/minus.png
diff --git a/en/_static/plus.png b/content/en/_static/plus.png
similarity index 100%
rename from en/_static/plus.png
rename to content/en/_static/plus.png
diff --git a/en/_static/pygments.css b/content/en/_static/pygments.css
similarity index 100%
rename from en/_static/pygments.css
rename to content/en/_static/pygments.css
diff --git a/en/_static/searchtools.js b/content/en/_static/searchtools.js
similarity index 100%
rename from en/_static/searchtools.js
rename to content/en/_static/searchtools.js
diff --git a/v1.1.0/_static/singa.png b/content/en/_static/singa.png
similarity index 100%
rename from v1.1.0/_static/singa.png
rename to content/en/_static/singa.png
diff --git a/en/_static/style.css b/content/en/_static/style.css
similarity index 100%
rename from en/_static/style.css
rename to content/en/_static/style.css
diff --git a/v1.1.0/_static/underscore-1.3.1.js b/content/en/_static/underscore-1.3.1.js
similarity index 100%
rename from v1.1.0/_static/underscore-1.3.1.js
rename to content/en/_static/underscore-1.3.1.js
diff --git a/v0.3.0/zh/_static/underscore.js b/content/en/_static/underscore.js
similarity index 100%
rename from v0.3.0/zh/_static/underscore.js
rename to content/en/_static/underscore.js
diff --git a/en/_static/up-pressed.png b/content/en/_static/up-pressed.png
similarity index 100%
rename from en/_static/up-pressed.png
rename to content/en/_static/up-pressed.png
diff --git a/en/_static/up.png b/content/en/_static/up.png
similarity index 100%
rename from en/_static/up.png
rename to content/en/_static/up.png
diff --git a/zh/_static/websupport.js b/content/en/_static/websupport.js
similarity index 100%
rename from zh/_static/websupport.js
rename to content/en/_static/websupport.js
diff --git a/en/community/issue-tracking.html b/content/en/community/issue-tracking.html
similarity index 100%
rename from en/community/issue-tracking.html
rename to content/en/community/issue-tracking.html
diff --git a/en/community/mail-lists.html b/content/en/community/mail-lists.html
similarity index 100%
rename from en/community/mail-lists.html
rename to content/en/community/mail-lists.html
diff --git a/en/community/source-repository.html b/content/en/community/source-repository.html
similarity index 100%
rename from en/community/source-repository.html
rename to content/en/community/source-repository.html
diff --git a/en/community/team-list.html b/content/en/community/team-list.html
similarity index 100%
rename from en/community/team-list.html
rename to content/en/community/team-list.html
diff --git a/en/develop/build.html b/content/en/develop/build.html
similarity index 100%
rename from en/develop/build.html
rename to content/en/develop/build.html
diff --git a/en/develop/contribute-code.html b/content/en/develop/contribute-code.html
similarity index 100%
rename from en/develop/contribute-code.html
rename to content/en/develop/contribute-code.html
diff --git a/en/develop/contribute-docs.html b/content/en/develop/contribute-docs.html
similarity index 100%
rename from en/develop/contribute-docs.html
rename to content/en/develop/contribute-docs.html
diff --git a/en/develop/how-contribute.html b/content/en/develop/how-contribute.html
similarity index 100%
rename from en/develop/how-contribute.html
rename to content/en/develop/how-contribute.html
diff --git a/en/develop/how-to-release.html b/content/en/develop/how-to-release.html
similarity index 100%
rename from en/develop/how-to-release.html
rename to content/en/develop/how-to-release.html
diff --git a/en/develop/schedule.html b/content/en/develop/schedule.html
similarity index 100%
rename from en/develop/schedule.html
rename to content/en/develop/schedule.html
diff --git a/en/docs.html b/content/en/docs.html
similarity index 100%
rename from en/docs.html
rename to content/en/docs.html
diff --git a/en/docs/autograd.html b/content/en/docs/autograd.html
similarity index 100%
rename from en/docs/autograd.html
rename to content/en/docs/autograd.html
diff --git a/en/docs/benchmark.html b/content/en/docs/benchmark.html
similarity index 100%
rename from en/docs/benchmark.html
rename to content/en/docs/benchmark.html
diff --git a/en/docs/cnn.html b/content/en/docs/cnn.html
similarity index 100%
rename from en/docs/cnn.html
rename to content/en/docs/cnn.html
diff --git a/en/docs/converter.html b/content/en/docs/converter.html
similarity index 100%
rename from en/docs/converter.html
rename to content/en/docs/converter.html
diff --git a/en/docs/data.html b/content/en/docs/data.html
similarity index 100%
rename from en/docs/data.html
rename to content/en/docs/data.html
diff --git a/en/docs/dependencies.html b/content/en/docs/dependencies.html
similarity index 100%
rename from en/docs/dependencies.html
rename to content/en/docs/dependencies.html
diff --git a/en/docs/device.html b/content/en/docs/device.html
similarity index 100%
rename from en/docs/device.html
rename to content/en/docs/device.html
diff --git a/en/docs/docker.html b/content/en/docs/docker.html
similarity index 100%
rename from en/docs/docker.html
rename to content/en/docs/docker.html
diff --git a/en/docs/image_tool.html b/content/en/docs/image_tool.html
similarity index 100%
rename from en/docs/image_tool.html
rename to content/en/docs/image_tool.html
diff --git a/en/docs/index.html b/content/en/docs/index.html
similarity index 100%
rename from en/docs/index.html
rename to content/en/docs/index.html
diff --git a/en/docs/initializer.html b/content/en/docs/initializer.html
similarity index 100%
rename from en/docs/initializer.html
rename to content/en/docs/initializer.html
diff --git a/en/docs/install_macos1013.html b/content/en/docs/install_macos1013.html
similarity index 100%
rename from en/docs/install_macos1013.html
rename to content/en/docs/install_macos1013.html
diff --git a/en/docs/install_win.html b/content/en/docs/install_win.html
similarity index 100%
rename from en/docs/install_win.html
rename to content/en/docs/install_win.html
diff --git a/en/docs/installation.html b/content/en/docs/installation.html
similarity index 100%
rename from en/docs/installation.html
rename to content/en/docs/installation.html
diff --git a/en/docs/layer.html b/content/en/docs/layer.html
similarity index 100%
rename from en/docs/layer.html
rename to content/en/docs/layer.html
diff --git a/en/docs/loss.html b/content/en/docs/loss.html
similarity index 100%
rename from en/docs/loss.html
rename to content/en/docs/loss.html
diff --git a/en/docs/metric.html b/content/en/docs/metric.html
similarity index 100%
rename from en/docs/metric.html
rename to content/en/docs/metric.html
diff --git a/en/docs/model_zoo/caffe/README.html b/content/en/docs/model_zoo/caffe/README.html
similarity index 100%
rename from en/docs/model_zoo/caffe/README.html
rename to content/en/docs/model_zoo/caffe/README.html
diff --git a/en/docs/model_zoo/char-rnn/README.html b/content/en/docs/model_zoo/char-rnn/README.html
similarity index 100%
rename from en/docs/model_zoo/char-rnn/README.html
rename to content/en/docs/model_zoo/char-rnn/README.html
diff --git a/en/docs/model_zoo/cifar10/README.html b/content/en/docs/model_zoo/cifar10/README.html
similarity index 100%
rename from en/docs/model_zoo/cifar10/README.html
rename to content/en/docs/model_zoo/cifar10/README.html
diff --git a/en/docs/model_zoo/examples/caffe/README.html b/content/en/docs/model_zoo/examples/caffe/README.html
similarity index 100%
rename from en/docs/model_zoo/examples/caffe/README.html
rename to content/en/docs/model_zoo/examples/caffe/README.html
diff --git a/en/docs/model_zoo/examples/char-rnn/README.html b/content/en/docs/model_zoo/examples/char-rnn/README.html
similarity index 100%
rename from en/docs/model_zoo/examples/char-rnn/README.html
rename to content/en/docs/model_zoo/examples/char-rnn/README.html
diff --git a/en/docs/model_zoo/examples/cifar10/README.html b/content/en/docs/model_zoo/examples/cifar10/README.html
similarity index 100%
rename from en/docs/model_zoo/examples/cifar10/README.html
rename to content/en/docs/model_zoo/examples/cifar10/README.html
diff --git a/en/docs/model_zoo/examples/imagenet/alexnet/README.html b/content/en/docs/model_zoo/examples/imagenet/alexnet/README.html
similarity index 100%
rename from en/docs/model_zoo/examples/imagenet/alexnet/README.html
rename to content/en/docs/model_zoo/examples/imagenet/alexnet/README.html
diff --git a/en/docs/model_zoo/examples/imagenet/densenet/README.html b/content/en/docs/model_zoo/examples/imagenet/densenet/README.html
similarity index 100%
rename from en/docs/model_zoo/examples/imagenet/densenet/README.html
rename to content/en/docs/model_zoo/examples/imagenet/densenet/README.html
diff --git a/en/docs/model_zoo/examples/imagenet/googlenet/README.html b/content/en/docs/model_zoo/examples/imagenet/googlenet/README.html
similarity index 100%
rename from en/docs/model_zoo/examples/imagenet/googlenet/README.html
rename to content/en/docs/model_zoo/examples/imagenet/googlenet/README.html
diff --git a/en/docs/model_zoo/examples/imagenet/inception/README.html b/content/en/docs/model_zoo/examples/imagenet/inception/README.html
similarity index 100%
rename from en/docs/model_zoo/examples/imagenet/inception/README.html
rename to content/en/docs/model_zoo/examples/imagenet/inception/README.html
diff --git a/en/docs/model_zoo/examples/imagenet/resnet/README.html b/content/en/docs/model_zoo/examples/imagenet/resnet/README.html
similarity index 100%
rename from en/docs/model_zoo/examples/imagenet/resnet/README.html
rename to content/en/docs/model_zoo/examples/imagenet/resnet/README.html
diff --git a/en/docs/model_zoo/examples/imagenet/vgg/README.html b/content/en/docs/model_zoo/examples/imagenet/vgg/README.html
similarity index 100%
rename from en/docs/model_zoo/examples/imagenet/vgg/README.html
rename to content/en/docs/model_zoo/examples/imagenet/vgg/README.html
diff --git a/en/docs/model_zoo/examples/index.html b/content/en/docs/model_zoo/examples/index.html
similarity index 100%
rename from en/docs/model_zoo/examples/index.html
rename to content/en/docs/model_zoo/examples/index.html
diff --git a/en/docs/model_zoo/examples/mnist/README.html b/content/en/docs/model_zoo/examples/mnist/README.html
similarity index 100%
rename from en/docs/model_zoo/examples/mnist/README.html
rename to content/en/docs/model_zoo/examples/mnist/README.html
diff --git a/en/docs/model_zoo/imagenet/alexnet/README.html b/content/en/docs/model_zoo/imagenet/alexnet/README.html
similarity index 100%
rename from en/docs/model_zoo/imagenet/alexnet/README.html
rename to content/en/docs/model_zoo/imagenet/alexnet/README.html
diff --git a/en/docs/model_zoo/imagenet/densenet/README.html b/content/en/docs/model_zoo/imagenet/densenet/README.html
similarity index 100%
rename from en/docs/model_zoo/imagenet/densenet/README.html
rename to content/en/docs/model_zoo/imagenet/densenet/README.html
diff --git a/en/docs/model_zoo/imagenet/googlenet/README.html b/content/en/docs/model_zoo/imagenet/googlenet/README.html
similarity index 100%
rename from en/docs/model_zoo/imagenet/googlenet/README.html
rename to content/en/docs/model_zoo/imagenet/googlenet/README.html
diff --git a/en/docs/model_zoo/imagenet/inception/README.html b/content/en/docs/model_zoo/imagenet/inception/README.html
similarity index 100%
rename from en/docs/model_zoo/imagenet/inception/README.html
rename to content/en/docs/model_zoo/imagenet/inception/README.html
diff --git a/en/docs/model_zoo/imagenet/resnet/README.html b/content/en/docs/model_zoo/imagenet/resnet/README.html
similarity index 100%
rename from en/docs/model_zoo/imagenet/resnet/README.html
rename to content/en/docs/model_zoo/imagenet/resnet/README.html
diff --git a/en/docs/model_zoo/imagenet/vgg/README.html b/content/en/docs/model_zoo/imagenet/vgg/README.html
similarity index 100%
rename from en/docs/model_zoo/imagenet/vgg/README.html
rename to content/en/docs/model_zoo/imagenet/vgg/README.html
diff --git a/en/docs/model_zoo/index.html b/content/en/docs/model_zoo/index.html
similarity index 100%
rename from en/docs/model_zoo/index.html
rename to content/en/docs/model_zoo/index.html
diff --git a/en/docs/model_zoo/mnist/README.html b/content/en/docs/model_zoo/mnist/README.html
similarity index 100%
rename from en/docs/model_zoo/mnist/README.html
rename to content/en/docs/model_zoo/mnist/README.html
diff --git a/en/docs/net.html b/content/en/docs/net.html
similarity index 100%
rename from en/docs/net.html
rename to content/en/docs/net.html
diff --git a/en/docs/neural-net.html b/content/en/docs/neural-net.html
similarity index 100%
rename from en/docs/neural-net.html
rename to content/en/docs/neural-net.html
diff --git a/en/docs/notebook/README.html b/content/en/docs/notebook/README.html
similarity index 100%
rename from en/docs/notebook/README.html
rename to content/en/docs/notebook/README.html
diff --git a/en/docs/onnx.html b/content/en/docs/onnx.html
similarity index 100%
rename from en/docs/onnx.html
rename to content/en/docs/onnx.html
diff --git a/en/docs/optimizer.html b/content/en/docs/optimizer.html
similarity index 100%
rename from en/docs/optimizer.html
rename to content/en/docs/optimizer.html
diff --git a/en/docs/security.html b/content/en/docs/security.html
similarity index 100%
rename from en/docs/security.html
rename to content/en/docs/security.html
diff --git a/en/docs/snapshot.html b/content/en/docs/snapshot.html
similarity index 100%
rename from en/docs/snapshot.html
rename to content/en/docs/snapshot.html
diff --git a/en/docs/software_stack.html b/content/en/docs/software_stack.html
similarity index 100%
rename from en/docs/software_stack.html
rename to content/en/docs/software_stack.html
diff --git a/en/docs/tensor.html b/content/en/docs/tensor.html
similarity index 100%
rename from en/docs/tensor.html
rename to content/en/docs/tensor.html
diff --git a/en/docs/utils.html b/content/en/docs/utils.html
similarity index 100%
rename from en/docs/utils.html
rename to content/en/docs/utils.html
diff --git a/en/downloads.html b/content/en/downloads.html
similarity index 100%
rename from en/downloads.html
rename to content/en/downloads.html
diff --git a/en/genindex.html b/content/en/genindex.html
similarity index 100%
rename from en/genindex.html
rename to content/en/genindex.html
diff --git a/en/index.html b/content/en/index.html
similarity index 100%
rename from en/index.html
rename to content/en/index.html
diff --git a/en/objects.inv b/content/en/objects.inv
similarity index 100%
rename from en/objects.inv
rename to content/en/objects.inv
diff --git a/en/py-modindex.html b/content/en/py-modindex.html
similarity index 100%
rename from en/py-modindex.html
rename to content/en/py-modindex.html
diff --git a/en/releases/RELEASE_NOTES_0.1.0.html b/content/en/releases/RELEASE_NOTES_0.1.0.html
similarity index 100%
rename from en/releases/RELEASE_NOTES_0.1.0.html
rename to content/en/releases/RELEASE_NOTES_0.1.0.html
diff --git a/en/releases/RELEASE_NOTES_0.2.0.html b/content/en/releases/RELEASE_NOTES_0.2.0.html
similarity index 100%
rename from en/releases/RELEASE_NOTES_0.2.0.html
rename to content/en/releases/RELEASE_NOTES_0.2.0.html
diff --git a/en/releases/RELEASE_NOTES_0.3.0.html b/content/en/releases/RELEASE_NOTES_0.3.0.html
similarity index 100%
rename from en/releases/RELEASE_NOTES_0.3.0.html
rename to content/en/releases/RELEASE_NOTES_0.3.0.html
diff --git a/en/releases/RELEASE_NOTES_1.0.0.html b/content/en/releases/RELEASE_NOTES_1.0.0.html
similarity index 100%
rename from en/releases/RELEASE_NOTES_1.0.0.html
rename to content/en/releases/RELEASE_NOTES_1.0.0.html
diff --git a/en/releases/RELEASE_NOTES_1.1.0.html b/content/en/releases/RELEASE_NOTES_1.1.0.html
similarity index 100%
rename from en/releases/RELEASE_NOTES_1.1.0.html
rename to content/en/releases/RELEASE_NOTES_1.1.0.html
diff --git a/en/releases/RELEASE_NOTES_1.2.0.html b/content/en/releases/RELEASE_NOTES_1.2.0.html
similarity index 100%
rename from en/releases/RELEASE_NOTES_1.2.0.html
rename to content/en/releases/RELEASE_NOTES_1.2.0.html
diff --git a/en/releases/RELEASE_NOTES_2.0.0.html b/content/en/releases/RELEASE_NOTES_2.0.0.html
similarity index 100%
rename from en/releases/RELEASE_NOTES_2.0.0.html
rename to content/en/releases/RELEASE_NOTES_2.0.0.html
diff --git a/en/search.html b/content/en/search.html
similarity index 100%
rename from en/search.html
rename to content/en/search.html
diff --git a/en/searchindex.js b/content/en/searchindex.js
similarity index 100%
rename from en/searchindex.js
rename to content/en/searchindex.js
diff --git a/en/security.html b/content/en/security.html
similarity index 100%
rename from en/security.html
rename to content/en/security.html
diff --git a/genindex.html b/content/genindex.html
similarity index 100%
rename from genindex.html
rename to content/genindex.html
diff --git a/index.html b/content/index.html
similarity index 100%
rename from index.html
rename to content/index.html
diff --git a/objects.inv b/content/objects.inv
similarity index 100%
rename from objects.inv
rename to content/objects.inv
diff --git a/py-modindex.html b/content/py-modindex.html
similarity index 100%
rename from py-modindex.html
rename to content/py-modindex.html
diff --git a/releases/RELEASE_NOTES_0.1.0.html b/content/releases/RELEASE_NOTES_0.1.0.html
similarity index 100%
rename from releases/RELEASE_NOTES_0.1.0.html
rename to content/releases/RELEASE_NOTES_0.1.0.html
diff --git a/releases/RELEASE_NOTES_0.2.0.html b/content/releases/RELEASE_NOTES_0.2.0.html
similarity index 100%
rename from releases/RELEASE_NOTES_0.2.0.html
rename to content/releases/RELEASE_NOTES_0.2.0.html
diff --git a/releases/RELEASE_NOTES_0.3.0.html b/content/releases/RELEASE_NOTES_0.3.0.html
similarity index 100%
rename from releases/RELEASE_NOTES_0.3.0.html
rename to content/releases/RELEASE_NOTES_0.3.0.html
diff --git a/releases/RELEASE_NOTES_1.0.0.html b/content/releases/RELEASE_NOTES_1.0.0.html
similarity index 100%
rename from releases/RELEASE_NOTES_1.0.0.html
rename to content/releases/RELEASE_NOTES_1.0.0.html
diff --git a/releases/RELEASE_NOTES_1.1.0.html b/content/releases/RELEASE_NOTES_1.1.0.html
similarity index 100%
rename from releases/RELEASE_NOTES_1.1.0.html
rename to content/releases/RELEASE_NOTES_1.1.0.html
diff --git a/releases/RELEASE_NOTES_1.2.0.html b/content/releases/RELEASE_NOTES_1.2.0.html
similarity index 100%
rename from releases/RELEASE_NOTES_1.2.0.html
rename to content/releases/RELEASE_NOTES_1.2.0.html
diff --git a/releases/RELEASE_NOTES_2.0.0.html b/content/releases/RELEASE_NOTES_2.0.0.html
similarity index 100%
rename from releases/RELEASE_NOTES_2.0.0.html
rename to content/releases/RELEASE_NOTES_2.0.0.html
diff --git a/search.html b/content/search.html
similarity index 100%
rename from search.html
rename to content/search.html
diff --git a/searchindex.js b/content/searchindex.js
similarity index 100%
rename from searchindex.js
rename to content/searchindex.js
diff --git a/security.html b/content/security.html
similarity index 100%
rename from security.html
rename to content/security.html
diff --git a/v0.3.0/zh/.buildinfo b/content/v0.3.0/en/.buildinfo
similarity index 100%
rename from v0.3.0/zh/.buildinfo
rename to content/v0.3.0/en/.buildinfo
diff --git a/v1.1.0/_sources/community/issue-tracking.txt b/content/v0.3.0/en/_sources/community/issue-tracking.txt
similarity index 100%
rename from v1.1.0/_sources/community/issue-tracking.txt
rename to content/v0.3.0/en/_sources/community/issue-tracking.txt
diff --git a/v0.3.0/en/_sources/community/mail-lists.txt b/content/v0.3.0/en/_sources/community/mail-lists.txt
similarity index 100%
rename from v0.3.0/en/_sources/community/mail-lists.txt
rename to content/v0.3.0/en/_sources/community/mail-lists.txt
diff --git a/v1.1.0/_sources/community/source-repository.txt b/content/v0.3.0/en/_sources/community/source-repository.txt
similarity index 100%
rename from v1.1.0/_sources/community/source-repository.txt
rename to content/v0.3.0/en/_sources/community/source-repository.txt
diff --git a/v0.3.0/en/_sources/community/team-list.txt b/content/v0.3.0/en/_sources/community/team-list.txt
similarity index 100%
rename from v0.3.0/en/_sources/community/team-list.txt
rename to content/v0.3.0/en/_sources/community/team-list.txt
diff --git a/v0.3.0/en/_sources/develop/contribute-code.txt b/content/v0.3.0/en/_sources/develop/contribute-code.txt
similarity index 100%
rename from v0.3.0/en/_sources/develop/contribute-code.txt
rename to content/v0.3.0/en/_sources/develop/contribute-code.txt
diff --git a/v0.3.0/en/_sources/develop/contribute-docs.txt b/content/v0.3.0/en/_sources/develop/contribute-docs.txt
similarity index 100%
rename from v0.3.0/en/_sources/develop/contribute-docs.txt
rename to content/v0.3.0/en/_sources/develop/contribute-docs.txt
diff --git a/v0.3.0/en/_sources/develop/how-contribute.txt b/content/v0.3.0/en/_sources/develop/how-contribute.txt
similarity index 100%
rename from v0.3.0/en/_sources/develop/how-contribute.txt
rename to content/v0.3.0/en/_sources/develop/how-contribute.txt
diff --git a/v0.3.0/en/_sources/develop/schedule.txt b/content/v0.3.0/en/_sources/develop/schedule.txt
similarity index 100%
rename from v0.3.0/en/_sources/develop/schedule.txt
rename to content/v0.3.0/en/_sources/develop/schedule.txt
diff --git a/v0.3.0/en/_sources/docs/architecture.txt b/content/v0.3.0/en/_sources/docs/architecture.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/architecture.txt
rename to content/v0.3.0/en/_sources/docs/architecture.txt
diff --git a/v0.3.0/en/_sources/docs/checkpoint.txt b/content/v0.3.0/en/_sources/docs/checkpoint.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/checkpoint.txt
rename to content/v0.3.0/en/_sources/docs/checkpoint.txt
diff --git a/v0.3.0/en/_sources/docs/cnn.txt b/content/v0.3.0/en/_sources/docs/cnn.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/cnn.txt
rename to content/v0.3.0/en/_sources/docs/cnn.txt
diff --git a/v0.3.0/en/_sources/docs/code-structure.txt b/content/v0.3.0/en/_sources/docs/code-structure.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/code-structure.txt
rename to content/v0.3.0/en/_sources/docs/code-structure.txt
diff --git a/v0.3.0/en/_sources/docs/communication.txt b/content/v0.3.0/en/_sources/docs/communication.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/communication.txt
rename to content/v0.3.0/en/_sources/docs/communication.txt
diff --git a/v0.3.0/en/_sources/docs/data.txt b/content/v0.3.0/en/_sources/docs/data.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/data.txt
rename to content/v0.3.0/en/_sources/docs/data.txt
diff --git a/v0.3.0/en/_sources/docs/debug.txt b/content/v0.3.0/en/_sources/docs/debug.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/debug.txt
rename to content/v0.3.0/en/_sources/docs/debug.txt
diff --git a/v0.3.0/en/_sources/docs/distributed-training.txt b/content/v0.3.0/en/_sources/docs/distributed-training.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/distributed-training.txt
rename to content/v0.3.0/en/_sources/docs/distributed-training.txt
diff --git a/v0.3.0/en/_sources/docs/docker.txt b/content/v0.3.0/en/_sources/docs/docker.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/docker.txt
rename to content/v0.3.0/en/_sources/docs/docker.txt
diff --git a/v0.3.0/en/_sources/docs/examples.txt b/content/v0.3.0/en/_sources/docs/examples.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/examples.txt
rename to content/v0.3.0/en/_sources/docs/examples.txt
diff --git a/v0.3.0/en/_sources/docs/frameworks.txt b/content/v0.3.0/en/_sources/docs/frameworks.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/frameworks.txt
rename to content/v0.3.0/en/_sources/docs/frameworks.txt
diff --git a/v0.3.0/en/_sources/docs/general-rnn.txt b/content/v0.3.0/en/_sources/docs/general-rnn.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/general-rnn.txt
rename to content/v0.3.0/en/_sources/docs/general-rnn.txt
diff --git a/v0.3.0/en/_sources/docs/gpu.txt b/content/v0.3.0/en/_sources/docs/gpu.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/gpu.txt
rename to content/v0.3.0/en/_sources/docs/gpu.txt
diff --git a/v0.3.0/en/_sources/docs/hdfs.txt b/content/v0.3.0/en/_sources/docs/hdfs.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/hdfs.txt
rename to content/v0.3.0/en/_sources/docs/hdfs.txt
diff --git a/v0.3.0/en/_sources/docs/hybrid.txt b/content/v0.3.0/en/_sources/docs/hybrid.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/hybrid.txt
rename to content/v0.3.0/en/_sources/docs/hybrid.txt
diff --git a/v0.3.0/en/_sources/docs/index.txt b/content/v0.3.0/en/_sources/docs/index.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/index.txt
rename to content/v0.3.0/en/_sources/docs/index.txt
diff --git a/v0.3.0/en/_sources/docs/installation.txt b/content/v0.3.0/en/_sources/docs/installation.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/installation.txt
rename to content/v0.3.0/en/_sources/docs/installation.txt
diff --git a/v0.3.0/en/_sources/docs/installation_source.txt b/content/v0.3.0/en/_sources/docs/installation_source.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/installation_source.txt
rename to content/v0.3.0/en/_sources/docs/installation_source.txt
diff --git a/v0.3.0/en/_sources/docs/layer.txt b/content/v0.3.0/en/_sources/docs/layer.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/layer.txt
rename to content/v0.3.0/en/_sources/docs/layer.txt
diff --git a/v0.3.0/kr/_sources/docs/lmdb.txt b/content/v0.3.0/en/_sources/docs/lmdb.txt
similarity index 100%
rename from v0.3.0/kr/_sources/docs/lmdb.txt
rename to content/v0.3.0/en/_sources/docs/lmdb.txt
diff --git a/v0.3.0/en/_sources/docs/mesos.txt b/content/v0.3.0/en/_sources/docs/mesos.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/mesos.txt
rename to content/v0.3.0/en/_sources/docs/mesos.txt
diff --git a/v0.3.0/en/_sources/docs/mlp.txt b/content/v0.3.0/en/_sources/docs/mlp.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/mlp.txt
rename to content/v0.3.0/en/_sources/docs/mlp.txt
diff --git a/v0.3.0/en/_sources/docs/model-config.txt b/content/v0.3.0/en/_sources/docs/model-config.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/model-config.txt
rename to content/v0.3.0/en/_sources/docs/model-config.txt
diff --git a/v0.3.0/en/_sources/docs/neural-net.txt b/content/v0.3.0/en/_sources/docs/neural-net.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/neural-net.txt
rename to content/v0.3.0/en/_sources/docs/neural-net.txt
diff --git a/v0.3.0/en/_sources/docs/neuralnet-partition.txt b/content/v0.3.0/en/_sources/docs/neuralnet-partition.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/neuralnet-partition.txt
rename to content/v0.3.0/en/_sources/docs/neuralnet-partition.txt
diff --git a/v0.3.0/en/_sources/docs/overview.txt b/content/v0.3.0/en/_sources/docs/overview.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/overview.txt
rename to content/v0.3.0/en/_sources/docs/overview.txt
diff --git a/v0.3.0/en/_sources/docs/param.txt b/content/v0.3.0/en/_sources/docs/param.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/param.txt
rename to content/v0.3.0/en/_sources/docs/param.txt
diff --git a/v0.3.0/en/_sources/docs/programming-guide.txt b/content/v0.3.0/en/_sources/docs/programming-guide.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/programming-guide.txt
rename to content/v0.3.0/en/_sources/docs/programming-guide.txt
diff --git a/v0.3.0/en/_sources/docs/python.txt b/content/v0.3.0/en/_sources/docs/python.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/python.txt
rename to content/v0.3.0/en/_sources/docs/python.txt
diff --git a/v0.3.0/en/_sources/docs/python_interactive_training.txt b/content/v0.3.0/en/_sources/docs/python_interactive_training.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/python_interactive_training.txt
rename to content/v0.3.0/en/_sources/docs/python_interactive_training.txt
diff --git a/v0.3.0/en/_sources/docs/quick-start.txt b/content/v0.3.0/en/_sources/docs/quick-start.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/quick-start.txt
rename to content/v0.3.0/en/_sources/docs/quick-start.txt
diff --git a/v0.3.0/en/_sources/docs/rbm.txt b/content/v0.3.0/en/_sources/docs/rbm.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/rbm.txt
rename to content/v0.3.0/en/_sources/docs/rbm.txt
diff --git a/v0.3.0/en/_sources/docs/rnn.txt b/content/v0.3.0/en/_sources/docs/rnn.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/rnn.txt
rename to content/v0.3.0/en/_sources/docs/rnn.txt
diff --git a/v0.3.0/en/_sources/docs/test.txt b/content/v0.3.0/en/_sources/docs/test.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/test.txt
rename to content/v0.3.0/en/_sources/docs/test.txt
diff --git a/v0.3.0/en/_sources/docs/train-one-batch.txt b/content/v0.3.0/en/_sources/docs/train-one-batch.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/train-one-batch.txt
rename to content/v0.3.0/en/_sources/docs/train-one-batch.txt
diff --git a/v0.3.0/en/_sources/docs/updater.txt b/content/v0.3.0/en/_sources/docs/updater.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/updater.txt
rename to content/v0.3.0/en/_sources/docs/updater.txt
diff --git a/v0.3.0/en/_sources/downloads.txt b/content/v0.3.0/en/_sources/downloads.txt
similarity index 100%
rename from v0.3.0/en/_sources/downloads.txt
rename to content/v0.3.0/en/_sources/downloads.txt
diff --git a/v0.3.0/zh/_sources/index.txt b/content/v0.3.0/en/_sources/index.txt
similarity index 100%
rename from v0.3.0/zh/_sources/index.txt
rename to content/v0.3.0/en/_sources/index.txt
diff --git a/v0.3.0/zh/_static/ajax-loader.gif b/content/v0.3.0/en/_static/ajax-loader.gif
similarity index 100%
rename from v0.3.0/zh/_static/ajax-loader.gif
rename to content/v0.3.0/en/_static/ajax-loader.gif
diff --git a/zh/_static/apache.jpg b/content/v0.3.0/en/_static/apache.jpg
similarity index 100%
rename from zh/_static/apache.jpg
rename to content/v0.3.0/en/_static/apache.jpg
diff --git a/v0.3.0/zh/_static/basic.css b/content/v0.3.0/en/_static/basic.css
similarity index 100%
rename from v0.3.0/zh/_static/basic.css
rename to content/v0.3.0/en/_static/basic.css
diff --git a/v1.1.0/_static/comment-bright.png b/content/v0.3.0/en/_static/comment-bright.png
similarity index 100%
rename from v1.1.0/_static/comment-bright.png
rename to content/v0.3.0/en/_static/comment-bright.png
diff --git a/v1.1.0/_static/comment-close.png b/content/v0.3.0/en/_static/comment-close.png
similarity index 100%
rename from v1.1.0/_static/comment-close.png
rename to content/v0.3.0/en/_static/comment-close.png
diff --git a/v1.1.0/_static/comment.png b/content/v0.3.0/en/_static/comment.png
similarity index 100%
rename from v1.1.0/_static/comment.png
rename to content/v0.3.0/en/_static/comment.png
diff --git a/v1.1.0/_static/css/badge_only.css b/content/v0.3.0/en/_static/css/badge_only.css
similarity index 100%
rename from v1.1.0/_static/css/badge_only.css
rename to content/v0.3.0/en/_static/css/badge_only.css
diff --git a/v1.1.0/_static/css/theme.css b/content/v0.3.0/en/_static/css/theme.css
similarity index 100%
rename from v1.1.0/_static/css/theme.css
rename to content/v0.3.0/en/_static/css/theme.css
diff --git a/v0.3.0/zh/_static/doctools.js b/content/v0.3.0/en/_static/doctools.js
similarity index 100%
rename from v0.3.0/zh/_static/doctools.js
rename to content/v0.3.0/en/_static/doctools.js
diff --git a/v1.1.0/_static/down-pressed.png b/content/v0.3.0/en/_static/down-pressed.png
similarity index 100%
rename from v1.1.0/_static/down-pressed.png
rename to content/v0.3.0/en/_static/down-pressed.png
diff --git a/v1.1.0/_static/down.png b/content/v0.3.0/en/_static/down.png
similarity index 100%
rename from v1.1.0/_static/down.png
rename to content/v0.3.0/en/_static/down.png
diff --git a/v1.1.0/_static/file.png b/content/v0.3.0/en/_static/file.png
similarity index 100%
rename from v1.1.0/_static/file.png
rename to content/v0.3.0/en/_static/file.png
diff --git a/v1.1.0/_static/fonts/Inconsolata-Bold.ttf b/content/v0.3.0/en/_static/fonts/Inconsolata-Bold.ttf
similarity index 100%
rename from v1.1.0/_static/fonts/Inconsolata-Bold.ttf
rename to content/v0.3.0/en/_static/fonts/Inconsolata-Bold.ttf
diff --git a/v1.1.0/_static/fonts/Inconsolata-Regular.ttf b/content/v0.3.0/en/_static/fonts/Inconsolata-Regular.ttf
similarity index 100%
rename from v1.1.0/_static/fonts/Inconsolata-Regular.ttf
rename to content/v0.3.0/en/_static/fonts/Inconsolata-Regular.ttf
diff --git a/v0.3.0/zh/_static/fonts/Lato-Bold.ttf b/content/v0.3.0/en/_static/fonts/Lato-Bold.ttf
similarity index 100%
rename from v0.3.0/zh/_static/fonts/Lato-Bold.ttf
rename to content/v0.3.0/en/_static/fonts/Lato-Bold.ttf
diff --git a/v0.3.0/zh/_static/fonts/Lato-Regular.ttf b/content/v0.3.0/en/_static/fonts/Lato-Regular.ttf
similarity index 100%
rename from v0.3.0/zh/_static/fonts/Lato-Regular.ttf
rename to content/v0.3.0/en/_static/fonts/Lato-Regular.ttf
diff --git a/v0.3.0/zh/_static/fonts/RobotoSlab-Bold.ttf b/content/v0.3.0/en/_static/fonts/RobotoSlab-Bold.ttf
similarity index 100%
rename from v0.3.0/zh/_static/fonts/RobotoSlab-Bold.ttf
rename to content/v0.3.0/en/_static/fonts/RobotoSlab-Bold.ttf
diff --git a/v0.3.0/zh/_static/fonts/RobotoSlab-Regular.ttf b/content/v0.3.0/en/_static/fonts/RobotoSlab-Regular.ttf
similarity index 100%
rename from v0.3.0/zh/_static/fonts/RobotoSlab-Regular.ttf
rename to content/v0.3.0/en/_static/fonts/RobotoSlab-Regular.ttf
diff --git a/v0.3.0/zh/_static/fonts/fontawesome-webfont.eot b/content/v0.3.0/en/_static/fonts/fontawesome-webfont.eot
similarity index 100%
rename from v0.3.0/zh/_static/fonts/fontawesome-webfont.eot
rename to content/v0.3.0/en/_static/fonts/fontawesome-webfont.eot
diff --git a/v0.3.0/zh/_static/fonts/fontawesome-webfont.svg b/content/v0.3.0/en/_static/fonts/fontawesome-webfont.svg
similarity index 100%
rename from v0.3.0/zh/_static/fonts/fontawesome-webfont.svg
rename to content/v0.3.0/en/_static/fonts/fontawesome-webfont.svg
diff --git a/v0.3.0/zh/_static/fonts/fontawesome-webfont.ttf b/content/v0.3.0/en/_static/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from v0.3.0/zh/_static/fonts/fontawesome-webfont.ttf
rename to content/v0.3.0/en/_static/fonts/fontawesome-webfont.ttf
diff --git a/v0.3.0/zh/_static/fonts/fontawesome-webfont.woff b/content/v0.3.0/en/_static/fonts/fontawesome-webfont.woff
similarity index 100%
rename from v0.3.0/zh/_static/fonts/fontawesome-webfont.woff
rename to content/v0.3.0/en/_static/fonts/fontawesome-webfont.woff
diff --git a/v0.3.0/zh/_static/images/arch.png b/content/v0.3.0/en/_static/images/arch.png
similarity index 100%
rename from v0.3.0/zh/_static/images/arch.png
rename to content/v0.3.0/en/_static/images/arch.png
diff --git a/v0.3.0/zh/_static/images/arch/arch1.jpg b/content/v0.3.0/en/_static/images/arch/arch1.jpg
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/arch1.jpg
rename to content/v0.3.0/en/_static/images/arch/arch1.jpg
diff --git a/v0.3.0/zh/_static/images/arch/arch1.png b/content/v0.3.0/en/_static/images/arch/arch1.png
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/arch1.png
rename to content/v0.3.0/en/_static/images/arch/arch1.png
diff --git a/v0.3.0/zh/_static/images/arch/arch2.jpg b/content/v0.3.0/en/_static/images/arch/arch2.jpg
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/arch2.jpg
rename to content/v0.3.0/en/_static/images/arch/arch2.jpg
diff --git a/v0.3.0/zh/_static/images/arch/arch2.png b/content/v0.3.0/en/_static/images/arch/arch2.png
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/arch2.png
rename to content/v0.3.0/en/_static/images/arch/arch2.png
diff --git a/v0.3.0/zh/_static/images/arch/arch3.jpg b/content/v0.3.0/en/_static/images/arch/arch3.jpg
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/arch3.jpg
rename to content/v0.3.0/en/_static/images/arch/arch3.jpg
diff --git a/v0.3.0/zh/_static/images/arch/arch3.png b/content/v0.3.0/en/_static/images/arch/arch3.png
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/arch3.png
rename to content/v0.3.0/en/_static/images/arch/arch3.png
diff --git a/v0.3.0/zh/_static/images/arch/arch4.jpg b/content/v0.3.0/en/_static/images/arch/arch4.jpg
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/arch4.jpg
rename to content/v0.3.0/en/_static/images/arch/arch4.jpg
diff --git a/v0.3.0/zh/_static/images/arch/arch4.png b/content/v0.3.0/en/_static/images/arch/arch4.png
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/arch4.png
rename to content/v0.3.0/en/_static/images/arch/arch4.png
diff --git a/v0.3.0/zh/_static/images/arch/comm.png b/content/v0.3.0/en/_static/images/arch/comm.png
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/comm.png
rename to content/v0.3.0/en/_static/images/arch/comm.png
diff --git a/v0.3.0/zh/_static/images/arch/logical.jpg b/content/v0.3.0/en/_static/images/arch/logical.jpg
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/logical.jpg
rename to content/v0.3.0/en/_static/images/arch/logical.jpg
diff --git a/v0.3.0/zh/_static/images/arch/logical.png b/content/v0.3.0/en/_static/images/arch/logical.png
similarity index 100%
rename from v0.3.0/zh/_static/images/arch/logical.png
rename to content/v0.3.0/en/_static/images/arch/logical.png
diff --git a/v0.3.0/zh/_static/images/astar.jpg b/content/v0.3.0/en/_static/images/astar.jpg
similarity index 100%
rename from v0.3.0/zh/_static/images/astar.jpg
rename to content/v0.3.0/en/_static/images/astar.jpg
diff --git a/v0.3.0/zh/_static/images/astar.png b/content/v0.3.0/en/_static/images/astar.png
similarity index 100%
rename from v0.3.0/zh/_static/images/astar.png
rename to content/v0.3.0/en/_static/images/astar.png
diff --git a/v0.3.0/zh/_static/images/autoencoder_new.PNG b/content/v0.3.0/en/_static/images/autoencoder_new.PNG
similarity index 100%
rename from v0.3.0/zh/_static/images/autoencoder_new.PNG
rename to content/v0.3.0/en/_static/images/autoencoder_new.PNG
diff --git a/v0.3.0/zh/_static/images/bottom-rbm.png b/content/v0.3.0/en/_static/images/bottom-rbm.png
similarity index 100%
rename from v0.3.0/zh/_static/images/bottom-rbm.png
rename to content/v0.3.0/en/_static/images/bottom-rbm.png
diff --git a/v0.3.0/zh/_static/images/char-rnn-net.jpg b/content/v0.3.0/en/_static/images/char-rnn-net.jpg
similarity index 100%
rename from v0.3.0/zh/_static/images/char-rnn-net.jpg
rename to content/v0.3.0/en/_static/images/char-rnn-net.jpg
diff --git a/v0.3.0/zh/_static/images/char-rnn.png b/content/v0.3.0/en/_static/images/char-rnn.png
similarity index 100%
rename from v0.3.0/zh/_static/images/char-rnn.png
rename to content/v0.3.0/en/_static/images/char-rnn.png
diff --git a/v0.3.0/zh/_static/images/cnn-example b/content/v0.3.0/en/_static/images/cnn-example
similarity index 100%
rename from v0.3.0/zh/_static/images/cnn-example
rename to content/v0.3.0/en/_static/images/cnn-example
diff --git a/v0.3.0/zh/_static/images/cnn_example.png b/content/v0.3.0/en/_static/images/cnn_example.png
similarity index 100%
rename from v0.3.0/zh/_static/images/cnn_example.png
rename to content/v0.3.0/en/_static/images/cnn_example.png
diff --git a/v0.3.0/zh/_static/images/conv-mnist-datap.png b/content/v0.3.0/en/_static/images/conv-mnist-datap.png
similarity index 100%
rename from v0.3.0/zh/_static/images/conv-mnist-datap.png
rename to content/v0.3.0/en/_static/images/conv-mnist-datap.png
diff --git a/v0.3.0/zh/_static/images/conv-mnist-layerp.png b/content/v0.3.0/en/_static/images/conv-mnist-layerp.png
similarity index 100%
rename from v0.3.0/zh/_static/images/conv-mnist-layerp.png
rename to content/v0.3.0/en/_static/images/conv-mnist-layerp.png
diff --git a/v0.3.0/zh/_static/images/conv-mnist.png b/content/v0.3.0/en/_static/images/conv-mnist.png
similarity index 100%
rename from v0.3.0/zh/_static/images/conv-mnist.png
rename to content/v0.3.0/en/_static/images/conv-mnist.png
diff --git a/v0.3.0/zh/_static/images/dcnn-cifar10.png b/content/v0.3.0/en/_static/images/dcnn-cifar10.png
similarity index 100%
rename from v0.3.0/zh/_static/images/dcnn-cifar10.png
rename to content/v0.3.0/en/_static/images/dcnn-cifar10.png
diff --git a/v0.3.0/zh/_static/images/frameworks.png b/content/v0.3.0/en/_static/images/distributed/frameworks.png
similarity index 100%
rename from v0.3.0/zh/_static/images/frameworks.png
rename to content/v0.3.0/en/_static/images/distributed/frameworks.png
diff --git a/v0.3.0/zh/_static/images/logical.png b/content/v0.3.0/en/_static/images/distributed/logical.png
similarity index 100%
rename from v0.3.0/zh/_static/images/logical.png
rename to content/v0.3.0/en/_static/images/distributed/logical.png
diff --git a/v0.3.0/zh/_static/images/example-autoencoder.png b/content/v0.3.0/en/_static/images/example-autoencoder.png
similarity index 100%
rename from v0.3.0/zh/_static/images/example-autoencoder.png
rename to content/v0.3.0/en/_static/images/example-autoencoder.png
diff --git a/v0.3.0/zh/_static/images/example-cnn.png b/content/v0.3.0/en/_static/images/example-cnn.png
similarity index 100%
rename from v0.3.0/zh/_static/images/example-cnn.png
rename to content/v0.3.0/en/_static/images/example-cnn.png
diff --git a/v0.3.0/zh/_static/images/example-mlp.png b/content/v0.3.0/en/_static/images/example-mlp.png
similarity index 100%
rename from v0.3.0/zh/_static/images/example-mlp.png
rename to content/v0.3.0/en/_static/images/example-mlp.png
diff --git a/v0.3.0/zh/_static/images/example-rbm1.png b/content/v0.3.0/en/_static/images/example-rbm1.png
similarity index 100%
rename from v0.3.0/zh/_static/images/example-rbm1.png
rename to content/v0.3.0/en/_static/images/example-rbm1.png
diff --git a/v0.3.0/zh/_static/images/example-rbm2.png b/content/v0.3.0/en/_static/images/example-rbm2.png
similarity index 100%
rename from v0.3.0/zh/_static/images/example-rbm2.png
rename to content/v0.3.0/en/_static/images/example-rbm2.png
diff --git a/v0.3.0/zh/_static/images/example-rbm3.png b/content/v0.3.0/en/_static/images/example-rbm3.png
similarity index 100%
rename from v0.3.0/zh/_static/images/example-rbm3.png
rename to content/v0.3.0/en/_static/images/example-rbm3.png
diff --git a/v0.3.0/zh/_static/images/example-rbm4.png b/content/v0.3.0/en/_static/images/example-rbm4.png
similarity index 100%
rename from v0.3.0/zh/_static/images/example-rbm4.png
rename to content/v0.3.0/en/_static/images/example-rbm4.png
diff --git a/v0.3.0/zh/_static/images/feature.PNG.1 b/content/v0.3.0/en/_static/images/feature.PNG.1
similarity index 100%
rename from v0.3.0/zh/_static/images/feature.PNG.1
rename to content/v0.3.0/en/_static/images/feature.PNG.1
diff --git a/v0.3.0/zh/_static/images/distributed/frameworks.png b/content/v0.3.0/en/_static/images/frameworks.png
similarity index 100%
rename from v0.3.0/zh/_static/images/distributed/frameworks.png
rename to content/v0.3.0/en/_static/images/frameworks.png
diff --git a/v0.3.0/zh/_static/images/incubator.png b/content/v0.3.0/en/_static/images/incubator.png
similarity index 100%
rename from v0.3.0/zh/_static/images/incubator.png
rename to content/v0.3.0/en/_static/images/incubator.png
diff --git a/v0.3.0/zh/_static/images/layer.png b/content/v0.3.0/en/_static/images/layer.png
similarity index 100%
rename from v0.3.0/zh/_static/images/layer.png
rename to content/v0.3.0/en/_static/images/layer.png
diff --git a/v0.3.0/zh/_static/images/distributed/logical.png b/content/v0.3.0/en/_static/images/logical.png
similarity index 100%
rename from v0.3.0/zh/_static/images/distributed/logical.png
rename to content/v0.3.0/en/_static/images/logical.png
diff --git a/v0.3.0/zh/_static/images/loss-time.png b/content/v0.3.0/en/_static/images/loss-time.png
similarity index 100%
rename from v0.3.0/zh/_static/images/loss-time.png
rename to content/v0.3.0/en/_static/images/loss-time.png
diff --git a/v0.3.0/zh/_static/images/mlp-net.png b/content/v0.3.0/en/_static/images/mlp-net.png
similarity index 100%
rename from v0.3.0/zh/_static/images/mlp-net.png
rename to content/v0.3.0/en/_static/images/mlp-net.png
diff --git a/v0.3.0/zh/_static/images/mlp.png b/content/v0.3.0/en/_static/images/mlp.png
similarity index 100%
rename from v0.3.0/zh/_static/images/mlp.png
rename to content/v0.3.0/en/_static/images/mlp.png
diff --git a/v0.3.0/zh/_static/images/mlp_example.png b/content/v0.3.0/en/_static/images/mlp_example.png
similarity index 100%
rename from v0.3.0/zh/_static/images/mlp_example.png
rename to content/v0.3.0/en/_static/images/mlp_example.png
diff --git a/v0.3.0/zh/_static/images/model-categorization.png b/content/v0.3.0/en/_static/images/model-categorization.png
similarity index 100%
rename from v0.3.0/zh/_static/images/model-categorization.png
rename to content/v0.3.0/en/_static/images/model-categorization.png
diff --git a/v0.3.0/zh/_static/images/model-category.png b/content/v0.3.0/en/_static/images/model-category.png
similarity index 100%
rename from v0.3.0/zh/_static/images/model-category.png
rename to content/v0.3.0/en/_static/images/model-category.png
diff --git a/v0.3.0/zh/_static/images/msg-flow.png b/content/v0.3.0/en/_static/images/msg-flow.png
similarity index 100%
rename from v0.3.0/zh/_static/images/msg-flow.png
rename to content/v0.3.0/en/_static/images/msg-flow.png
diff --git a/v0.3.0/zh/_static/images/msg.png b/content/v0.3.0/en/_static/images/msg.png
similarity index 100%
rename from v0.3.0/zh/_static/images/msg.png
rename to content/v0.3.0/en/_static/images/msg.png
diff --git a/v0.3.0/zh/_static/images/netease.png b/content/v0.3.0/en/_static/images/netease.png
similarity index 100%
rename from v0.3.0/zh/_static/images/netease.png
rename to content/v0.3.0/en/_static/images/netease.png
diff --git a/v0.3.0/zh/_static/images/nrf_logo.png b/content/v0.3.0/en/_static/images/nrf_logo.png
similarity index 100%
rename from v0.3.0/zh/_static/images/nrf_logo.png
rename to content/v0.3.0/en/_static/images/nrf_logo.png
diff --git a/v0.3.0/zh/_static/images/nus.png b/content/v0.3.0/en/_static/images/nus.png
similarity index 100%
rename from v0.3.0/zh/_static/images/nus.png
rename to content/v0.3.0/en/_static/images/nus.png
diff --git a/v0.3.0/zh/_static/images/overview.png b/content/v0.3.0/en/_static/images/overview.png
similarity index 100%
rename from v0.3.0/zh/_static/images/overview.png
rename to content/v0.3.0/en/_static/images/overview.png
diff --git a/v0.3.0/zh/_static/images/partition_fc.png b/content/v0.3.0/en/_static/images/partition_fc.png
similarity index 100%
rename from v0.3.0/zh/_static/images/partition_fc.png
rename to content/v0.3.0/en/_static/images/partition_fc.png
diff --git a/v0.3.0/zh/_static/images/rbm-feature.PNG b/content/v0.3.0/en/_static/images/rbm-feature.PNG
similarity index 100%
rename from v0.3.0/zh/_static/images/rbm-feature.PNG
rename to content/v0.3.0/en/_static/images/rbm-feature.PNG
diff --git a/v0.3.0/zh/_static/images/rbm-rnn.png b/content/v0.3.0/en/_static/images/rbm-rnn.png
similarity index 100%
rename from v0.3.0/zh/_static/images/rbm-rnn.png
rename to content/v0.3.0/en/_static/images/rbm-rnn.png
diff --git a/v0.3.0/zh/_static/images/rbm-weight.PNG b/content/v0.3.0/en/_static/images/rbm-weight.PNG
similarity index 100%
rename from v0.3.0/zh/_static/images/rbm-weight.PNG
rename to content/v0.3.0/en/_static/images/rbm-weight.PNG
diff --git a/v0.3.0/zh/_static/images/rnn-refine.png b/content/v0.3.0/en/_static/images/rnn-refine.png
similarity index 100%
rename from v0.3.0/zh/_static/images/rnn-refine.png
rename to content/v0.3.0/en/_static/images/rnn-refine.png
diff --git a/v0.3.0/zh/_static/images/rnn1.png b/content/v0.3.0/en/_static/images/rnn1.png
similarity index 100%
rename from v0.3.0/zh/_static/images/rnn1.png
rename to content/v0.3.0/en/_static/images/rnn1.png
diff --git a/v0.3.0/zh/_static/images/rnnlm.png b/content/v0.3.0/en/_static/images/rnnlm.png
similarity index 100%
rename from v0.3.0/zh/_static/images/rnnlm.png
rename to content/v0.3.0/en/_static/images/rnnlm.png
diff --git a/v0.3.0/zh/_static/images/sgd.png b/content/v0.3.0/en/_static/images/sgd.png
similarity index 100%
rename from v0.3.0/zh/_static/images/sgd.png
rename to content/v0.3.0/en/_static/images/sgd.png
diff --git a/v0.3.0/zh/_static/images/singa-logo.png b/content/v0.3.0/en/_static/images/singa-logo.png
similarity index 100%
rename from v0.3.0/zh/_static/images/singa-logo.png
rename to content/v0.3.0/en/_static/images/singa-logo.png
diff --git a/v0.3.0/zh/_static/images/singa-title.png b/content/v0.3.0/en/_static/images/singa-title.png
similarity index 100%
rename from v0.3.0/zh/_static/images/singa-title.png
rename to content/v0.3.0/en/_static/images/singa-title.png
diff --git a/v0.3.0/zh/_static/images/singa.jpg b/content/v0.3.0/en/_static/images/singa.jpg
similarity index 100%
rename from v0.3.0/zh/_static/images/singa.jpg
rename to content/v0.3.0/en/_static/images/singa.jpg
diff --git a/v0.3.0/zh/_static/images/software_stack.jpg b/content/v0.3.0/en/_static/images/software_stack.jpg
similarity index 100%
rename from v0.3.0/zh/_static/images/software_stack.jpg
rename to content/v0.3.0/en/_static/images/software_stack.jpg
diff --git a/v0.3.0/zh/_static/images/sutd.png b/content/v0.3.0/en/_static/images/sutd.png
similarity index 100%
rename from v0.3.0/zh/_static/images/sutd.png
rename to content/v0.3.0/en/_static/images/sutd.png
diff --git a/v0.3.0/zh/_static/images/unroll-rbm.png b/content/v0.3.0/en/_static/images/unroll-rbm.png
similarity index 100%
rename from v0.3.0/zh/_static/images/unroll-rbm.png
rename to content/v0.3.0/en/_static/images/unroll-rbm.png
diff --git a/v0.3.0/zh/_static/images/unroll-rnn.png b/content/v0.3.0/en/_static/images/unroll-rnn.png
similarity index 100%
rename from v0.3.0/zh/_static/images/unroll-rnn.png
rename to content/v0.3.0/en/_static/images/unroll-rnn.png
diff --git a/v0.3.0/zh/_static/images/zheda.png b/content/v0.3.0/en/_static/images/zheda.png
similarity index 100%
rename from v0.3.0/zh/_static/images/zheda.png
rename to content/v0.3.0/en/_static/images/zheda.png
diff --git a/zh/_static/jquery-1.11.1.js b/content/v0.3.0/en/_static/jquery-1.11.1.js
similarity index 100%
rename from zh/_static/jquery-1.11.1.js
rename to content/v0.3.0/en/_static/jquery-1.11.1.js
diff --git a/v0.3.0/zh/_static/jquery.js b/content/v0.3.0/en/_static/jquery.js
similarity index 100%
rename from v0.3.0/zh/_static/jquery.js
rename to content/v0.3.0/en/_static/jquery.js
diff --git a/v0.3.0/kr/_static/js/modernizr.min.js b/content/v0.3.0/en/_static/js/modernizr.min.js
similarity index 100%
rename from v0.3.0/kr/_static/js/modernizr.min.js
rename to content/v0.3.0/en/_static/js/modernizr.min.js
diff --git a/v1.1.0/_static/js/theme.js b/content/v0.3.0/en/_static/js/theme.js
similarity index 100%
rename from v1.1.0/_static/js/theme.js
rename to content/v0.3.0/en/_static/js/theme.js
diff --git a/v1.1.0/_static/minus.png b/content/v0.3.0/en/_static/minus.png
similarity index 100%
rename from v1.1.0/_static/minus.png
rename to content/v0.3.0/en/_static/minus.png
diff --git a/v1.1.0/_static/plus.png b/content/v0.3.0/en/_static/plus.png
similarity index 100%
rename from v1.1.0/_static/plus.png
rename to content/v0.3.0/en/_static/plus.png
diff --git a/v1.1.0/_static/pygments.css b/content/v0.3.0/en/_static/pygments.css
similarity index 100%
rename from v1.1.0/_static/pygments.css
rename to content/v0.3.0/en/_static/pygments.css
diff --git a/v0.3.0/zh/_static/searchtools.js b/content/v0.3.0/en/_static/searchtools.js
similarity index 100%
rename from v0.3.0/zh/_static/searchtools.js
rename to content/v0.3.0/en/_static/searchtools.js
diff --git a/v0.3.0/zh/_static/singa.png b/content/v0.3.0/en/_static/singa.png
similarity index 100%
rename from v0.3.0/zh/_static/singa.png
rename to content/v0.3.0/en/_static/singa.png
diff --git a/v0.3.0/zh/_static/underscore-1.3.1.js b/content/v0.3.0/en/_static/underscore-1.3.1.js
similarity index 100%
rename from v0.3.0/zh/_static/underscore-1.3.1.js
rename to content/v0.3.0/en/_static/underscore-1.3.1.js
diff --git a/v0.3.0/kr/_static/underscore.js b/content/v0.3.0/en/_static/underscore.js
similarity index 100%
rename from v0.3.0/kr/_static/underscore.js
rename to content/v0.3.0/en/_static/underscore.js
diff --git a/v1.1.0/_static/up-pressed.png b/content/v0.3.0/en/_static/up-pressed.png
similarity index 100%
rename from v1.1.0/_static/up-pressed.png
rename to content/v0.3.0/en/_static/up-pressed.png
diff --git a/v1.1.0/_static/up.png b/content/v0.3.0/en/_static/up.png
similarity index 100%
rename from v1.1.0/_static/up.png
rename to content/v0.3.0/en/_static/up.png
diff --git a/v0.3.0/zh/_static/websupport.js b/content/v0.3.0/en/_static/websupport.js
similarity index 100%
rename from v0.3.0/zh/_static/websupport.js
rename to content/v0.3.0/en/_static/websupport.js
diff --git a/v0.3.0/en/community/issue-tracking.html b/content/v0.3.0/en/community/issue-tracking.html
similarity index 100%
rename from v0.3.0/en/community/issue-tracking.html
rename to content/v0.3.0/en/community/issue-tracking.html
diff --git a/v0.3.0/en/community/mail-lists.html b/content/v0.3.0/en/community/mail-lists.html
similarity index 100%
rename from v0.3.0/en/community/mail-lists.html
rename to content/v0.3.0/en/community/mail-lists.html
diff --git a/v0.3.0/en/community/source-repository.html b/content/v0.3.0/en/community/source-repository.html
similarity index 100%
rename from v0.3.0/en/community/source-repository.html
rename to content/v0.3.0/en/community/source-repository.html
diff --git a/v0.3.0/en/community/team-list.html b/content/v0.3.0/en/community/team-list.html
similarity index 100%
rename from v0.3.0/en/community/team-list.html
rename to content/v0.3.0/en/community/team-list.html
diff --git a/v0.3.0/en/develop/contribute-code.html b/content/v0.3.0/en/develop/contribute-code.html
similarity index 100%
rename from v0.3.0/en/develop/contribute-code.html
rename to content/v0.3.0/en/develop/contribute-code.html
diff --git a/v0.3.0/en/develop/contribute-docs.html b/content/v0.3.0/en/develop/contribute-docs.html
similarity index 100%
rename from v0.3.0/en/develop/contribute-docs.html
rename to content/v0.3.0/en/develop/contribute-docs.html
diff --git a/v0.3.0/en/develop/how-contribute.html b/content/v0.3.0/en/develop/how-contribute.html
similarity index 100%
rename from v0.3.0/en/develop/how-contribute.html
rename to content/v0.3.0/en/develop/how-contribute.html
diff --git a/v0.3.0/en/develop/schedule.html b/content/v0.3.0/en/develop/schedule.html
similarity index 100%
rename from v0.3.0/en/develop/schedule.html
rename to content/v0.3.0/en/develop/schedule.html
diff --git a/v0.3.0/en/docs/architecture.html b/content/v0.3.0/en/docs/architecture.html
similarity index 100%
rename from v0.3.0/en/docs/architecture.html
rename to content/v0.3.0/en/docs/architecture.html
diff --git a/v0.3.0/en/docs/checkpoint.html b/content/v0.3.0/en/docs/checkpoint.html
similarity index 100%
rename from v0.3.0/en/docs/checkpoint.html
rename to content/v0.3.0/en/docs/checkpoint.html
diff --git a/v0.3.0/en/docs/cnn.html b/content/v0.3.0/en/docs/cnn.html
similarity index 100%
rename from v0.3.0/en/docs/cnn.html
rename to content/v0.3.0/en/docs/cnn.html
diff --git a/v0.3.0/en/docs/code-structure.html b/content/v0.3.0/en/docs/code-structure.html
similarity index 100%
rename from v0.3.0/en/docs/code-structure.html
rename to content/v0.3.0/en/docs/code-structure.html
diff --git a/v0.3.0/en/docs/communication.html b/content/v0.3.0/en/docs/communication.html
similarity index 100%
rename from v0.3.0/en/docs/communication.html
rename to content/v0.3.0/en/docs/communication.html
diff --git a/v0.3.0/en/docs/data.html b/content/v0.3.0/en/docs/data.html
similarity index 100%
rename from v0.3.0/en/docs/data.html
rename to content/v0.3.0/en/docs/data.html
diff --git a/v0.3.0/en/docs/debug.html b/content/v0.3.0/en/docs/debug.html
similarity index 100%
rename from v0.3.0/en/docs/debug.html
rename to content/v0.3.0/en/docs/debug.html
diff --git a/v0.3.0/en/docs/distributed-training.html b/content/v0.3.0/en/docs/distributed-training.html
similarity index 100%
rename from v0.3.0/en/docs/distributed-training.html
rename to content/v0.3.0/en/docs/distributed-training.html
diff --git a/v0.3.0/en/docs/docker.html b/content/v0.3.0/en/docs/docker.html
similarity index 100%
rename from v0.3.0/en/docs/docker.html
rename to content/v0.3.0/en/docs/docker.html
diff --git a/v0.3.0/en/docs/examples.html b/content/v0.3.0/en/docs/examples.html
similarity index 100%
rename from v0.3.0/en/docs/examples.html
rename to content/v0.3.0/en/docs/examples.html
diff --git a/v0.3.0/en/docs/frameworks.html b/content/v0.3.0/en/docs/frameworks.html
similarity index 100%
rename from v0.3.0/en/docs/frameworks.html
rename to content/v0.3.0/en/docs/frameworks.html
diff --git a/v0.3.0/en/docs/general-rnn.html b/content/v0.3.0/en/docs/general-rnn.html
similarity index 100%
rename from v0.3.0/en/docs/general-rnn.html
rename to content/v0.3.0/en/docs/general-rnn.html
diff --git a/v0.3.0/en/docs/gpu.html b/content/v0.3.0/en/docs/gpu.html
similarity index 100%
rename from v0.3.0/en/docs/gpu.html
rename to content/v0.3.0/en/docs/gpu.html
diff --git a/v0.3.0/en/docs/hdfs.html b/content/v0.3.0/en/docs/hdfs.html
similarity index 100%
rename from v0.3.0/en/docs/hdfs.html
rename to content/v0.3.0/en/docs/hdfs.html
diff --git a/v0.3.0/en/docs/hybrid.html b/content/v0.3.0/en/docs/hybrid.html
similarity index 100%
rename from v0.3.0/en/docs/hybrid.html
rename to content/v0.3.0/en/docs/hybrid.html
diff --git a/v0.3.0/en/docs/index.html b/content/v0.3.0/en/docs/index.html
similarity index 100%
rename from v0.3.0/en/docs/index.html
rename to content/v0.3.0/en/docs/index.html
diff --git a/v0.3.0/en/docs/installation.html b/content/v0.3.0/en/docs/installation.html
similarity index 100%
rename from v0.3.0/en/docs/installation.html
rename to content/v0.3.0/en/docs/installation.html
diff --git a/v0.3.0/en/docs/installation_source.html b/content/v0.3.0/en/docs/installation_source.html
similarity index 100%
rename from v0.3.0/en/docs/installation_source.html
rename to content/v0.3.0/en/docs/installation_source.html
diff --git a/v0.3.0/en/docs/layer.html b/content/v0.3.0/en/docs/layer.html
similarity index 100%
rename from v0.3.0/en/docs/layer.html
rename to content/v0.3.0/en/docs/layer.html
diff --git a/v0.3.0/en/docs/lmdb.html b/content/v0.3.0/en/docs/lmdb.html
similarity index 100%
rename from v0.3.0/en/docs/lmdb.html
rename to content/v0.3.0/en/docs/lmdb.html
diff --git a/v0.3.0/en/docs/mesos.html b/content/v0.3.0/en/docs/mesos.html
similarity index 100%
rename from v0.3.0/en/docs/mesos.html
rename to content/v0.3.0/en/docs/mesos.html
diff --git a/v0.3.0/en/docs/mlp.html b/content/v0.3.0/en/docs/mlp.html
similarity index 100%
rename from v0.3.0/en/docs/mlp.html
rename to content/v0.3.0/en/docs/mlp.html
diff --git a/v0.3.0/en/docs/model-config.html b/content/v0.3.0/en/docs/model-config.html
similarity index 100%
rename from v0.3.0/en/docs/model-config.html
rename to content/v0.3.0/en/docs/model-config.html
diff --git a/v0.3.0/en/docs/neural-net.html b/content/v0.3.0/en/docs/neural-net.html
similarity index 100%
rename from v0.3.0/en/docs/neural-net.html
rename to content/v0.3.0/en/docs/neural-net.html
diff --git a/v0.3.0/en/docs/neuralnet-partition.html b/content/v0.3.0/en/docs/neuralnet-partition.html
similarity index 100%
rename from v0.3.0/en/docs/neuralnet-partition.html
rename to content/v0.3.0/en/docs/neuralnet-partition.html
diff --git a/v0.3.0/en/docs/overview.html b/content/v0.3.0/en/docs/overview.html
similarity index 100%
rename from v0.3.0/en/docs/overview.html
rename to content/v0.3.0/en/docs/overview.html
diff --git a/v0.3.0/en/docs/param.html b/content/v0.3.0/en/docs/param.html
similarity index 100%
rename from v0.3.0/en/docs/param.html
rename to content/v0.3.0/en/docs/param.html
diff --git a/v0.3.0/en/docs/programming-guide.html b/content/v0.3.0/en/docs/programming-guide.html
similarity index 100%
rename from v0.3.0/en/docs/programming-guide.html
rename to content/v0.3.0/en/docs/programming-guide.html
diff --git a/v0.3.0/en/docs/python.html b/content/v0.3.0/en/docs/python.html
similarity index 100%
rename from v0.3.0/en/docs/python.html
rename to content/v0.3.0/en/docs/python.html
diff --git a/v0.3.0/en/docs/python_interactive_training.html b/content/v0.3.0/en/docs/python_interactive_training.html
similarity index 100%
rename from v0.3.0/en/docs/python_interactive_training.html
rename to content/v0.3.0/en/docs/python_interactive_training.html
diff --git a/v0.3.0/en/docs/quick-start.html b/content/v0.3.0/en/docs/quick-start.html
similarity index 100%
rename from v0.3.0/en/docs/quick-start.html
rename to content/v0.3.0/en/docs/quick-start.html
diff --git a/v0.3.0/en/docs/rbm.html b/content/v0.3.0/en/docs/rbm.html
similarity index 100%
rename from v0.3.0/en/docs/rbm.html
rename to content/v0.3.0/en/docs/rbm.html
diff --git a/v0.3.0/en/docs/rnn.html b/content/v0.3.0/en/docs/rnn.html
similarity index 100%
rename from v0.3.0/en/docs/rnn.html
rename to content/v0.3.0/en/docs/rnn.html
diff --git a/v0.3.0/en/docs/test.html b/content/v0.3.0/en/docs/test.html
similarity index 100%
rename from v0.3.0/en/docs/test.html
rename to content/v0.3.0/en/docs/test.html
diff --git a/v0.3.0/en/docs/train-one-batch.html b/content/v0.3.0/en/docs/train-one-batch.html
similarity index 100%
rename from v0.3.0/en/docs/train-one-batch.html
rename to content/v0.3.0/en/docs/train-one-batch.html
diff --git a/v0.3.0/en/docs/updater.html b/content/v0.3.0/en/docs/updater.html
similarity index 100%
rename from v0.3.0/en/docs/updater.html
rename to content/v0.3.0/en/docs/updater.html
diff --git a/v0.3.0/en/downloads.html b/content/v0.3.0/en/downloads.html
similarity index 100%
rename from v0.3.0/en/downloads.html
rename to content/v0.3.0/en/downloads.html
diff --git a/v0.3.0/en/genindex.html b/content/v0.3.0/en/genindex.html
similarity index 100%
rename from v0.3.0/en/genindex.html
rename to content/v0.3.0/en/genindex.html
diff --git a/v0.3.0/en/index.html b/content/v0.3.0/en/index.html
similarity index 100%
rename from v0.3.0/en/index.html
rename to content/v0.3.0/en/index.html
diff --git a/v0.3.0/en/objects.inv b/content/v0.3.0/en/objects.inv
similarity index 100%
rename from v0.3.0/en/objects.inv
rename to content/v0.3.0/en/objects.inv
diff --git a/v0.3.0/en/search.html b/content/v0.3.0/en/search.html
similarity index 100%
rename from v0.3.0/en/search.html
rename to content/v0.3.0/en/search.html
diff --git a/v0.3.0/en/searchindex.js b/content/v0.3.0/en/searchindex.js
similarity index 100%
rename from v0.3.0/en/searchindex.js
rename to content/v0.3.0/en/searchindex.js
diff --git a/v0.3.0/index.html b/content/v0.3.0/index.html
similarity index 100%
rename from v0.3.0/index.html
rename to content/v0.3.0/index.html
diff --git a/v0.3.0/kr/.buildinfo b/content/v0.3.0/jp/.buildinfo
similarity index 100%
rename from v0.3.0/kr/.buildinfo
rename to content/v0.3.0/jp/.buildinfo
diff --git a/v0.3.0/jp/_sources/docs/architecture.txt b/content/v0.3.0/jp/_sources/docs/architecture.txt
similarity index 100%
rename from v0.3.0/jp/_sources/docs/architecture.txt
rename to content/v0.3.0/jp/_sources/docs/architecture.txt
diff --git a/v0.3.0/jp/_sources/docs/distributed-training.txt b/content/v0.3.0/jp/_sources/docs/distributed-training.txt
similarity index 100%
rename from v0.3.0/jp/_sources/docs/distributed-training.txt
rename to content/v0.3.0/jp/_sources/docs/distributed-training.txt
diff --git a/v0.3.0/jp/_sources/docs/frameworks.txt b/content/v0.3.0/jp/_sources/docs/frameworks.txt
similarity index 100%
rename from v0.3.0/jp/_sources/docs/frameworks.txt
rename to content/v0.3.0/jp/_sources/docs/frameworks.txt
diff --git a/v0.3.0/jp/_sources/docs/index.txt b/content/v0.3.0/jp/_sources/docs/index.txt
similarity index 100%
rename from v0.3.0/jp/_sources/docs/index.txt
rename to content/v0.3.0/jp/_sources/docs/index.txt
diff --git a/v0.3.0/jp/_sources/docs/installation.txt b/content/v0.3.0/jp/_sources/docs/installation.txt
similarity index 100%
rename from v0.3.0/jp/_sources/docs/installation.txt
rename to content/v0.3.0/jp/_sources/docs/installation.txt
diff --git a/v0.3.0/jp/_sources/docs/installation_source.txt b/content/v0.3.0/jp/_sources/docs/installation_source.txt
similarity index 100%
rename from v0.3.0/jp/_sources/docs/installation_source.txt
rename to content/v0.3.0/jp/_sources/docs/installation_source.txt
diff --git a/v0.3.0/jp/_sources/docs/lmdb.txt b/content/v0.3.0/jp/_sources/docs/lmdb.txt
similarity index 100%
rename from v0.3.0/jp/_sources/docs/lmdb.txt
rename to content/v0.3.0/jp/_sources/docs/lmdb.txt
diff --git a/v0.3.0/jp/_sources/docs/overview.txt b/content/v0.3.0/jp/_sources/docs/overview.txt
similarity index 100%
rename from v0.3.0/jp/_sources/docs/overview.txt
rename to content/v0.3.0/jp/_sources/docs/overview.txt
diff --git a/v0.3.0/jp/_sources/docs/quick-start.txt b/content/v0.3.0/jp/_sources/docs/quick-start.txt
similarity index 100%
rename from v0.3.0/jp/_sources/docs/quick-start.txt
rename to content/v0.3.0/jp/_sources/docs/quick-start.txt
diff --git a/v0.3.0/kr/_sources/index.txt b/content/v0.3.0/jp/_sources/index.txt
similarity index 100%
rename from v0.3.0/kr/_sources/index.txt
rename to content/v0.3.0/jp/_sources/index.txt
diff --git a/v0.3.0/kr/_static/ajax-loader.gif b/content/v0.3.0/jp/_static/ajax-loader.gif
similarity index 100%
rename from v0.3.0/kr/_static/ajax-loader.gif
rename to content/v0.3.0/jp/_static/ajax-loader.gif
diff --git a/v1.1.0/_static/apache.jpg b/content/v0.3.0/jp/_static/apache.jpg
similarity index 100%
rename from v1.1.0/_static/apache.jpg
rename to content/v0.3.0/jp/_static/apache.jpg
diff --git a/v0.3.0/kr/_static/basic.css b/content/v0.3.0/jp/_static/basic.css
similarity index 100%
rename from v0.3.0/kr/_static/basic.css
rename to content/v0.3.0/jp/_static/basic.css
diff --git a/v0.3.0/zh/_static/comment-bright.png b/content/v0.3.0/jp/_static/comment-bright.png
similarity index 100%
rename from v0.3.0/zh/_static/comment-bright.png
rename to content/v0.3.0/jp/_static/comment-bright.png
diff --git a/v0.3.0/zh/_static/comment-close.png b/content/v0.3.0/jp/_static/comment-close.png
similarity index 100%
rename from v0.3.0/zh/_static/comment-close.png
rename to content/v0.3.0/jp/_static/comment-close.png
diff --git a/v0.3.0/zh/_static/comment.png b/content/v0.3.0/jp/_static/comment.png
similarity index 100%
rename from v0.3.0/zh/_static/comment.png
rename to content/v0.3.0/jp/_static/comment.png
diff --git a/v0.3.0/zh/_static/css/badge_only.css b/content/v0.3.0/jp/_static/css/badge_only.css
similarity index 100%
rename from v0.3.0/zh/_static/css/badge_only.css
rename to content/v0.3.0/jp/_static/css/badge_only.css
diff --git a/v0.3.0/zh/_static/css/theme.css b/content/v0.3.0/jp/_static/css/theme.css
similarity index 100%
rename from v0.3.0/zh/_static/css/theme.css
rename to content/v0.3.0/jp/_static/css/theme.css
diff --git a/v0.3.0/kr/_static/doctools.js b/content/v0.3.0/jp/_static/doctools.js
similarity index 100%
rename from v0.3.0/kr/_static/doctools.js
rename to content/v0.3.0/jp/_static/doctools.js
diff --git a/v0.3.0/zh/_static/down-pressed.png b/content/v0.3.0/jp/_static/down-pressed.png
similarity index 100%
rename from v0.3.0/zh/_static/down-pressed.png
rename to content/v0.3.0/jp/_static/down-pressed.png
diff --git a/v0.3.0/zh/_static/down.png b/content/v0.3.0/jp/_static/down.png
similarity index 100%
rename from v0.3.0/zh/_static/down.png
rename to content/v0.3.0/jp/_static/down.png
diff --git a/v0.3.0/zh/_static/file.png b/content/v0.3.0/jp/_static/file.png
similarity index 100%
rename from v0.3.0/zh/_static/file.png
rename to content/v0.3.0/jp/_static/file.png
diff --git a/v0.3.0/zh/_static/fonts/Inconsolata-Bold.ttf b/content/v0.3.0/jp/_static/fonts/Inconsolata-Bold.ttf
similarity index 100%
rename from v0.3.0/zh/_static/fonts/Inconsolata-Bold.ttf
rename to content/v0.3.0/jp/_static/fonts/Inconsolata-Bold.ttf
diff --git a/v0.3.0/zh/_static/fonts/Inconsolata-Regular.ttf b/content/v0.3.0/jp/_static/fonts/Inconsolata-Regular.ttf
similarity index 100%
rename from v0.3.0/zh/_static/fonts/Inconsolata-Regular.ttf
rename to content/v0.3.0/jp/_static/fonts/Inconsolata-Regular.ttf
diff --git a/v0.3.0/kr/_static/fonts/Lato-Bold.ttf b/content/v0.3.0/jp/_static/fonts/Lato-Bold.ttf
similarity index 100%
rename from v0.3.0/kr/_static/fonts/Lato-Bold.ttf
rename to content/v0.3.0/jp/_static/fonts/Lato-Bold.ttf
diff --git a/v0.3.0/kr/_static/fonts/Lato-Regular.ttf b/content/v0.3.0/jp/_static/fonts/Lato-Regular.ttf
similarity index 100%
rename from v0.3.0/kr/_static/fonts/Lato-Regular.ttf
rename to content/v0.3.0/jp/_static/fonts/Lato-Regular.ttf
diff --git a/v0.3.0/kr/_static/fonts/RobotoSlab-Bold.ttf b/content/v0.3.0/jp/_static/fonts/RobotoSlab-Bold.ttf
similarity index 100%
rename from v0.3.0/kr/_static/fonts/RobotoSlab-Bold.ttf
rename to content/v0.3.0/jp/_static/fonts/RobotoSlab-Bold.ttf
diff --git a/v0.3.0/kr/_static/fonts/RobotoSlab-Regular.ttf b/content/v0.3.0/jp/_static/fonts/RobotoSlab-Regular.ttf
similarity index 100%
rename from v0.3.0/kr/_static/fonts/RobotoSlab-Regular.ttf
rename to content/v0.3.0/jp/_static/fonts/RobotoSlab-Regular.ttf
diff --git a/v0.3.0/kr/_static/fonts/fontawesome-webfont.eot b/content/v0.3.0/jp/_static/fonts/fontawesome-webfont.eot
similarity index 100%
rename from v0.3.0/kr/_static/fonts/fontawesome-webfont.eot
rename to content/v0.3.0/jp/_static/fonts/fontawesome-webfont.eot
diff --git a/v0.3.0/kr/_static/fonts/fontawesome-webfont.svg b/content/v0.3.0/jp/_static/fonts/fontawesome-webfont.svg
similarity index 100%
rename from v0.3.0/kr/_static/fonts/fontawesome-webfont.svg
rename to content/v0.3.0/jp/_static/fonts/fontawesome-webfont.svg
diff --git a/v0.3.0/kr/_static/fonts/fontawesome-webfont.ttf b/content/v0.3.0/jp/_static/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from v0.3.0/kr/_static/fonts/fontawesome-webfont.ttf
rename to content/v0.3.0/jp/_static/fonts/fontawesome-webfont.ttf
diff --git a/v0.3.0/kr/_static/fonts/fontawesome-webfont.woff b/content/v0.3.0/jp/_static/fonts/fontawesome-webfont.woff
similarity index 100%
rename from v0.3.0/kr/_static/fonts/fontawesome-webfont.woff
rename to content/v0.3.0/jp/_static/fonts/fontawesome-webfont.woff
diff --git a/v0.3.0/kr/_static/images/arch.png b/content/v0.3.0/jp/_static/images/arch.png
similarity index 100%
rename from v0.3.0/kr/_static/images/arch.png
rename to content/v0.3.0/jp/_static/images/arch.png
diff --git a/v0.3.0/kr/_static/images/arch/arch1.jpg b/content/v0.3.0/jp/_static/images/arch/arch1.jpg
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/arch1.jpg
rename to content/v0.3.0/jp/_static/images/arch/arch1.jpg
diff --git a/v0.3.0/kr/_static/images/arch/arch1.png b/content/v0.3.0/jp/_static/images/arch/arch1.png
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/arch1.png
rename to content/v0.3.0/jp/_static/images/arch/arch1.png
diff --git a/v0.3.0/kr/_static/images/arch/arch2.jpg b/content/v0.3.0/jp/_static/images/arch/arch2.jpg
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/arch2.jpg
rename to content/v0.3.0/jp/_static/images/arch/arch2.jpg
diff --git a/v0.3.0/kr/_static/images/arch/arch2.png b/content/v0.3.0/jp/_static/images/arch/arch2.png
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/arch2.png
rename to content/v0.3.0/jp/_static/images/arch/arch2.png
diff --git a/v0.3.0/kr/_static/images/arch/arch3.jpg b/content/v0.3.0/jp/_static/images/arch/arch3.jpg
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/arch3.jpg
rename to content/v0.3.0/jp/_static/images/arch/arch3.jpg
diff --git a/v0.3.0/kr/_static/images/arch/arch3.png b/content/v0.3.0/jp/_static/images/arch/arch3.png
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/arch3.png
rename to content/v0.3.0/jp/_static/images/arch/arch3.png
diff --git a/v0.3.0/kr/_static/images/arch/arch4.jpg b/content/v0.3.0/jp/_static/images/arch/arch4.jpg
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/arch4.jpg
rename to content/v0.3.0/jp/_static/images/arch/arch4.jpg
diff --git a/v0.3.0/kr/_static/images/arch/arch4.png b/content/v0.3.0/jp/_static/images/arch/arch4.png
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/arch4.png
rename to content/v0.3.0/jp/_static/images/arch/arch4.png
diff --git a/v0.3.0/kr/_static/images/arch/comm.png b/content/v0.3.0/jp/_static/images/arch/comm.png
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/comm.png
rename to content/v0.3.0/jp/_static/images/arch/comm.png
diff --git a/v0.3.0/kr/_static/images/arch/logical.jpg b/content/v0.3.0/jp/_static/images/arch/logical.jpg
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/logical.jpg
rename to content/v0.3.0/jp/_static/images/arch/logical.jpg
diff --git a/v0.3.0/kr/_static/images/arch/logical.png b/content/v0.3.0/jp/_static/images/arch/logical.png
similarity index 100%
rename from v0.3.0/kr/_static/images/arch/logical.png
rename to content/v0.3.0/jp/_static/images/arch/logical.png
diff --git a/v0.3.0/kr/_static/images/astar.jpg b/content/v0.3.0/jp/_static/images/astar.jpg
similarity index 100%
rename from v0.3.0/kr/_static/images/astar.jpg
rename to content/v0.3.0/jp/_static/images/astar.jpg
diff --git a/v0.3.0/kr/_static/images/astar.png b/content/v0.3.0/jp/_static/images/astar.png
similarity index 100%
rename from v0.3.0/kr/_static/images/astar.png
rename to content/v0.3.0/jp/_static/images/astar.png
diff --git a/v0.3.0/kr/_static/images/autoencoder_new.PNG b/content/v0.3.0/jp/_static/images/autoencoder_new.PNG
similarity index 100%
rename from v0.3.0/kr/_static/images/autoencoder_new.PNG
rename to content/v0.3.0/jp/_static/images/autoencoder_new.PNG
diff --git a/v0.3.0/kr/_static/images/bottom-rbm.png b/content/v0.3.0/jp/_static/images/bottom-rbm.png
similarity index 100%
rename from v0.3.0/kr/_static/images/bottom-rbm.png
rename to content/v0.3.0/jp/_static/images/bottom-rbm.png
diff --git a/v0.3.0/kr/_static/images/char-rnn-net.jpg b/content/v0.3.0/jp/_static/images/char-rnn-net.jpg
similarity index 100%
rename from v0.3.0/kr/_static/images/char-rnn-net.jpg
rename to content/v0.3.0/jp/_static/images/char-rnn-net.jpg
diff --git a/v0.3.0/kr/_static/images/char-rnn.png b/content/v0.3.0/jp/_static/images/char-rnn.png
similarity index 100%
rename from v0.3.0/kr/_static/images/char-rnn.png
rename to content/v0.3.0/jp/_static/images/char-rnn.png
diff --git a/v0.3.0/kr/_static/images/cnn-example b/content/v0.3.0/jp/_static/images/cnn-example
similarity index 100%
rename from v0.3.0/kr/_static/images/cnn-example
rename to content/v0.3.0/jp/_static/images/cnn-example
diff --git a/v0.3.0/kr/_static/images/cnn_example.png b/content/v0.3.0/jp/_static/images/cnn_example.png
similarity index 100%
rename from v0.3.0/kr/_static/images/cnn_example.png
rename to content/v0.3.0/jp/_static/images/cnn_example.png
diff --git a/v0.3.0/kr/_static/images/conv-mnist-datap.png b/content/v0.3.0/jp/_static/images/conv-mnist-datap.png
similarity index 100%
rename from v0.3.0/kr/_static/images/conv-mnist-datap.png
rename to content/v0.3.0/jp/_static/images/conv-mnist-datap.png
diff --git a/v0.3.0/kr/_static/images/conv-mnist-layerp.png b/content/v0.3.0/jp/_static/images/conv-mnist-layerp.png
similarity index 100%
rename from v0.3.0/kr/_static/images/conv-mnist-layerp.png
rename to content/v0.3.0/jp/_static/images/conv-mnist-layerp.png
diff --git a/v0.3.0/kr/_static/images/conv-mnist.png b/content/v0.3.0/jp/_static/images/conv-mnist.png
similarity index 100%
rename from v0.3.0/kr/_static/images/conv-mnist.png
rename to content/v0.3.0/jp/_static/images/conv-mnist.png
diff --git a/v0.3.0/kr/_static/images/dcnn-cifar10.png b/content/v0.3.0/jp/_static/images/dcnn-cifar10.png
similarity index 100%
rename from v0.3.0/kr/_static/images/dcnn-cifar10.png
rename to content/v0.3.0/jp/_static/images/dcnn-cifar10.png
diff --git a/v0.3.0/kr/_static/images/frameworks.png b/content/v0.3.0/jp/_static/images/distributed/frameworks.png
similarity index 100%
rename from v0.3.0/kr/_static/images/frameworks.png
rename to content/v0.3.0/jp/_static/images/distributed/frameworks.png
diff --git a/v0.3.0/kr/_static/images/logical.png b/content/v0.3.0/jp/_static/images/distributed/logical.png
similarity index 100%
rename from v0.3.0/kr/_static/images/logical.png
rename to content/v0.3.0/jp/_static/images/distributed/logical.png
diff --git a/v0.3.0/kr/_static/images/example-autoencoder.png b/content/v0.3.0/jp/_static/images/example-autoencoder.png
similarity index 100%
rename from v0.3.0/kr/_static/images/example-autoencoder.png
rename to content/v0.3.0/jp/_static/images/example-autoencoder.png
diff --git a/v0.3.0/kr/_static/images/example-cnn.png b/content/v0.3.0/jp/_static/images/example-cnn.png
similarity index 100%
rename from v0.3.0/kr/_static/images/example-cnn.png
rename to content/v0.3.0/jp/_static/images/example-cnn.png
diff --git a/v0.3.0/kr/_static/images/example-mlp.png b/content/v0.3.0/jp/_static/images/example-mlp.png
similarity index 100%
rename from v0.3.0/kr/_static/images/example-mlp.png
rename to content/v0.3.0/jp/_static/images/example-mlp.png
diff --git a/v0.3.0/kr/_static/images/example-rbm1.png b/content/v0.3.0/jp/_static/images/example-rbm1.png
similarity index 100%
rename from v0.3.0/kr/_static/images/example-rbm1.png
rename to content/v0.3.0/jp/_static/images/example-rbm1.png
diff --git a/v0.3.0/kr/_static/images/example-rbm2.png b/content/v0.3.0/jp/_static/images/example-rbm2.png
similarity index 100%
rename from v0.3.0/kr/_static/images/example-rbm2.png
rename to content/v0.3.0/jp/_static/images/example-rbm2.png
diff --git a/v0.3.0/kr/_static/images/example-rbm3.png b/content/v0.3.0/jp/_static/images/example-rbm3.png
similarity index 100%
rename from v0.3.0/kr/_static/images/example-rbm3.png
rename to content/v0.3.0/jp/_static/images/example-rbm3.png
diff --git a/v0.3.0/kr/_static/images/example-rbm4.png b/content/v0.3.0/jp/_static/images/example-rbm4.png
similarity index 100%
rename from v0.3.0/kr/_static/images/example-rbm4.png
rename to content/v0.3.0/jp/_static/images/example-rbm4.png
diff --git a/v0.3.0/kr/_static/images/feature.PNG.1 b/content/v0.3.0/jp/_static/images/feature.PNG.1
similarity index 100%
rename from v0.3.0/kr/_static/images/feature.PNG.1
rename to content/v0.3.0/jp/_static/images/feature.PNG.1
diff --git a/v0.3.0/kr/_static/images/distributed/frameworks.png b/content/v0.3.0/jp/_static/images/frameworks.png
similarity index 100%
rename from v0.3.0/kr/_static/images/distributed/frameworks.png
rename to content/v0.3.0/jp/_static/images/frameworks.png
diff --git a/v0.3.0/kr/_static/images/incubator.png b/content/v0.3.0/jp/_static/images/incubator.png
similarity index 100%
rename from v0.3.0/kr/_static/images/incubator.png
rename to content/v0.3.0/jp/_static/images/incubator.png
diff --git a/v0.3.0/kr/_static/images/layer.png b/content/v0.3.0/jp/_static/images/layer.png
similarity index 100%
rename from v0.3.0/kr/_static/images/layer.png
rename to content/v0.3.0/jp/_static/images/layer.png
diff --git a/v0.3.0/kr/_static/images/distributed/logical.png b/content/v0.3.0/jp/_static/images/logical.png
similarity index 100%
rename from v0.3.0/kr/_static/images/distributed/logical.png
rename to content/v0.3.0/jp/_static/images/logical.png
diff --git a/v0.3.0/kr/_static/images/loss-time.png b/content/v0.3.0/jp/_static/images/loss-time.png
similarity index 100%
rename from v0.3.0/kr/_static/images/loss-time.png
rename to content/v0.3.0/jp/_static/images/loss-time.png
diff --git a/v0.3.0/kr/_static/images/mlp-net.png b/content/v0.3.0/jp/_static/images/mlp-net.png
similarity index 100%
rename from v0.3.0/kr/_static/images/mlp-net.png
rename to content/v0.3.0/jp/_static/images/mlp-net.png
diff --git a/v0.3.0/kr/_static/images/mlp.png b/content/v0.3.0/jp/_static/images/mlp.png
similarity index 100%
rename from v0.3.0/kr/_static/images/mlp.png
rename to content/v0.3.0/jp/_static/images/mlp.png
diff --git a/v0.3.0/kr/_static/images/mlp_example.png b/content/v0.3.0/jp/_static/images/mlp_example.png
similarity index 100%
rename from v0.3.0/kr/_static/images/mlp_example.png
rename to content/v0.3.0/jp/_static/images/mlp_example.png
diff --git a/v0.3.0/kr/_static/images/model-categorization.png b/content/v0.3.0/jp/_static/images/model-categorization.png
similarity index 100%
rename from v0.3.0/kr/_static/images/model-categorization.png
rename to content/v0.3.0/jp/_static/images/model-categorization.png
diff --git a/v0.3.0/kr/_static/images/model-category.png b/content/v0.3.0/jp/_static/images/model-category.png
similarity index 100%
rename from v0.3.0/kr/_static/images/model-category.png
rename to content/v0.3.0/jp/_static/images/model-category.png
diff --git a/v0.3.0/kr/_static/images/msg-flow.png b/content/v0.3.0/jp/_static/images/msg-flow.png
similarity index 100%
rename from v0.3.0/kr/_static/images/msg-flow.png
rename to content/v0.3.0/jp/_static/images/msg-flow.png
diff --git a/v0.3.0/kr/_static/images/msg.png b/content/v0.3.0/jp/_static/images/msg.png
similarity index 100%
rename from v0.3.0/kr/_static/images/msg.png
rename to content/v0.3.0/jp/_static/images/msg.png
diff --git a/v0.3.0/kr/_static/images/netease.png b/content/v0.3.0/jp/_static/images/netease.png
similarity index 100%
rename from v0.3.0/kr/_static/images/netease.png
rename to content/v0.3.0/jp/_static/images/netease.png
diff --git a/v0.3.0/kr/_static/images/nrf_logo.png b/content/v0.3.0/jp/_static/images/nrf_logo.png
similarity index 100%
rename from v0.3.0/kr/_static/images/nrf_logo.png
rename to content/v0.3.0/jp/_static/images/nrf_logo.png
diff --git a/v0.3.0/kr/_static/images/nus.png b/content/v0.3.0/jp/_static/images/nus.png
similarity index 100%
rename from v0.3.0/kr/_static/images/nus.png
rename to content/v0.3.0/jp/_static/images/nus.png
diff --git a/v0.3.0/kr/_static/images/overview.png b/content/v0.3.0/jp/_static/images/overview.png
similarity index 100%
rename from v0.3.0/kr/_static/images/overview.png
rename to content/v0.3.0/jp/_static/images/overview.png
diff --git a/v0.3.0/kr/_static/images/partition_fc.png b/content/v0.3.0/jp/_static/images/partition_fc.png
similarity index 100%
rename from v0.3.0/kr/_static/images/partition_fc.png
rename to content/v0.3.0/jp/_static/images/partition_fc.png
diff --git a/v0.3.0/kr/_static/images/rbm-feature.PNG b/content/v0.3.0/jp/_static/images/rbm-feature.PNG
similarity index 100%
rename from v0.3.0/kr/_static/images/rbm-feature.PNG
rename to content/v0.3.0/jp/_static/images/rbm-feature.PNG
diff --git a/v0.3.0/kr/_static/images/rbm-rnn.png b/content/v0.3.0/jp/_static/images/rbm-rnn.png
similarity index 100%
rename from v0.3.0/kr/_static/images/rbm-rnn.png
rename to content/v0.3.0/jp/_static/images/rbm-rnn.png
diff --git a/v0.3.0/kr/_static/images/rbm-weight.PNG b/content/v0.3.0/jp/_static/images/rbm-weight.PNG
similarity index 100%
rename from v0.3.0/kr/_static/images/rbm-weight.PNG
rename to content/v0.3.0/jp/_static/images/rbm-weight.PNG
diff --git a/v0.3.0/kr/_static/images/rnn-refine.png b/content/v0.3.0/jp/_static/images/rnn-refine.png
similarity index 100%
rename from v0.3.0/kr/_static/images/rnn-refine.png
rename to content/v0.3.0/jp/_static/images/rnn-refine.png
diff --git a/v0.3.0/kr/_static/images/rnn1.png b/content/v0.3.0/jp/_static/images/rnn1.png
similarity index 100%
rename from v0.3.0/kr/_static/images/rnn1.png
rename to content/v0.3.0/jp/_static/images/rnn1.png
diff --git a/v0.3.0/kr/_static/images/rnnlm.png b/content/v0.3.0/jp/_static/images/rnnlm.png
similarity index 100%
rename from v0.3.0/kr/_static/images/rnnlm.png
rename to content/v0.3.0/jp/_static/images/rnnlm.png
diff --git a/v0.3.0/kr/_static/images/sgd.png b/content/v0.3.0/jp/_static/images/sgd.png
similarity index 100%
rename from v0.3.0/kr/_static/images/sgd.png
rename to content/v0.3.0/jp/_static/images/sgd.png
diff --git a/v0.3.0/kr/_static/images/singa-logo.png b/content/v0.3.0/jp/_static/images/singa-logo.png
similarity index 100%
rename from v0.3.0/kr/_static/images/singa-logo.png
rename to content/v0.3.0/jp/_static/images/singa-logo.png
diff --git a/v0.3.0/kr/_static/images/singa-title.png b/content/v0.3.0/jp/_static/images/singa-title.png
similarity index 100%
rename from v0.3.0/kr/_static/images/singa-title.png
rename to content/v0.3.0/jp/_static/images/singa-title.png
diff --git a/v0.3.0/kr/_static/images/singa.jpg b/content/v0.3.0/jp/_static/images/singa.jpg
similarity index 100%
rename from v0.3.0/kr/_static/images/singa.jpg
rename to content/v0.3.0/jp/_static/images/singa.jpg
diff --git a/v0.3.0/kr/_static/images/software_stack.jpg b/content/v0.3.0/jp/_static/images/software_stack.jpg
similarity index 100%
rename from v0.3.0/kr/_static/images/software_stack.jpg
rename to content/v0.3.0/jp/_static/images/software_stack.jpg
diff --git a/v0.3.0/kr/_static/images/sutd.png b/content/v0.3.0/jp/_static/images/sutd.png
similarity index 100%
rename from v0.3.0/kr/_static/images/sutd.png
rename to content/v0.3.0/jp/_static/images/sutd.png
diff --git a/v0.3.0/kr/_static/images/unroll-rbm.png b/content/v0.3.0/jp/_static/images/unroll-rbm.png
similarity index 100%
rename from v0.3.0/kr/_static/images/unroll-rbm.png
rename to content/v0.3.0/jp/_static/images/unroll-rbm.png
diff --git a/v0.3.0/kr/_static/images/unroll-rnn.png b/content/v0.3.0/jp/_static/images/unroll-rnn.png
similarity index 100%
rename from v0.3.0/kr/_static/images/unroll-rnn.png
rename to content/v0.3.0/jp/_static/images/unroll-rnn.png
diff --git a/v0.3.0/kr/_static/images/zheda.png b/content/v0.3.0/jp/_static/images/zheda.png
similarity index 100%
rename from v0.3.0/kr/_static/images/zheda.png
rename to content/v0.3.0/jp/_static/images/zheda.png
diff --git a/v1.1.0/_static/jquery-1.11.1.js b/content/v0.3.0/jp/_static/jquery-1.11.1.js
similarity index 100%
rename from v1.1.0/_static/jquery-1.11.1.js
rename to content/v0.3.0/jp/_static/jquery-1.11.1.js
diff --git a/v0.3.0/kr/_static/jquery.js b/content/v0.3.0/jp/_static/jquery.js
similarity index 100%
rename from v0.3.0/kr/_static/jquery.js
rename to content/v0.3.0/jp/_static/jquery.js
diff --git a/v0.3.0/jp/_static/js/modernizr.min.js b/content/v0.3.0/jp/_static/js/modernizr.min.js
similarity index 100%
rename from v0.3.0/jp/_static/js/modernizr.min.js
rename to content/v0.3.0/jp/_static/js/modernizr.min.js
diff --git a/v0.3.0/zh/_static/js/theme.js b/content/v0.3.0/jp/_static/js/theme.js
similarity index 100%
rename from v0.3.0/zh/_static/js/theme.js
rename to content/v0.3.0/jp/_static/js/theme.js
diff --git a/v0.3.0/zh/_static/minus.png b/content/v0.3.0/jp/_static/minus.png
similarity index 100%
rename from v0.3.0/zh/_static/minus.png
rename to content/v0.3.0/jp/_static/minus.png
diff --git a/v0.3.0/zh/_static/plus.png b/content/v0.3.0/jp/_static/plus.png
similarity index 100%
rename from v0.3.0/zh/_static/plus.png
rename to content/v0.3.0/jp/_static/plus.png
diff --git a/v0.3.0/zh/_static/pygments.css b/content/v0.3.0/jp/_static/pygments.css
similarity index 100%
rename from v0.3.0/zh/_static/pygments.css
rename to content/v0.3.0/jp/_static/pygments.css
diff --git a/v0.3.0/kr/_static/searchtools.js b/content/v0.3.0/jp/_static/searchtools.js
similarity index 100%
rename from v0.3.0/kr/_static/searchtools.js
rename to content/v0.3.0/jp/_static/searchtools.js
diff --git a/v0.3.0/kr/_static/singa.png b/content/v0.3.0/jp/_static/singa.png
similarity index 100%
rename from v0.3.0/kr/_static/singa.png
rename to content/v0.3.0/jp/_static/singa.png
diff --git a/v0.3.0/kr/_static/underscore-1.3.1.js b/content/v0.3.0/jp/_static/underscore-1.3.1.js
similarity index 100%
rename from v0.3.0/kr/_static/underscore-1.3.1.js
rename to content/v0.3.0/jp/_static/underscore-1.3.1.js
diff --git a/v0.3.0/jp/_static/underscore.js b/content/v0.3.0/jp/_static/underscore.js
similarity index 100%
rename from v0.3.0/jp/_static/underscore.js
rename to content/v0.3.0/jp/_static/underscore.js
diff --git a/v0.3.0/zh/_static/up-pressed.png b/content/v0.3.0/jp/_static/up-pressed.png
similarity index 100%
rename from v0.3.0/zh/_static/up-pressed.png
rename to content/v0.3.0/jp/_static/up-pressed.png
diff --git a/v0.3.0/zh/_static/up.png b/content/v0.3.0/jp/_static/up.png
similarity index 100%
rename from v0.3.0/zh/_static/up.png
rename to content/v0.3.0/jp/_static/up.png
diff --git a/v0.3.0/kr/_static/websupport.js b/content/v0.3.0/jp/_static/websupport.js
similarity index 100%
rename from v0.3.0/kr/_static/websupport.js
rename to content/v0.3.0/jp/_static/websupport.js
diff --git a/v0.3.0/jp/docs/architecture.html b/content/v0.3.0/jp/docs/architecture.html
similarity index 100%
rename from v0.3.0/jp/docs/architecture.html
rename to content/v0.3.0/jp/docs/architecture.html
diff --git a/v0.3.0/jp/docs/distributed-training.html b/content/v0.3.0/jp/docs/distributed-training.html
similarity index 100%
rename from v0.3.0/jp/docs/distributed-training.html
rename to content/v0.3.0/jp/docs/distributed-training.html
diff --git a/v0.3.0/jp/docs/frameworks.html b/content/v0.3.0/jp/docs/frameworks.html
similarity index 100%
rename from v0.3.0/jp/docs/frameworks.html
rename to content/v0.3.0/jp/docs/frameworks.html
diff --git a/v0.3.0/jp/docs/index.html b/content/v0.3.0/jp/docs/index.html
similarity index 100%
rename from v0.3.0/jp/docs/index.html
rename to content/v0.3.0/jp/docs/index.html
diff --git a/v0.3.0/jp/docs/installation.html b/content/v0.3.0/jp/docs/installation.html
similarity index 100%
rename from v0.3.0/jp/docs/installation.html
rename to content/v0.3.0/jp/docs/installation.html
diff --git a/v0.3.0/jp/docs/installation_source.html b/content/v0.3.0/jp/docs/installation_source.html
similarity index 100%
rename from v0.3.0/jp/docs/installation_source.html
rename to content/v0.3.0/jp/docs/installation_source.html
diff --git a/v0.3.0/jp/docs/lmdb.html b/content/v0.3.0/jp/docs/lmdb.html
similarity index 100%
rename from v0.3.0/jp/docs/lmdb.html
rename to content/v0.3.0/jp/docs/lmdb.html
diff --git a/v0.3.0/jp/docs/overview.html b/content/v0.3.0/jp/docs/overview.html
similarity index 100%
rename from v0.3.0/jp/docs/overview.html
rename to content/v0.3.0/jp/docs/overview.html
diff --git a/v0.3.0/jp/docs/quick-start.html b/content/v0.3.0/jp/docs/quick-start.html
similarity index 100%
rename from v0.3.0/jp/docs/quick-start.html
rename to content/v0.3.0/jp/docs/quick-start.html
diff --git a/v0.3.0/jp/genindex.html b/content/v0.3.0/jp/genindex.html
similarity index 100%
rename from v0.3.0/jp/genindex.html
rename to content/v0.3.0/jp/genindex.html
diff --git a/v0.3.0/jp/index.html b/content/v0.3.0/jp/index.html
similarity index 100%
rename from v0.3.0/jp/index.html
rename to content/v0.3.0/jp/index.html
diff --git a/v0.3.0/jp/objects.inv b/content/v0.3.0/jp/objects.inv
similarity index 100%
rename from v0.3.0/jp/objects.inv
rename to content/v0.3.0/jp/objects.inv
diff --git a/v0.3.0/jp/search.html b/content/v0.3.0/jp/search.html
similarity index 100%
rename from v0.3.0/jp/search.html
rename to content/v0.3.0/jp/search.html
diff --git a/v0.3.0/jp/searchindex.js b/content/v0.3.0/jp/searchindex.js
similarity index 100%
rename from v0.3.0/jp/searchindex.js
rename to content/v0.3.0/jp/searchindex.js
diff --git a/v0.3.0/jp/.buildinfo b/content/v0.3.0/kr/.buildinfo
similarity index 100%
rename from v0.3.0/jp/.buildinfo
rename to content/v0.3.0/kr/.buildinfo
diff --git a/v0.3.0/kr/_sources/docs/architecture.txt b/content/v0.3.0/kr/_sources/docs/architecture.txt
similarity index 100%
rename from v0.3.0/kr/_sources/docs/architecture.txt
rename to content/v0.3.0/kr/_sources/docs/architecture.txt
diff --git a/v0.3.0/kr/_sources/docs/data.txt b/content/v0.3.0/kr/_sources/docs/data.txt
similarity index 100%
rename from v0.3.0/kr/_sources/docs/data.txt
rename to content/v0.3.0/kr/_sources/docs/data.txt
diff --git a/v0.3.0/kr/_sources/docs/distributed-training.txt b/content/v0.3.0/kr/_sources/docs/distributed-training.txt
similarity index 100%
rename from v0.3.0/kr/_sources/docs/distributed-training.txt
rename to content/v0.3.0/kr/_sources/docs/distributed-training.txt
diff --git a/v0.3.0/kr/_sources/docs/frameworks.txt b/content/v0.3.0/kr/_sources/docs/frameworks.txt
similarity index 100%
rename from v0.3.0/kr/_sources/docs/frameworks.txt
rename to content/v0.3.0/kr/_sources/docs/frameworks.txt
diff --git a/v0.3.0/kr/_sources/docs/index.txt b/content/v0.3.0/kr/_sources/docs/index.txt
similarity index 100%
rename from v0.3.0/kr/_sources/docs/index.txt
rename to content/v0.3.0/kr/_sources/docs/index.txt
diff --git a/v0.3.0/kr/_sources/docs/installation.txt b/content/v0.3.0/kr/_sources/docs/installation.txt
similarity index 100%
rename from v0.3.0/kr/_sources/docs/installation.txt
rename to content/v0.3.0/kr/_sources/docs/installation.txt
diff --git a/v0.3.0/en/_sources/docs/lmdb.txt b/content/v0.3.0/kr/_sources/docs/lmdb.txt
similarity index 100%
rename from v0.3.0/en/_sources/docs/lmdb.txt
rename to content/v0.3.0/kr/_sources/docs/lmdb.txt
diff --git a/v0.3.0/kr/_sources/docs/overview.txt b/content/v0.3.0/kr/_sources/docs/overview.txt
similarity index 100%
rename from v0.3.0/kr/_sources/docs/overview.txt
rename to content/v0.3.0/kr/_sources/docs/overview.txt
diff --git a/v0.3.0/kr/_sources/docs/programming-guide.txt b/content/v0.3.0/kr/_sources/docs/programming-guide.txt
similarity index 100%
rename from v0.3.0/kr/_sources/docs/programming-guide.txt
rename to content/v0.3.0/kr/_sources/docs/programming-guide.txt
diff --git a/v0.3.0/kr/_sources/docs/quick-start.txt b/content/v0.3.0/kr/_sources/docs/quick-start.txt
similarity index 100%
rename from v0.3.0/kr/_sources/docs/quick-start.txt
rename to content/v0.3.0/kr/_sources/docs/quick-start.txt
diff --git a/v0.3.0/jp/_sources/index.txt b/content/v0.3.0/kr/_sources/index.txt
similarity index 100%
rename from v0.3.0/jp/_sources/index.txt
rename to content/v0.3.0/kr/_sources/index.txt
diff --git a/v0.3.0/jp/_static/ajax-loader.gif b/content/v0.3.0/kr/_static/ajax-loader.gif
similarity index 100%
rename from v0.3.0/jp/_static/ajax-loader.gif
rename to content/v0.3.0/kr/_static/ajax-loader.gif
diff --git a/v0.3.0/zh/_static/apache.jpg b/content/v0.3.0/kr/_static/apache.jpg
similarity index 100%
rename from v0.3.0/zh/_static/apache.jpg
rename to content/v0.3.0/kr/_static/apache.jpg
diff --git a/v0.3.0/jp/_static/basic.css b/content/v0.3.0/kr/_static/basic.css
similarity index 100%
rename from v0.3.0/jp/_static/basic.css
rename to content/v0.3.0/kr/_static/basic.css
diff --git a/v0.3.0/kr/_static/comment-bright.png b/content/v0.3.0/kr/_static/comment-bright.png
similarity index 100%
rename from v0.3.0/kr/_static/comment-bright.png
rename to content/v0.3.0/kr/_static/comment-bright.png
diff --git a/v0.3.0/kr/_static/comment-close.png b/content/v0.3.0/kr/_static/comment-close.png
similarity index 100%
rename from v0.3.0/kr/_static/comment-close.png
rename to content/v0.3.0/kr/_static/comment-close.png
diff --git a/v0.3.0/kr/_static/comment.png b/content/v0.3.0/kr/_static/comment.png
similarity index 100%
rename from v0.3.0/kr/_static/comment.png
rename to content/v0.3.0/kr/_static/comment.png
diff --git a/v0.3.0/kr/_static/css/badge_only.css b/content/v0.3.0/kr/_static/css/badge_only.css
similarity index 100%
rename from v0.3.0/kr/_static/css/badge_only.css
rename to content/v0.3.0/kr/_static/css/badge_only.css
diff --git a/v0.3.0/kr/_static/css/theme.css b/content/v0.3.0/kr/_static/css/theme.css
similarity index 100%
rename from v0.3.0/kr/_static/css/theme.css
rename to content/v0.3.0/kr/_static/css/theme.css
diff --git a/v0.3.0/jp/_static/doctools.js b/content/v0.3.0/kr/_static/doctools.js
similarity index 100%
rename from v0.3.0/jp/_static/doctools.js
rename to content/v0.3.0/kr/_static/doctools.js
diff --git a/v0.3.0/kr/_static/down-pressed.png b/content/v0.3.0/kr/_static/down-pressed.png
similarity index 100%
rename from v0.3.0/kr/_static/down-pressed.png
rename to content/v0.3.0/kr/_static/down-pressed.png
diff --git a/v0.3.0/kr/_static/down.png b/content/v0.3.0/kr/_static/down.png
similarity index 100%
rename from v0.3.0/kr/_static/down.png
rename to content/v0.3.0/kr/_static/down.png
diff --git a/v0.3.0/kr/_static/file.png b/content/v0.3.0/kr/_static/file.png
similarity index 100%
rename from v0.3.0/kr/_static/file.png
rename to content/v0.3.0/kr/_static/file.png
diff --git a/v0.3.0/kr/_static/fonts/Inconsolata-Bold.ttf b/content/v0.3.0/kr/_static/fonts/Inconsolata-Bold.ttf
similarity index 100%
rename from v0.3.0/kr/_static/fonts/Inconsolata-Bold.ttf
rename to content/v0.3.0/kr/_static/fonts/Inconsolata-Bold.ttf
diff --git a/v0.3.0/kr/_static/fonts/Inconsolata-Regular.ttf b/content/v0.3.0/kr/_static/fonts/Inconsolata-Regular.ttf
similarity index 100%
rename from v0.3.0/kr/_static/fonts/Inconsolata-Regular.ttf
rename to content/v0.3.0/kr/_static/fonts/Inconsolata-Regular.ttf
diff --git a/v0.3.0/jp/_static/fonts/Lato-Bold.ttf b/content/v0.3.0/kr/_static/fonts/Lato-Bold.ttf
similarity index 100%
rename from v0.3.0/jp/_static/fonts/Lato-Bold.ttf
rename to content/v0.3.0/kr/_static/fonts/Lato-Bold.ttf
diff --git a/v0.3.0/jp/_static/fonts/Lato-Regular.ttf b/content/v0.3.0/kr/_static/fonts/Lato-Regular.ttf
similarity index 100%
rename from v0.3.0/jp/_static/fonts/Lato-Regular.ttf
rename to content/v0.3.0/kr/_static/fonts/Lato-Regular.ttf
diff --git a/v0.3.0/jp/_static/fonts/RobotoSlab-Bold.ttf b/content/v0.3.0/kr/_static/fonts/RobotoSlab-Bold.ttf
similarity index 100%
rename from v0.3.0/jp/_static/fonts/RobotoSlab-Bold.ttf
rename to content/v0.3.0/kr/_static/fonts/RobotoSlab-Bold.ttf
diff --git a/v0.3.0/jp/_static/fonts/RobotoSlab-Regular.ttf b/content/v0.3.0/kr/_static/fonts/RobotoSlab-Regular.ttf
similarity index 100%
rename from v0.3.0/jp/_static/fonts/RobotoSlab-Regular.ttf
rename to content/v0.3.0/kr/_static/fonts/RobotoSlab-Regular.ttf
diff --git a/v0.3.0/jp/_static/fonts/fontawesome-webfont.eot b/content/v0.3.0/kr/_static/fonts/fontawesome-webfont.eot
similarity index 100%
rename from v0.3.0/jp/_static/fonts/fontawesome-webfont.eot
rename to content/v0.3.0/kr/_static/fonts/fontawesome-webfont.eot
diff --git a/v0.3.0/jp/_static/fonts/fontawesome-webfont.svg b/content/v0.3.0/kr/_static/fonts/fontawesome-webfont.svg
similarity index 100%
rename from v0.3.0/jp/_static/fonts/fontawesome-webfont.svg
rename to content/v0.3.0/kr/_static/fonts/fontawesome-webfont.svg
diff --git a/v0.3.0/jp/_static/fonts/fontawesome-webfont.ttf b/content/v0.3.0/kr/_static/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from v0.3.0/jp/_static/fonts/fontawesome-webfont.ttf
rename to content/v0.3.0/kr/_static/fonts/fontawesome-webfont.ttf
diff --git a/v0.3.0/jp/_static/fonts/fontawesome-webfont.woff b/content/v0.3.0/kr/_static/fonts/fontawesome-webfont.woff
similarity index 100%
rename from v0.3.0/jp/_static/fonts/fontawesome-webfont.woff
rename to content/v0.3.0/kr/_static/fonts/fontawesome-webfont.woff
diff --git a/v0.3.0/jp/_static/images/arch.png b/content/v0.3.0/kr/_static/images/arch.png
similarity index 100%
rename from v0.3.0/jp/_static/images/arch.png
rename to content/v0.3.0/kr/_static/images/arch.png
diff --git a/v0.3.0/jp/_static/images/arch/arch1.jpg b/content/v0.3.0/kr/_static/images/arch/arch1.jpg
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/arch1.jpg
rename to content/v0.3.0/kr/_static/images/arch/arch1.jpg
diff --git a/v0.3.0/jp/_static/images/arch/arch1.png b/content/v0.3.0/kr/_static/images/arch/arch1.png
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/arch1.png
rename to content/v0.3.0/kr/_static/images/arch/arch1.png
diff --git a/v0.3.0/jp/_static/images/arch/arch2.jpg b/content/v0.3.0/kr/_static/images/arch/arch2.jpg
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/arch2.jpg
rename to content/v0.3.0/kr/_static/images/arch/arch2.jpg
diff --git a/v0.3.0/jp/_static/images/arch/arch2.png b/content/v0.3.0/kr/_static/images/arch/arch2.png
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/arch2.png
rename to content/v0.3.0/kr/_static/images/arch/arch2.png
diff --git a/v0.3.0/jp/_static/images/arch/arch3.jpg b/content/v0.3.0/kr/_static/images/arch/arch3.jpg
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/arch3.jpg
rename to content/v0.3.0/kr/_static/images/arch/arch3.jpg
diff --git a/v0.3.0/jp/_static/images/arch/arch3.png b/content/v0.3.0/kr/_static/images/arch/arch3.png
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/arch3.png
rename to content/v0.3.0/kr/_static/images/arch/arch3.png
diff --git a/v0.3.0/jp/_static/images/arch/arch4.jpg b/content/v0.3.0/kr/_static/images/arch/arch4.jpg
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/arch4.jpg
rename to content/v0.3.0/kr/_static/images/arch/arch4.jpg
diff --git a/v0.3.0/jp/_static/images/arch/arch4.png b/content/v0.3.0/kr/_static/images/arch/arch4.png
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/arch4.png
rename to content/v0.3.0/kr/_static/images/arch/arch4.png
diff --git a/v0.3.0/jp/_static/images/arch/comm.png b/content/v0.3.0/kr/_static/images/arch/comm.png
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/comm.png
rename to content/v0.3.0/kr/_static/images/arch/comm.png
diff --git a/v0.3.0/jp/_static/images/arch/logical.jpg b/content/v0.3.0/kr/_static/images/arch/logical.jpg
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/logical.jpg
rename to content/v0.3.0/kr/_static/images/arch/logical.jpg
diff --git a/v0.3.0/jp/_static/images/arch/logical.png b/content/v0.3.0/kr/_static/images/arch/logical.png
similarity index 100%
rename from v0.3.0/jp/_static/images/arch/logical.png
rename to content/v0.3.0/kr/_static/images/arch/logical.png
diff --git a/v0.3.0/jp/_static/images/astar.jpg b/content/v0.3.0/kr/_static/images/astar.jpg
similarity index 100%
rename from v0.3.0/jp/_static/images/astar.jpg
rename to content/v0.3.0/kr/_static/images/astar.jpg
diff --git a/v0.3.0/jp/_static/images/astar.png b/content/v0.3.0/kr/_static/images/astar.png
similarity index 100%
rename from v0.3.0/jp/_static/images/astar.png
rename to content/v0.3.0/kr/_static/images/astar.png
diff --git a/v0.3.0/jp/_static/images/autoencoder_new.PNG b/content/v0.3.0/kr/_static/images/autoencoder_new.PNG
similarity index 100%
rename from v0.3.0/jp/_static/images/autoencoder_new.PNG
rename to content/v0.3.0/kr/_static/images/autoencoder_new.PNG
diff --git a/v0.3.0/jp/_static/images/bottom-rbm.png b/content/v0.3.0/kr/_static/images/bottom-rbm.png
similarity index 100%
rename from v0.3.0/jp/_static/images/bottom-rbm.png
rename to content/v0.3.0/kr/_static/images/bottom-rbm.png
diff --git a/v0.3.0/jp/_static/images/char-rnn-net.jpg b/content/v0.3.0/kr/_static/images/char-rnn-net.jpg
similarity index 100%
rename from v0.3.0/jp/_static/images/char-rnn-net.jpg
rename to content/v0.3.0/kr/_static/images/char-rnn-net.jpg
diff --git a/v0.3.0/jp/_static/images/char-rnn.png b/content/v0.3.0/kr/_static/images/char-rnn.png
similarity index 100%
rename from v0.3.0/jp/_static/images/char-rnn.png
rename to content/v0.3.0/kr/_static/images/char-rnn.png
diff --git a/v0.3.0/jp/_static/images/cnn-example b/content/v0.3.0/kr/_static/images/cnn-example
similarity index 100%
rename from v0.3.0/jp/_static/images/cnn-example
rename to content/v0.3.0/kr/_static/images/cnn-example
diff --git a/v0.3.0/jp/_static/images/cnn_example.png b/content/v0.3.0/kr/_static/images/cnn_example.png
similarity index 100%
rename from v0.3.0/jp/_static/images/cnn_example.png
rename to content/v0.3.0/kr/_static/images/cnn_example.png
diff --git a/v0.3.0/jp/_static/images/conv-mnist-datap.png b/content/v0.3.0/kr/_static/images/conv-mnist-datap.png
similarity index 100%
rename from v0.3.0/jp/_static/images/conv-mnist-datap.png
rename to content/v0.3.0/kr/_static/images/conv-mnist-datap.png
diff --git a/v0.3.0/jp/_static/images/conv-mnist-layerp.png b/content/v0.3.0/kr/_static/images/conv-mnist-layerp.png
similarity index 100%
rename from v0.3.0/jp/_static/images/conv-mnist-layerp.png
rename to content/v0.3.0/kr/_static/images/conv-mnist-layerp.png
diff --git a/v0.3.0/jp/_static/images/conv-mnist.png b/content/v0.3.0/kr/_static/images/conv-mnist.png
similarity index 100%
rename from v0.3.0/jp/_static/images/conv-mnist.png
rename to content/v0.3.0/kr/_static/images/conv-mnist.png
diff --git a/v0.3.0/jp/_static/images/dcnn-cifar10.png b/content/v0.3.0/kr/_static/images/dcnn-cifar10.png
similarity index 100%
rename from v0.3.0/jp/_static/images/dcnn-cifar10.png
rename to content/v0.3.0/kr/_static/images/dcnn-cifar10.png
diff --git a/v0.3.0/jp/_static/images/frameworks.png b/content/v0.3.0/kr/_static/images/distributed/frameworks.png
similarity index 100%
rename from v0.3.0/jp/_static/images/frameworks.png
rename to content/v0.3.0/kr/_static/images/distributed/frameworks.png
diff --git a/v0.3.0/jp/_static/images/logical.png b/content/v0.3.0/kr/_static/images/distributed/logical.png
similarity index 100%
rename from v0.3.0/jp/_static/images/logical.png
rename to content/v0.3.0/kr/_static/images/distributed/logical.png
diff --git a/v0.3.0/jp/_static/images/example-autoencoder.png b/content/v0.3.0/kr/_static/images/example-autoencoder.png
similarity index 100%
rename from v0.3.0/jp/_static/images/example-autoencoder.png
rename to content/v0.3.0/kr/_static/images/example-autoencoder.png
diff --git a/v0.3.0/jp/_static/images/example-cnn.png b/content/v0.3.0/kr/_static/images/example-cnn.png
similarity index 100%
rename from v0.3.0/jp/_static/images/example-cnn.png
rename to content/v0.3.0/kr/_static/images/example-cnn.png
diff --git a/v0.3.0/jp/_static/images/example-mlp.png b/content/v0.3.0/kr/_static/images/example-mlp.png
similarity index 100%
rename from v0.3.0/jp/_static/images/example-mlp.png
rename to content/v0.3.0/kr/_static/images/example-mlp.png
diff --git a/v0.3.0/jp/_static/images/example-rbm1.png b/content/v0.3.0/kr/_static/images/example-rbm1.png
similarity index 100%
rename from v0.3.0/jp/_static/images/example-rbm1.png
rename to content/v0.3.0/kr/_static/images/example-rbm1.png
diff --git a/v0.3.0/jp/_static/images/example-rbm2.png b/content/v0.3.0/kr/_static/images/example-rbm2.png
similarity index 100%
rename from v0.3.0/jp/_static/images/example-rbm2.png
rename to content/v0.3.0/kr/_static/images/example-rbm2.png
diff --git a/v0.3.0/jp/_static/images/example-rbm3.png b/content/v0.3.0/kr/_static/images/example-rbm3.png
similarity index 100%
rename from v0.3.0/jp/_static/images/example-rbm3.png
rename to content/v0.3.0/kr/_static/images/example-rbm3.png
diff --git a/v0.3.0/jp/_static/images/example-rbm4.png b/content/v0.3.0/kr/_static/images/example-rbm4.png
similarity index 100%
rename from v0.3.0/jp/_static/images/example-rbm4.png
rename to content/v0.3.0/kr/_static/images/example-rbm4.png
diff --git a/v0.3.0/jp/_static/images/feature.PNG.1 b/content/v0.3.0/kr/_static/images/feature.PNG.1
similarity index 100%
rename from v0.3.0/jp/_static/images/feature.PNG.1
rename to content/v0.3.0/kr/_static/images/feature.PNG.1
diff --git a/v0.3.0/jp/_static/images/distributed/frameworks.png b/content/v0.3.0/kr/_static/images/frameworks.png
similarity index 100%
rename from v0.3.0/jp/_static/images/distributed/frameworks.png
rename to content/v0.3.0/kr/_static/images/frameworks.png
diff --git a/v0.3.0/jp/_static/images/incubator.png b/content/v0.3.0/kr/_static/images/incubator.png
similarity index 100%
rename from v0.3.0/jp/_static/images/incubator.png
rename to content/v0.3.0/kr/_static/images/incubator.png
diff --git a/v0.3.0/jp/_static/images/layer.png b/content/v0.3.0/kr/_static/images/layer.png
similarity index 100%
rename from v0.3.0/jp/_static/images/layer.png
rename to content/v0.3.0/kr/_static/images/layer.png
diff --git a/v0.3.0/jp/_static/images/distributed/logical.png b/content/v0.3.0/kr/_static/images/logical.png
similarity index 100%
rename from v0.3.0/jp/_static/images/distributed/logical.png
rename to content/v0.3.0/kr/_static/images/logical.png
diff --git a/v0.3.0/jp/_static/images/loss-time.png b/content/v0.3.0/kr/_static/images/loss-time.png
similarity index 100%
rename from v0.3.0/jp/_static/images/loss-time.png
rename to content/v0.3.0/kr/_static/images/loss-time.png
diff --git a/v0.3.0/jp/_static/images/mlp-net.png b/content/v0.3.0/kr/_static/images/mlp-net.png
similarity index 100%
rename from v0.3.0/jp/_static/images/mlp-net.png
rename to content/v0.3.0/kr/_static/images/mlp-net.png
diff --git a/v0.3.0/jp/_static/images/mlp.png b/content/v0.3.0/kr/_static/images/mlp.png
similarity index 100%
rename from v0.3.0/jp/_static/images/mlp.png
rename to content/v0.3.0/kr/_static/images/mlp.png
diff --git a/v0.3.0/jp/_static/images/mlp_example.png b/content/v0.3.0/kr/_static/images/mlp_example.png
similarity index 100%
rename from v0.3.0/jp/_static/images/mlp_example.png
rename to content/v0.3.0/kr/_static/images/mlp_example.png
diff --git a/v0.3.0/jp/_static/images/model-categorization.png b/content/v0.3.0/kr/_static/images/model-categorization.png
similarity index 100%
rename from v0.3.0/jp/_static/images/model-categorization.png
rename to content/v0.3.0/kr/_static/images/model-categorization.png
diff --git a/v0.3.0/jp/_static/images/model-category.png b/content/v0.3.0/kr/_static/images/model-category.png
similarity index 100%
rename from v0.3.0/jp/_static/images/model-category.png
rename to content/v0.3.0/kr/_static/images/model-category.png
diff --git a/v0.3.0/jp/_static/images/msg-flow.png b/content/v0.3.0/kr/_static/images/msg-flow.png
similarity index 100%
rename from v0.3.0/jp/_static/images/msg-flow.png
rename to content/v0.3.0/kr/_static/images/msg-flow.png
diff --git a/v0.3.0/jp/_static/images/msg.png b/content/v0.3.0/kr/_static/images/msg.png
similarity index 100%
rename from v0.3.0/jp/_static/images/msg.png
rename to content/v0.3.0/kr/_static/images/msg.png
diff --git a/v0.3.0/jp/_static/images/netease.png b/content/v0.3.0/kr/_static/images/netease.png
similarity index 100%
rename from v0.3.0/jp/_static/images/netease.png
rename to content/v0.3.0/kr/_static/images/netease.png
diff --git a/v0.3.0/jp/_static/images/nrf_logo.png b/content/v0.3.0/kr/_static/images/nrf_logo.png
similarity index 100%
rename from v0.3.0/jp/_static/images/nrf_logo.png
rename to content/v0.3.0/kr/_static/images/nrf_logo.png
diff --git a/v0.3.0/jp/_static/images/nus.png b/content/v0.3.0/kr/_static/images/nus.png
similarity index 100%
rename from v0.3.0/jp/_static/images/nus.png
rename to content/v0.3.0/kr/_static/images/nus.png
diff --git a/v0.3.0/jp/_static/images/overview.png b/content/v0.3.0/kr/_static/images/overview.png
similarity index 100%
rename from v0.3.0/jp/_static/images/overview.png
rename to content/v0.3.0/kr/_static/images/overview.png
diff --git a/v0.3.0/jp/_static/images/partition_fc.png b/content/v0.3.0/kr/_static/images/partition_fc.png
similarity index 100%
rename from v0.3.0/jp/_static/images/partition_fc.png
rename to content/v0.3.0/kr/_static/images/partition_fc.png
diff --git a/v0.3.0/jp/_static/images/rbm-feature.PNG b/content/v0.3.0/kr/_static/images/rbm-feature.PNG
similarity index 100%
rename from v0.3.0/jp/_static/images/rbm-feature.PNG
rename to content/v0.3.0/kr/_static/images/rbm-feature.PNG
diff --git a/v0.3.0/jp/_static/images/rbm-rnn.png b/content/v0.3.0/kr/_static/images/rbm-rnn.png
similarity index 100%
rename from v0.3.0/jp/_static/images/rbm-rnn.png
rename to content/v0.3.0/kr/_static/images/rbm-rnn.png
diff --git a/v0.3.0/jp/_static/images/rbm-weight.PNG b/content/v0.3.0/kr/_static/images/rbm-weight.PNG
similarity index 100%
rename from v0.3.0/jp/_static/images/rbm-weight.PNG
rename to content/v0.3.0/kr/_static/images/rbm-weight.PNG
diff --git a/v0.3.0/jp/_static/images/rnn-refine.png b/content/v0.3.0/kr/_static/images/rnn-refine.png
similarity index 100%
rename from v0.3.0/jp/_static/images/rnn-refine.png
rename to content/v0.3.0/kr/_static/images/rnn-refine.png
diff --git a/v0.3.0/jp/_static/images/rnn1.png b/content/v0.3.0/kr/_static/images/rnn1.png
similarity index 100%
rename from v0.3.0/jp/_static/images/rnn1.png
rename to content/v0.3.0/kr/_static/images/rnn1.png
diff --git a/v0.3.0/jp/_static/images/rnnlm.png b/content/v0.3.0/kr/_static/images/rnnlm.png
similarity index 100%
rename from v0.3.0/jp/_static/images/rnnlm.png
rename to content/v0.3.0/kr/_static/images/rnnlm.png
diff --git a/v0.3.0/jp/_static/images/sgd.png b/content/v0.3.0/kr/_static/images/sgd.png
similarity index 100%
rename from v0.3.0/jp/_static/images/sgd.png
rename to content/v0.3.0/kr/_static/images/sgd.png
diff --git a/v0.3.0/jp/_static/images/singa-logo.png b/content/v0.3.0/kr/_static/images/singa-logo.png
similarity index 100%
rename from v0.3.0/jp/_static/images/singa-logo.png
rename to content/v0.3.0/kr/_static/images/singa-logo.png
diff --git a/v0.3.0/jp/_static/images/singa-title.png b/content/v0.3.0/kr/_static/images/singa-title.png
similarity index 100%
rename from v0.3.0/jp/_static/images/singa-title.png
rename to content/v0.3.0/kr/_static/images/singa-title.png
diff --git a/v0.3.0/jp/_static/images/singa.jpg b/content/v0.3.0/kr/_static/images/singa.jpg
similarity index 100%
rename from v0.3.0/jp/_static/images/singa.jpg
rename to content/v0.3.0/kr/_static/images/singa.jpg
diff --git a/v0.3.0/jp/_static/images/software_stack.jpg b/content/v0.3.0/kr/_static/images/software_stack.jpg
similarity index 100%
rename from v0.3.0/jp/_static/images/software_stack.jpg
rename to content/v0.3.0/kr/_static/images/software_stack.jpg
diff --git a/v0.3.0/jp/_static/images/sutd.png b/content/v0.3.0/kr/_static/images/sutd.png
similarity index 100%
rename from v0.3.0/jp/_static/images/sutd.png
rename to content/v0.3.0/kr/_static/images/sutd.png
diff --git a/v0.3.0/jp/_static/images/unroll-rbm.png b/content/v0.3.0/kr/_static/images/unroll-rbm.png
similarity index 100%
rename from v0.3.0/jp/_static/images/unroll-rbm.png
rename to content/v0.3.0/kr/_static/images/unroll-rbm.png
diff --git a/v0.3.0/jp/_static/images/unroll-rnn.png b/content/v0.3.0/kr/_static/images/unroll-rnn.png
similarity index 100%
rename from v0.3.0/jp/_static/images/unroll-rnn.png
rename to content/v0.3.0/kr/_static/images/unroll-rnn.png
diff --git a/v0.3.0/jp/_static/images/zheda.png b/content/v0.3.0/kr/_static/images/zheda.png
similarity index 100%
rename from v0.3.0/jp/_static/images/zheda.png
rename to content/v0.3.0/kr/_static/images/zheda.png
diff --git a/v0.3.0/zh/_static/jquery-1.11.1.js b/content/v0.3.0/kr/_static/jquery-1.11.1.js
similarity index 100%
rename from v0.3.0/zh/_static/jquery-1.11.1.js
rename to content/v0.3.0/kr/_static/jquery-1.11.1.js
diff --git a/v0.3.0/jp/_static/jquery.js b/content/v0.3.0/kr/_static/jquery.js
similarity index 100%
rename from v0.3.0/jp/_static/jquery.js
rename to content/v0.3.0/kr/_static/jquery.js
diff --git a/v0.3.0/en/_static/js/modernizr.min.js b/content/v0.3.0/kr/_static/js/modernizr.min.js
similarity index 100%
rename from v0.3.0/en/_static/js/modernizr.min.js
rename to content/v0.3.0/kr/_static/js/modernizr.min.js
diff --git a/v0.3.0/kr/_static/js/theme.js b/content/v0.3.0/kr/_static/js/theme.js
similarity index 100%
rename from v0.3.0/kr/_static/js/theme.js
rename to content/v0.3.0/kr/_static/js/theme.js
diff --git a/v0.3.0/kr/_static/minus.png b/content/v0.3.0/kr/_static/minus.png
similarity index 100%
rename from v0.3.0/kr/_static/minus.png
rename to content/v0.3.0/kr/_static/minus.png
diff --git a/v0.3.0/kr/_static/plus.png b/content/v0.3.0/kr/_static/plus.png
similarity index 100%
rename from v0.3.0/kr/_static/plus.png
rename to content/v0.3.0/kr/_static/plus.png
diff --git a/v0.3.0/kr/_static/pygments.css b/content/v0.3.0/kr/_static/pygments.css
similarity index 100%
rename from v0.3.0/kr/_static/pygments.css
rename to content/v0.3.0/kr/_static/pygments.css
diff --git a/v0.3.0/jp/_static/searchtools.js b/content/v0.3.0/kr/_static/searchtools.js
similarity index 100%
rename from v0.3.0/jp/_static/searchtools.js
rename to content/v0.3.0/kr/_static/searchtools.js
diff --git a/v0.3.0/jp/_static/singa.png b/content/v0.3.0/kr/_static/singa.png
similarity index 100%
rename from v0.3.0/jp/_static/singa.png
rename to content/v0.3.0/kr/_static/singa.png
diff --git a/v0.3.0/jp/_static/underscore-1.3.1.js b/content/v0.3.0/kr/_static/underscore-1.3.1.js
similarity index 100%
rename from v0.3.0/jp/_static/underscore-1.3.1.js
rename to content/v0.3.0/kr/_static/underscore-1.3.1.js
diff --git a/v0.3.0/en/_static/underscore.js b/content/v0.3.0/kr/_static/underscore.js
similarity index 100%
rename from v0.3.0/en/_static/underscore.js
rename to content/v0.3.0/kr/_static/underscore.js
diff --git a/v0.3.0/kr/_static/up-pressed.png b/content/v0.3.0/kr/_static/up-pressed.png
similarity index 100%
rename from v0.3.0/kr/_static/up-pressed.png
rename to content/v0.3.0/kr/_static/up-pressed.png
diff --git a/v0.3.0/kr/_static/up.png b/content/v0.3.0/kr/_static/up.png
similarity index 100%
rename from v0.3.0/kr/_static/up.png
rename to content/v0.3.0/kr/_static/up.png
diff --git a/v0.3.0/jp/_static/websupport.js b/content/v0.3.0/kr/_static/websupport.js
similarity index 100%
rename from v0.3.0/jp/_static/websupport.js
rename to content/v0.3.0/kr/_static/websupport.js
diff --git a/v0.3.0/kr/docs/architecture.html b/content/v0.3.0/kr/docs/architecture.html
similarity index 100%
rename from v0.3.0/kr/docs/architecture.html
rename to content/v0.3.0/kr/docs/architecture.html
diff --git a/v0.3.0/kr/docs/data.html b/content/v0.3.0/kr/docs/data.html
similarity index 100%
rename from v0.3.0/kr/docs/data.html
rename to content/v0.3.0/kr/docs/data.html
diff --git a/v0.3.0/kr/docs/distributed-training.html b/content/v0.3.0/kr/docs/distributed-training.html
similarity index 100%
rename from v0.3.0/kr/docs/distributed-training.html
rename to content/v0.3.0/kr/docs/distributed-training.html
diff --git a/v0.3.0/kr/docs/frameworks.html b/content/v0.3.0/kr/docs/frameworks.html
similarity index 100%
rename from v0.3.0/kr/docs/frameworks.html
rename to content/v0.3.0/kr/docs/frameworks.html
diff --git a/v0.3.0/kr/docs/index.html b/content/v0.3.0/kr/docs/index.html
similarity index 100%
rename from v0.3.0/kr/docs/index.html
rename to content/v0.3.0/kr/docs/index.html
diff --git a/v0.3.0/kr/docs/installation.html b/content/v0.3.0/kr/docs/installation.html
similarity index 100%
rename from v0.3.0/kr/docs/installation.html
rename to content/v0.3.0/kr/docs/installation.html
diff --git a/v0.3.0/kr/docs/lmdb.html b/content/v0.3.0/kr/docs/lmdb.html
similarity index 100%
rename from v0.3.0/kr/docs/lmdb.html
rename to content/v0.3.0/kr/docs/lmdb.html
diff --git a/v0.3.0/kr/docs/overview.html b/content/v0.3.0/kr/docs/overview.html
similarity index 100%
rename from v0.3.0/kr/docs/overview.html
rename to content/v0.3.0/kr/docs/overview.html
diff --git a/v0.3.0/kr/docs/programming-guide.html b/content/v0.3.0/kr/docs/programming-guide.html
similarity index 100%
rename from v0.3.0/kr/docs/programming-guide.html
rename to content/v0.3.0/kr/docs/programming-guide.html
diff --git a/v0.3.0/kr/docs/quick-start.html b/content/v0.3.0/kr/docs/quick-start.html
similarity index 100%
rename from v0.3.0/kr/docs/quick-start.html
rename to content/v0.3.0/kr/docs/quick-start.html
diff --git a/v0.3.0/kr/genindex.html b/content/v0.3.0/kr/genindex.html
similarity index 100%
rename from v0.3.0/kr/genindex.html
rename to content/v0.3.0/kr/genindex.html
diff --git a/v0.3.0/kr/index.html b/content/v0.3.0/kr/index.html
similarity index 100%
rename from v0.3.0/kr/index.html
rename to content/v0.3.0/kr/index.html
diff --git a/v0.3.0/kr/objects.inv b/content/v0.3.0/kr/objects.inv
similarity index 100%
rename from v0.3.0/kr/objects.inv
rename to content/v0.3.0/kr/objects.inv
diff --git a/v0.3.0/kr/search.html b/content/v0.3.0/kr/search.html
similarity index 100%
rename from v0.3.0/kr/search.html
rename to content/v0.3.0/kr/search.html
diff --git a/v0.3.0/kr/searchindex.js b/content/v0.3.0/kr/searchindex.js
similarity index 100%
rename from v0.3.0/kr/searchindex.js
rename to content/v0.3.0/kr/searchindex.js
diff --git a/v0.3.0/en/.buildinfo b/content/v0.3.0/zh/.buildinfo
similarity index 100%
rename from v0.3.0/en/.buildinfo
rename to content/v0.3.0/zh/.buildinfo
diff --git a/v0.3.0/zh/_sources/docs/index.txt b/content/v0.3.0/zh/_sources/docs/index.txt
similarity index 100%
rename from v0.3.0/zh/_sources/docs/index.txt
rename to content/v0.3.0/zh/_sources/docs/index.txt
diff --git a/v0.3.0/zh/_sources/docs/installation_source.txt b/content/v0.3.0/zh/_sources/docs/installation_source.txt
similarity index 100%
rename from v0.3.0/zh/_sources/docs/installation_source.txt
rename to content/v0.3.0/zh/_sources/docs/installation_source.txt
diff --git a/v0.3.0/zh/_sources/docs/overview.txt b/content/v0.3.0/zh/_sources/docs/overview.txt
similarity index 100%
rename from v0.3.0/zh/_sources/docs/overview.txt
rename to content/v0.3.0/zh/_sources/docs/overview.txt
diff --git a/v0.3.0/zh/_sources/docs/programming-guide.txt b/content/v0.3.0/zh/_sources/docs/programming-guide.txt
similarity index 100%
rename from v0.3.0/zh/_sources/docs/programming-guide.txt
rename to content/v0.3.0/zh/_sources/docs/programming-guide.txt
diff --git a/v0.3.0/en/_sources/index.txt b/content/v0.3.0/zh/_sources/index.txt
similarity index 100%
rename from v0.3.0/en/_sources/index.txt
rename to content/v0.3.0/zh/_sources/index.txt
diff --git a/v0.3.0/en/_static/ajax-loader.gif b/content/v0.3.0/zh/_static/ajax-loader.gif
similarity index 100%
rename from v0.3.0/en/_static/ajax-loader.gif
rename to content/v0.3.0/zh/_static/ajax-loader.gif
diff --git a/v0.3.0/kr/_static/apache.jpg b/content/v0.3.0/zh/_static/apache.jpg
similarity index 100%
rename from v0.3.0/kr/_static/apache.jpg
rename to content/v0.3.0/zh/_static/apache.jpg
diff --git a/v0.3.0/en/_static/basic.css b/content/v0.3.0/zh/_static/basic.css
similarity index 100%
rename from v0.3.0/en/_static/basic.css
rename to content/v0.3.0/zh/_static/basic.css
diff --git a/v0.3.0/jp/_static/comment-bright.png b/content/v0.3.0/zh/_static/comment-bright.png
similarity index 100%
rename from v0.3.0/jp/_static/comment-bright.png
rename to content/v0.3.0/zh/_static/comment-bright.png
diff --git a/v0.3.0/jp/_static/comment-close.png b/content/v0.3.0/zh/_static/comment-close.png
similarity index 100%
rename from v0.3.0/jp/_static/comment-close.png
rename to content/v0.3.0/zh/_static/comment-close.png
diff --git a/v0.3.0/jp/_static/comment.png b/content/v0.3.0/zh/_static/comment.png
similarity index 100%
rename from v0.3.0/jp/_static/comment.png
rename to content/v0.3.0/zh/_static/comment.png
diff --git a/v0.3.0/jp/_static/css/badge_only.css b/content/v0.3.0/zh/_static/css/badge_only.css
similarity index 100%
rename from v0.3.0/jp/_static/css/badge_only.css
rename to content/v0.3.0/zh/_static/css/badge_only.css
diff --git a/v0.3.0/jp/_static/css/theme.css b/content/v0.3.0/zh/_static/css/theme.css
similarity index 100%
rename from v0.3.0/jp/_static/css/theme.css
rename to content/v0.3.0/zh/_static/css/theme.css
diff --git a/v0.3.0/en/_static/doctools.js b/content/v0.3.0/zh/_static/doctools.js
similarity index 100%
rename from v0.3.0/en/_static/doctools.js
rename to content/v0.3.0/zh/_static/doctools.js
diff --git a/v0.3.0/jp/_static/down-pressed.png b/content/v0.3.0/zh/_static/down-pressed.png
similarity index 100%
rename from v0.3.0/jp/_static/down-pressed.png
rename to content/v0.3.0/zh/_static/down-pressed.png
diff --git a/v0.3.0/jp/_static/down.png b/content/v0.3.0/zh/_static/down.png
similarity index 100%
rename from v0.3.0/jp/_static/down.png
rename to content/v0.3.0/zh/_static/down.png
diff --git a/v0.3.0/jp/_static/file.png b/content/v0.3.0/zh/_static/file.png
similarity index 100%
rename from v0.3.0/jp/_static/file.png
rename to content/v0.3.0/zh/_static/file.png
diff --git a/v0.3.0/jp/_static/fonts/Inconsolata-Bold.ttf b/content/v0.3.0/zh/_static/fonts/Inconsolata-Bold.ttf
similarity index 100%
rename from v0.3.0/jp/_static/fonts/Inconsolata-Bold.ttf
rename to content/v0.3.0/zh/_static/fonts/Inconsolata-Bold.ttf
diff --git a/v0.3.0/jp/_static/fonts/Inconsolata-Regular.ttf b/content/v0.3.0/zh/_static/fonts/Inconsolata-Regular.ttf
similarity index 100%
rename from v0.3.0/jp/_static/fonts/Inconsolata-Regular.ttf
rename to content/v0.3.0/zh/_static/fonts/Inconsolata-Regular.ttf
diff --git a/v0.3.0/en/_static/fonts/Lato-Bold.ttf b/content/v0.3.0/zh/_static/fonts/Lato-Bold.ttf
similarity index 100%
rename from v0.3.0/en/_static/fonts/Lato-Bold.ttf
rename to content/v0.3.0/zh/_static/fonts/Lato-Bold.ttf
diff --git a/v0.3.0/en/_static/fonts/Lato-Regular.ttf b/content/v0.3.0/zh/_static/fonts/Lato-Regular.ttf
similarity index 100%
rename from v0.3.0/en/_static/fonts/Lato-Regular.ttf
rename to content/v0.3.0/zh/_static/fonts/Lato-Regular.ttf
diff --git a/v0.3.0/en/_static/fonts/RobotoSlab-Bold.ttf b/content/v0.3.0/zh/_static/fonts/RobotoSlab-Bold.ttf
similarity index 100%
rename from v0.3.0/en/_static/fonts/RobotoSlab-Bold.ttf
rename to content/v0.3.0/zh/_static/fonts/RobotoSlab-Bold.ttf
diff --git a/v0.3.0/en/_static/fonts/RobotoSlab-Regular.ttf b/content/v0.3.0/zh/_static/fonts/RobotoSlab-Regular.ttf
similarity index 100%
rename from v0.3.0/en/_static/fonts/RobotoSlab-Regular.ttf
rename to content/v0.3.0/zh/_static/fonts/RobotoSlab-Regular.ttf
diff --git a/v0.3.0/en/_static/fonts/fontawesome-webfont.eot b/content/v0.3.0/zh/_static/fonts/fontawesome-webfont.eot
similarity index 100%
rename from v0.3.0/en/_static/fonts/fontawesome-webfont.eot
rename to content/v0.3.0/zh/_static/fonts/fontawesome-webfont.eot
diff --git a/v0.3.0/en/_static/fonts/fontawesome-webfont.svg b/content/v0.3.0/zh/_static/fonts/fontawesome-webfont.svg
similarity index 100%
rename from v0.3.0/en/_static/fonts/fontawesome-webfont.svg
rename to content/v0.3.0/zh/_static/fonts/fontawesome-webfont.svg
diff --git a/v0.3.0/en/_static/fonts/fontawesome-webfont.ttf b/content/v0.3.0/zh/_static/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from v0.3.0/en/_static/fonts/fontawesome-webfont.ttf
rename to content/v0.3.0/zh/_static/fonts/fontawesome-webfont.ttf
diff --git a/v0.3.0/en/_static/fonts/fontawesome-webfont.woff b/content/v0.3.0/zh/_static/fonts/fontawesome-webfont.woff
similarity index 100%
rename from v0.3.0/en/_static/fonts/fontawesome-webfont.woff
rename to content/v0.3.0/zh/_static/fonts/fontawesome-webfont.woff
diff --git a/v0.3.0/en/_static/images/arch.png b/content/v0.3.0/zh/_static/images/arch.png
similarity index 100%
rename from v0.3.0/en/_static/images/arch.png
rename to content/v0.3.0/zh/_static/images/arch.png
diff --git a/v0.3.0/en/_static/images/arch/arch1.jpg b/content/v0.3.0/zh/_static/images/arch/arch1.jpg
similarity index 100%
rename from v0.3.0/en/_static/images/arch/arch1.jpg
rename to content/v0.3.0/zh/_static/images/arch/arch1.jpg
diff --git a/v0.3.0/en/_static/images/arch/arch1.png b/content/v0.3.0/zh/_static/images/arch/arch1.png
similarity index 100%
rename from v0.3.0/en/_static/images/arch/arch1.png
rename to content/v0.3.0/zh/_static/images/arch/arch1.png
diff --git a/v0.3.0/en/_static/images/arch/arch2.jpg b/content/v0.3.0/zh/_static/images/arch/arch2.jpg
similarity index 100%
rename from v0.3.0/en/_static/images/arch/arch2.jpg
rename to content/v0.3.0/zh/_static/images/arch/arch2.jpg
diff --git a/v0.3.0/en/_static/images/arch/arch2.png b/content/v0.3.0/zh/_static/images/arch/arch2.png
similarity index 100%
rename from v0.3.0/en/_static/images/arch/arch2.png
rename to content/v0.3.0/zh/_static/images/arch/arch2.png
diff --git a/v0.3.0/en/_static/images/arch/arch3.jpg b/content/v0.3.0/zh/_static/images/arch/arch3.jpg
similarity index 100%
rename from v0.3.0/en/_static/images/arch/arch3.jpg
rename to content/v0.3.0/zh/_static/images/arch/arch3.jpg
diff --git a/v0.3.0/en/_static/images/arch/arch3.png b/content/v0.3.0/zh/_static/images/arch/arch3.png
similarity index 100%
rename from v0.3.0/en/_static/images/arch/arch3.png
rename to content/v0.3.0/zh/_static/images/arch/arch3.png
diff --git a/v0.3.0/en/_static/images/arch/arch4.jpg b/content/v0.3.0/zh/_static/images/arch/arch4.jpg
similarity index 100%
rename from v0.3.0/en/_static/images/arch/arch4.jpg
rename to content/v0.3.0/zh/_static/images/arch/arch4.jpg
diff --git a/v0.3.0/en/_static/images/arch/arch4.png b/content/v0.3.0/zh/_static/images/arch/arch4.png
similarity index 100%
rename from v0.3.0/en/_static/images/arch/arch4.png
rename to content/v0.3.0/zh/_static/images/arch/arch4.png
diff --git a/v0.3.0/en/_static/images/arch/comm.png b/content/v0.3.0/zh/_static/images/arch/comm.png
similarity index 100%
rename from v0.3.0/en/_static/images/arch/comm.png
rename to content/v0.3.0/zh/_static/images/arch/comm.png
diff --git a/v0.3.0/en/_static/images/arch/logical.jpg b/content/v0.3.0/zh/_static/images/arch/logical.jpg
similarity index 100%
rename from v0.3.0/en/_static/images/arch/logical.jpg
rename to content/v0.3.0/zh/_static/images/arch/logical.jpg
diff --git a/v0.3.0/en/_static/images/arch/logical.png b/content/v0.3.0/zh/_static/images/arch/logical.png
similarity index 100%
rename from v0.3.0/en/_static/images/arch/logical.png
rename to content/v0.3.0/zh/_static/images/arch/logical.png
diff --git a/v0.3.0/en/_static/images/astar.jpg b/content/v0.3.0/zh/_static/images/astar.jpg
similarity index 100%
rename from v0.3.0/en/_static/images/astar.jpg
rename to content/v0.3.0/zh/_static/images/astar.jpg
diff --git a/v0.3.0/en/_static/images/astar.png b/content/v0.3.0/zh/_static/images/astar.png
similarity index 100%
rename from v0.3.0/en/_static/images/astar.png
rename to content/v0.3.0/zh/_static/images/astar.png
diff --git a/v0.3.0/en/_static/images/autoencoder_new.PNG b/content/v0.3.0/zh/_static/images/autoencoder_new.PNG
similarity index 100%
rename from v0.3.0/en/_static/images/autoencoder_new.PNG
rename to content/v0.3.0/zh/_static/images/autoencoder_new.PNG
diff --git a/v0.3.0/en/_static/images/bottom-rbm.png b/content/v0.3.0/zh/_static/images/bottom-rbm.png
similarity index 100%
rename from v0.3.0/en/_static/images/bottom-rbm.png
rename to content/v0.3.0/zh/_static/images/bottom-rbm.png
diff --git a/v0.3.0/en/_static/images/char-rnn-net.jpg b/content/v0.3.0/zh/_static/images/char-rnn-net.jpg
similarity index 100%
rename from v0.3.0/en/_static/images/char-rnn-net.jpg
rename to content/v0.3.0/zh/_static/images/char-rnn-net.jpg
diff --git a/v0.3.0/en/_static/images/char-rnn.png b/content/v0.3.0/zh/_static/images/char-rnn.png
similarity index 100%
rename from v0.3.0/en/_static/images/char-rnn.png
rename to content/v0.3.0/zh/_static/images/char-rnn.png
diff --git a/v0.3.0/en/_static/images/cnn-example b/content/v0.3.0/zh/_static/images/cnn-example
similarity index 100%
rename from v0.3.0/en/_static/images/cnn-example
rename to content/v0.3.0/zh/_static/images/cnn-example
diff --git a/v0.3.0/en/_static/images/cnn_example.png b/content/v0.3.0/zh/_static/images/cnn_example.png
similarity index 100%
rename from v0.3.0/en/_static/images/cnn_example.png
rename to content/v0.3.0/zh/_static/images/cnn_example.png
diff --git a/v0.3.0/en/_static/images/conv-mnist-datap.png b/content/v0.3.0/zh/_static/images/conv-mnist-datap.png
similarity index 100%
rename from v0.3.0/en/_static/images/conv-mnist-datap.png
rename to content/v0.3.0/zh/_static/images/conv-mnist-datap.png
diff --git a/v0.3.0/en/_static/images/conv-mnist-layerp.png b/content/v0.3.0/zh/_static/images/conv-mnist-layerp.png
similarity index 100%
rename from v0.3.0/en/_static/images/conv-mnist-layerp.png
rename to content/v0.3.0/zh/_static/images/conv-mnist-layerp.png
diff --git a/v0.3.0/en/_static/images/conv-mnist.png b/content/v0.3.0/zh/_static/images/conv-mnist.png
similarity index 100%
rename from v0.3.0/en/_static/images/conv-mnist.png
rename to content/v0.3.0/zh/_static/images/conv-mnist.png
diff --git a/v0.3.0/en/_static/images/dcnn-cifar10.png b/content/v0.3.0/zh/_static/images/dcnn-cifar10.png
similarity index 100%
rename from v0.3.0/en/_static/images/dcnn-cifar10.png
rename to content/v0.3.0/zh/_static/images/dcnn-cifar10.png
diff --git a/v0.3.0/en/_static/images/frameworks.png b/content/v0.3.0/zh/_static/images/distributed/frameworks.png
similarity index 100%
rename from v0.3.0/en/_static/images/frameworks.png
rename to content/v0.3.0/zh/_static/images/distributed/frameworks.png
diff --git a/v0.3.0/en/_static/images/logical.png b/content/v0.3.0/zh/_static/images/distributed/logical.png
similarity index 100%
rename from v0.3.0/en/_static/images/logical.png
rename to content/v0.3.0/zh/_static/images/distributed/logical.png
diff --git a/v0.3.0/en/_static/images/example-autoencoder.png b/content/v0.3.0/zh/_static/images/example-autoencoder.png
similarity index 100%
rename from v0.3.0/en/_static/images/example-autoencoder.png
rename to content/v0.3.0/zh/_static/images/example-autoencoder.png
diff --git a/v0.3.0/en/_static/images/example-cnn.png b/content/v0.3.0/zh/_static/images/example-cnn.png
similarity index 100%
rename from v0.3.0/en/_static/images/example-cnn.png
rename to content/v0.3.0/zh/_static/images/example-cnn.png
diff --git a/v0.3.0/en/_static/images/example-mlp.png b/content/v0.3.0/zh/_static/images/example-mlp.png
similarity index 100%
rename from v0.3.0/en/_static/images/example-mlp.png
rename to content/v0.3.0/zh/_static/images/example-mlp.png
diff --git a/v0.3.0/en/_static/images/example-rbm1.png b/content/v0.3.0/zh/_static/images/example-rbm1.png
similarity index 100%
rename from v0.3.0/en/_static/images/example-rbm1.png
rename to content/v0.3.0/zh/_static/images/example-rbm1.png
diff --git a/v0.3.0/en/_static/images/example-rbm2.png b/content/v0.3.0/zh/_static/images/example-rbm2.png
similarity index 100%
rename from v0.3.0/en/_static/images/example-rbm2.png
rename to content/v0.3.0/zh/_static/images/example-rbm2.png
diff --git a/v0.3.0/en/_static/images/example-rbm3.png b/content/v0.3.0/zh/_static/images/example-rbm3.png
similarity index 100%
rename from v0.3.0/en/_static/images/example-rbm3.png
rename to content/v0.3.0/zh/_static/images/example-rbm3.png
diff --git a/v0.3.0/en/_static/images/example-rbm4.png b/content/v0.3.0/zh/_static/images/example-rbm4.png
similarity index 100%
rename from v0.3.0/en/_static/images/example-rbm4.png
rename to content/v0.3.0/zh/_static/images/example-rbm4.png
diff --git a/v0.3.0/en/_static/images/feature.PNG.1 b/content/v0.3.0/zh/_static/images/feature.PNG.1
similarity index 100%
rename from v0.3.0/en/_static/images/feature.PNG.1
rename to content/v0.3.0/zh/_static/images/feature.PNG.1
diff --git a/v0.3.0/en/_static/images/distributed/frameworks.png b/content/v0.3.0/zh/_static/images/frameworks.png
similarity index 100%
rename from v0.3.0/en/_static/images/distributed/frameworks.png
rename to content/v0.3.0/zh/_static/images/frameworks.png
diff --git a/v0.3.0/en/_static/images/incubator.png b/content/v0.3.0/zh/_static/images/incubator.png
similarity index 100%
rename from v0.3.0/en/_static/images/incubator.png
rename to content/v0.3.0/zh/_static/images/incubator.png
diff --git a/v0.3.0/en/_static/images/layer.png b/content/v0.3.0/zh/_static/images/layer.png
similarity index 100%
rename from v0.3.0/en/_static/images/layer.png
rename to content/v0.3.0/zh/_static/images/layer.png
diff --git a/v0.3.0/en/_static/images/distributed/logical.png b/content/v0.3.0/zh/_static/images/logical.png
similarity index 100%
rename from v0.3.0/en/_static/images/distributed/logical.png
rename to content/v0.3.0/zh/_static/images/logical.png
diff --git a/v0.3.0/en/_static/images/loss-time.png b/content/v0.3.0/zh/_static/images/loss-time.png
similarity index 100%
rename from v0.3.0/en/_static/images/loss-time.png
rename to content/v0.3.0/zh/_static/images/loss-time.png
diff --git a/v0.3.0/en/_static/images/mlp-net.png b/content/v0.3.0/zh/_static/images/mlp-net.png
similarity index 100%
rename from v0.3.0/en/_static/images/mlp-net.png
rename to content/v0.3.0/zh/_static/images/mlp-net.png
diff --git a/v0.3.0/en/_static/images/mlp.png b/content/v0.3.0/zh/_static/images/mlp.png
similarity index 100%
rename from v0.3.0/en/_static/images/mlp.png
rename to content/v0.3.0/zh/_static/images/mlp.png
diff --git a/v0.3.0/en/_static/images/mlp_example.png b/content/v0.3.0/zh/_static/images/mlp_example.png
similarity index 100%
rename from v0.3.0/en/_static/images/mlp_example.png
rename to content/v0.3.0/zh/_static/images/mlp_example.png
diff --git a/v0.3.0/en/_static/images/model-categorization.png b/content/v0.3.0/zh/_static/images/model-categorization.png
similarity index 100%
rename from v0.3.0/en/_static/images/model-categorization.png
rename to content/v0.3.0/zh/_static/images/model-categorization.png
diff --git a/v0.3.0/en/_static/images/model-category.png b/content/v0.3.0/zh/_static/images/model-category.png
similarity index 100%
rename from v0.3.0/en/_static/images/model-category.png
rename to content/v0.3.0/zh/_static/images/model-category.png
diff --git a/v0.3.0/en/_static/images/msg-flow.png b/content/v0.3.0/zh/_static/images/msg-flow.png
similarity index 100%
rename from v0.3.0/en/_static/images/msg-flow.png
rename to content/v0.3.0/zh/_static/images/msg-flow.png
diff --git a/v0.3.0/en/_static/images/msg.png b/content/v0.3.0/zh/_static/images/msg.png
similarity index 100%
rename from v0.3.0/en/_static/images/msg.png
rename to content/v0.3.0/zh/_static/images/msg.png
diff --git a/v0.3.0/en/_static/images/netease.png b/content/v0.3.0/zh/_static/images/netease.png
similarity index 100%
rename from v0.3.0/en/_static/images/netease.png
rename to content/v0.3.0/zh/_static/images/netease.png
diff --git a/v0.3.0/en/_static/images/nrf_logo.png b/content/v0.3.0/zh/_static/images/nrf_logo.png
similarity index 100%
rename from v0.3.0/en/_static/images/nrf_logo.png
rename to content/v0.3.0/zh/_static/images/nrf_logo.png
diff --git a/v0.3.0/en/_static/images/nus.png b/content/v0.3.0/zh/_static/images/nus.png
similarity index 100%
rename from v0.3.0/en/_static/images/nus.png
rename to content/v0.3.0/zh/_static/images/nus.png
diff --git a/v0.3.0/en/_static/images/overview.png b/content/v0.3.0/zh/_static/images/overview.png
similarity index 100%
rename from v0.3.0/en/_static/images/overview.png
rename to content/v0.3.0/zh/_static/images/overview.png
diff --git a/v0.3.0/en/_static/images/partition_fc.png b/content/v0.3.0/zh/_static/images/partition_fc.png
similarity index 100%
rename from v0.3.0/en/_static/images/partition_fc.png
rename to content/v0.3.0/zh/_static/images/partition_fc.png
diff --git a/v0.3.0/en/_static/images/rbm-feature.PNG b/content/v0.3.0/zh/_static/images/rbm-feature.PNG
similarity index 100%
rename from v0.3.0/en/_static/images/rbm-feature.PNG
rename to content/v0.3.0/zh/_static/images/rbm-feature.PNG
diff --git a/v0.3.0/en/_static/images/rbm-rnn.png b/content/v0.3.0/zh/_static/images/rbm-rnn.png
similarity index 100%
rename from v0.3.0/en/_static/images/rbm-rnn.png
rename to content/v0.3.0/zh/_static/images/rbm-rnn.png
diff --git a/v0.3.0/en/_static/images/rbm-weight.PNG b/content/v0.3.0/zh/_static/images/rbm-weight.PNG
similarity index 100%
rename from v0.3.0/en/_static/images/rbm-weight.PNG
rename to content/v0.3.0/zh/_static/images/rbm-weight.PNG
diff --git a/v0.3.0/en/_static/images/rnn-refine.png b/content/v0.3.0/zh/_static/images/rnn-refine.png
similarity index 100%
rename from v0.3.0/en/_static/images/rnn-refine.png
rename to content/v0.3.0/zh/_static/images/rnn-refine.png
diff --git a/v0.3.0/en/_static/images/rnn1.png b/content/v0.3.0/zh/_static/images/rnn1.png
similarity index 100%
rename from v0.3.0/en/_static/images/rnn1.png
rename to content/v0.3.0/zh/_static/images/rnn1.png
diff --git a/v0.3.0/en/_static/images/rnnlm.png b/content/v0.3.0/zh/_static/images/rnnlm.png
similarity index 100%
rename from v0.3.0/en/_static/images/rnnlm.png
rename to content/v0.3.0/zh/_static/images/rnnlm.png
diff --git a/v0.3.0/en/_static/images/sgd.png b/content/v0.3.0/zh/_static/images/sgd.png
similarity index 100%
rename from v0.3.0/en/_static/images/sgd.png
rename to content/v0.3.0/zh/_static/images/sgd.png
diff --git a/v0.3.0/en/_static/images/singa-logo.png b/content/v0.3.0/zh/_static/images/singa-logo.png
similarity index 100%
rename from v0.3.0/en/_static/images/singa-logo.png
rename to content/v0.3.0/zh/_static/images/singa-logo.png
diff --git a/v0.3.0/en/_static/images/singa-title.png b/content/v0.3.0/zh/_static/images/singa-title.png
similarity index 100%
rename from v0.3.0/en/_static/images/singa-title.png
rename to content/v0.3.0/zh/_static/images/singa-title.png
diff --git a/v0.3.0/en/_static/images/singa.jpg b/content/v0.3.0/zh/_static/images/singa.jpg
similarity index 100%
rename from v0.3.0/en/_static/images/singa.jpg
rename to content/v0.3.0/zh/_static/images/singa.jpg
diff --git a/v0.3.0/en/_static/images/software_stack.jpg b/content/v0.3.0/zh/_static/images/software_stack.jpg
similarity index 100%
rename from v0.3.0/en/_static/images/software_stack.jpg
rename to content/v0.3.0/zh/_static/images/software_stack.jpg
diff --git a/v0.3.0/en/_static/images/sutd.png b/content/v0.3.0/zh/_static/images/sutd.png
similarity index 100%
rename from v0.3.0/en/_static/images/sutd.png
rename to content/v0.3.0/zh/_static/images/sutd.png
diff --git a/v0.3.0/en/_static/images/unroll-rbm.png b/content/v0.3.0/zh/_static/images/unroll-rbm.png
similarity index 100%
rename from v0.3.0/en/_static/images/unroll-rbm.png
rename to content/v0.3.0/zh/_static/images/unroll-rbm.png
diff --git a/v0.3.0/en/_static/images/unroll-rnn.png b/content/v0.3.0/zh/_static/images/unroll-rnn.png
similarity index 100%
rename from v0.3.0/en/_static/images/unroll-rnn.png
rename to content/v0.3.0/zh/_static/images/unroll-rnn.png
diff --git a/v0.3.0/en/_static/images/zheda.png b/content/v0.3.0/zh/_static/images/zheda.png
similarity index 100%
rename from v0.3.0/en/_static/images/zheda.png
rename to content/v0.3.0/zh/_static/images/zheda.png
diff --git a/v0.3.0/kr/_static/jquery-1.11.1.js b/content/v0.3.0/zh/_static/jquery-1.11.1.js
similarity index 100%
rename from v0.3.0/kr/_static/jquery-1.11.1.js
rename to content/v0.3.0/zh/_static/jquery-1.11.1.js
diff --git a/v0.3.0/en/_static/jquery.js b/content/v0.3.0/zh/_static/jquery.js
similarity index 100%
rename from v0.3.0/en/_static/jquery.js
rename to content/v0.3.0/zh/_static/jquery.js
diff --git a/en/_static/js/modernizr.min.js b/content/v0.3.0/zh/_static/js/modernizr.min.js
similarity index 100%
rename from en/_static/js/modernizr.min.js
rename to content/v0.3.0/zh/_static/js/modernizr.min.js
diff --git a/v0.3.0/jp/_static/js/theme.js b/content/v0.3.0/zh/_static/js/theme.js
similarity index 100%
rename from v0.3.0/jp/_static/js/theme.js
rename to content/v0.3.0/zh/_static/js/theme.js
diff --git a/v0.3.0/jp/_static/minus.png b/content/v0.3.0/zh/_static/minus.png
similarity index 100%
rename from v0.3.0/jp/_static/minus.png
rename to content/v0.3.0/zh/_static/minus.png
diff --git a/v0.3.0/jp/_static/plus.png b/content/v0.3.0/zh/_static/plus.png
similarity index 100%
rename from v0.3.0/jp/_static/plus.png
rename to content/v0.3.0/zh/_static/plus.png
diff --git a/v0.3.0/jp/_static/pygments.css b/content/v0.3.0/zh/_static/pygments.css
similarity index 100%
rename from v0.3.0/jp/_static/pygments.css
rename to content/v0.3.0/zh/_static/pygments.css
diff --git a/v0.3.0/en/_static/searchtools.js b/content/v0.3.0/zh/_static/searchtools.js
similarity index 100%
rename from v0.3.0/en/_static/searchtools.js
rename to content/v0.3.0/zh/_static/searchtools.js
diff --git a/v0.3.0/en/_static/singa.png b/content/v0.3.0/zh/_static/singa.png
similarity index 100%
rename from v0.3.0/en/_static/singa.png
rename to content/v0.3.0/zh/_static/singa.png
diff --git a/v0.3.0/en/_static/underscore-1.3.1.js b/content/v0.3.0/zh/_static/underscore-1.3.1.js
similarity index 100%
rename from v0.3.0/en/_static/underscore-1.3.1.js
rename to content/v0.3.0/zh/_static/underscore-1.3.1.js
diff --git a/en/_static/underscore.js b/content/v0.3.0/zh/_static/underscore.js
similarity index 100%
rename from en/_static/underscore.js
rename to content/v0.3.0/zh/_static/underscore.js
diff --git a/v0.3.0/jp/_static/up-pressed.png b/content/v0.3.0/zh/_static/up-pressed.png
similarity index 100%
rename from v0.3.0/jp/_static/up-pressed.png
rename to content/v0.3.0/zh/_static/up-pressed.png
diff --git a/v0.3.0/jp/_static/up.png b/content/v0.3.0/zh/_static/up.png
similarity index 100%
rename from v0.3.0/jp/_static/up.png
rename to content/v0.3.0/zh/_static/up.png
diff --git a/v0.3.0/en/_static/websupport.js b/content/v0.3.0/zh/_static/websupport.js
similarity index 100%
rename from v0.3.0/en/_static/websupport.js
rename to content/v0.3.0/zh/_static/websupport.js
diff --git a/v0.3.0/zh/docs/index.html b/content/v0.3.0/zh/docs/index.html
similarity index 100%
rename from v0.3.0/zh/docs/index.html
rename to content/v0.3.0/zh/docs/index.html
diff --git a/v0.3.0/zh/docs/installation_source.html b/content/v0.3.0/zh/docs/installation_source.html
similarity index 100%
rename from v0.3.0/zh/docs/installation_source.html
rename to content/v0.3.0/zh/docs/installation_source.html
diff --git a/v0.3.0/zh/docs/overview.html b/content/v0.3.0/zh/docs/overview.html
similarity index 100%
rename from v0.3.0/zh/docs/overview.html
rename to content/v0.3.0/zh/docs/overview.html
diff --git a/v0.3.0/zh/docs/programming-guide.html b/content/v0.3.0/zh/docs/programming-guide.html
similarity index 100%
rename from v0.3.0/zh/docs/programming-guide.html
rename to content/v0.3.0/zh/docs/programming-guide.html
diff --git a/v0.3.0/zh/genindex.html b/content/v0.3.0/zh/genindex.html
similarity index 100%
rename from v0.3.0/zh/genindex.html
rename to content/v0.3.0/zh/genindex.html
diff --git a/v0.3.0/zh/index.html b/content/v0.3.0/zh/index.html
similarity index 100%
rename from v0.3.0/zh/index.html
rename to content/v0.3.0/zh/index.html
diff --git a/v0.3.0/zh/objects.inv b/content/v0.3.0/zh/objects.inv
similarity index 100%
rename from v0.3.0/zh/objects.inv
rename to content/v0.3.0/zh/objects.inv
diff --git a/v0.3.0/zh/search.html b/content/v0.3.0/zh/search.html
similarity index 100%
rename from v0.3.0/zh/search.html
rename to content/v0.3.0/zh/search.html
diff --git a/v0.3.0/zh/searchindex.js b/content/v0.3.0/zh/searchindex.js
similarity index 100%
rename from v0.3.0/zh/searchindex.js
rename to content/v0.3.0/zh/searchindex.js
diff --git a/v1.1.0/.buildinfo b/content/v1.1.0/.buildinfo
similarity index 100%
rename from v1.1.0/.buildinfo
rename to content/v1.1.0/.buildinfo
diff --git a/v0.3.0/en/_sources/community/issue-tracking.txt b/content/v1.1.0/_sources/community/issue-tracking.txt
similarity index 100%
rename from v0.3.0/en/_sources/community/issue-tracking.txt
rename to content/v1.1.0/_sources/community/issue-tracking.txt
diff --git a/v1.1.0/_sources/community/mail-lists.txt b/content/v1.1.0/_sources/community/mail-lists.txt
similarity index 100%
rename from v1.1.0/_sources/community/mail-lists.txt
rename to content/v1.1.0/_sources/community/mail-lists.txt
diff --git a/v0.3.0/en/_sources/community/source-repository.txt b/content/v1.1.0/_sources/community/source-repository.txt
similarity index 100%
rename from v0.3.0/en/_sources/community/source-repository.txt
rename to content/v1.1.0/_sources/community/source-repository.txt
diff --git a/v1.1.0/_sources/community/team-list.txt b/content/v1.1.0/_sources/community/team-list.txt
similarity index 100%
rename from v1.1.0/_sources/community/team-list.txt
rename to content/v1.1.0/_sources/community/team-list.txt
diff --git a/v1.1.0/_sources/develop/contribute-code.txt b/content/v1.1.0/_sources/develop/contribute-code.txt
similarity index 100%
rename from v1.1.0/_sources/develop/contribute-code.txt
rename to content/v1.1.0/_sources/develop/contribute-code.txt
diff --git a/v1.1.0/_sources/develop/contribute-docs.txt b/content/v1.1.0/_sources/develop/contribute-docs.txt
similarity index 100%
rename from v1.1.0/_sources/develop/contribute-docs.txt
rename to content/v1.1.0/_sources/develop/contribute-docs.txt
diff --git a/v1.1.0/_sources/develop/how-contribute.txt b/content/v1.1.0/_sources/develop/how-contribute.txt
similarity index 100%
rename from v1.1.0/_sources/develop/how-contribute.txt
rename to content/v1.1.0/_sources/develop/how-contribute.txt
diff --git a/v1.1.0/_sources/develop/schedule.txt b/content/v1.1.0/_sources/develop/schedule.txt
similarity index 100%
rename from v1.1.0/_sources/develop/schedule.txt
rename to content/v1.1.0/_sources/develop/schedule.txt
diff --git a/v1.1.0/_sources/docs.txt b/content/v1.1.0/_sources/docs.txt
similarity index 100%
rename from v1.1.0/_sources/docs.txt
rename to content/v1.1.0/_sources/docs.txt
diff --git a/v1.1.0/_sources/docs/cnn.txt b/content/v1.1.0/_sources/docs/cnn.txt
similarity index 100%
rename from v1.1.0/_sources/docs/cnn.txt
rename to content/v1.1.0/_sources/docs/cnn.txt
diff --git a/v1.1.0/_sources/docs/converter.txt b/content/v1.1.0/_sources/docs/converter.txt
similarity index 100%
rename from v1.1.0/_sources/docs/converter.txt
rename to content/v1.1.0/_sources/docs/converter.txt
diff --git a/v1.1.0/_sources/docs/data.txt b/content/v1.1.0/_sources/docs/data.txt
similarity index 100%
rename from v1.1.0/_sources/docs/data.txt
rename to content/v1.1.0/_sources/docs/data.txt
diff --git a/v1.1.0/_sources/docs/dependencies.txt b/content/v1.1.0/_sources/docs/dependencies.txt
similarity index 100%
rename from v1.1.0/_sources/docs/dependencies.txt
rename to content/v1.1.0/_sources/docs/dependencies.txt
diff --git a/v1.1.0/_sources/docs/device.txt b/content/v1.1.0/_sources/docs/device.txt
similarity index 100%
rename from v1.1.0/_sources/docs/device.txt
rename to content/v1.1.0/_sources/docs/device.txt
diff --git a/v1.1.0/_sources/docs/docker.txt b/content/v1.1.0/_sources/docs/docker.txt
similarity index 100%
rename from v1.1.0/_sources/docs/docker.txt
rename to content/v1.1.0/_sources/docs/docker.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/examples/caffe/README.txt b/content/v1.1.0/_sources/docs/examples/caffe/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/examples/caffe/README.txt
rename to content/v1.1.0/_sources/docs/examples/caffe/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/examples/char-rnn/README.txt b/content/v1.1.0/_sources/docs/examples/char-rnn/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/examples/char-rnn/README.txt
rename to content/v1.1.0/_sources/docs/examples/char-rnn/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/examples/cifar10/README.txt b/content/v1.1.0/_sources/docs/examples/cifar10/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/examples/cifar10/README.txt
rename to content/v1.1.0/_sources/docs/examples/cifar10/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/imagenet/alexnet/README.txt b/content/v1.1.0/_sources/docs/examples/imagenet/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/imagenet/alexnet/README.txt
rename to content/v1.1.0/_sources/docs/examples/imagenet/README.txt
diff --git a/v1.1.0/_sources/docs/examples/index.txt b/content/v1.1.0/_sources/docs/examples/index.txt
similarity index 100%
rename from v1.1.0/_sources/docs/examples/index.txt
rename to content/v1.1.0/_sources/docs/examples/index.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/mnist/README.txt b/content/v1.1.0/_sources/docs/examples/mnist/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/mnist/README.txt
rename to content/v1.1.0/_sources/docs/examples/mnist/README.txt
diff --git a/v1.1.0/_sources/docs/image_tool.txt b/content/v1.1.0/_sources/docs/image_tool.txt
similarity index 100%
rename from v1.1.0/_sources/docs/image_tool.txt
rename to content/v1.1.0/_sources/docs/image_tool.txt
diff --git a/v1.1.0/_sources/docs/index.txt b/content/v1.1.0/_sources/docs/index.txt
similarity index 100%
rename from v1.1.0/_sources/docs/index.txt
rename to content/v1.1.0/_sources/docs/index.txt
diff --git a/v1.1.0/_sources/docs/initializer.txt b/content/v1.1.0/_sources/docs/initializer.txt
similarity index 100%
rename from v1.1.0/_sources/docs/initializer.txt
rename to content/v1.1.0/_sources/docs/initializer.txt
diff --git a/v1.1.0/_sources/docs/installation.txt b/content/v1.1.0/_sources/docs/installation.txt
similarity index 100%
rename from v1.1.0/_sources/docs/installation.txt
rename to content/v1.1.0/_sources/docs/installation.txt
diff --git a/v1.1.0/_sources/docs/layer.txt b/content/v1.1.0/_sources/docs/layer.txt
similarity index 100%
rename from v1.1.0/_sources/docs/layer.txt
rename to content/v1.1.0/_sources/docs/layer.txt
diff --git a/v1.1.0/_sources/docs/loss.txt b/content/v1.1.0/_sources/docs/loss.txt
similarity index 100%
rename from v1.1.0/_sources/docs/loss.txt
rename to content/v1.1.0/_sources/docs/loss.txt
diff --git a/v1.1.0/_sources/docs/metric.txt b/content/v1.1.0/_sources/docs/metric.txt
similarity index 100%
rename from v1.1.0/_sources/docs/metric.txt
rename to content/v1.1.0/_sources/docs/metric.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/caffe/README.txt b/content/v1.1.0/_sources/docs/model_zoo/caffe/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/caffe/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/caffe/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/char-rnn/README.txt b/content/v1.1.0/_sources/docs/model_zoo/char-rnn/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/char-rnn/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/char-rnn/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/cifar10/README.txt b/content/v1.1.0/_sources/docs/model_zoo/cifar10/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/cifar10/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/cifar10/README.txt
diff --git a/v1.1.0/_sources/docs/examples/caffe/README.txt b/content/v1.1.0/_sources/docs/model_zoo/examples/caffe/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/examples/caffe/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/examples/caffe/README.txt
diff --git a/v1.1.0/_sources/docs/examples/char-rnn/README.txt b/content/v1.1.0/_sources/docs/model_zoo/examples/char-rnn/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/examples/char-rnn/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/examples/char-rnn/README.txt
diff --git a/v1.1.0/_sources/docs/examples/cifar10/README.txt b/content/v1.1.0/_sources/docs/model_zoo/examples/cifar10/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/examples/cifar10/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/examples/cifar10/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/imagenet/README.txt b/content/v1.1.0/_sources/docs/model_zoo/examples/imagenet/alexnet/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/imagenet/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/examples/imagenet/alexnet/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/imagenet/googlenet/README.txt b/content/v1.1.0/_sources/docs/model_zoo/examples/imagenet/googlenet/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/imagenet/googlenet/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/examples/imagenet/googlenet/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/index.txt b/content/v1.1.0/_sources/docs/model_zoo/examples/index.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/index.txt
rename to content/v1.1.0/_sources/docs/model_zoo/examples/index.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/examples/mnist/README.txt b/content/v1.1.0/_sources/docs/model_zoo/examples/mnist/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/examples/mnist/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/examples/mnist/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/examples/imagenet/alexnet/README.txt b/content/v1.1.0/_sources/docs/model_zoo/imagenet/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/examples/imagenet/alexnet/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/imagenet/README.txt
diff --git a/v1.1.0/_sources/docs/examples/imagenet/README.txt b/content/v1.1.0/_sources/docs/model_zoo/imagenet/alexnet/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/examples/imagenet/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/imagenet/alexnet/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/examples/imagenet/googlenet/README.txt b/content/v1.1.0/_sources/docs/model_zoo/imagenet/googlenet/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/examples/imagenet/googlenet/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/imagenet/googlenet/README.txt
diff --git a/v1.1.0/_sources/docs/model_zoo/examples/index.txt b/content/v1.1.0/_sources/docs/model_zoo/index.txt
similarity index 100%
rename from v1.1.0/_sources/docs/model_zoo/examples/index.txt
rename to content/v1.1.0/_sources/docs/model_zoo/index.txt
diff --git a/v1.1.0/_sources/docs/examples/mnist/README.txt b/content/v1.1.0/_sources/docs/model_zoo/mnist/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/examples/mnist/README.txt
rename to content/v1.1.0/_sources/docs/model_zoo/mnist/README.txt
diff --git a/v1.1.0/_sources/docs/net.txt b/content/v1.1.0/_sources/docs/net.txt
similarity index 100%
rename from v1.1.0/_sources/docs/net.txt
rename to content/v1.1.0/_sources/docs/net.txt
diff --git a/v1.1.0/_sources/docs/neural-net.txt b/content/v1.1.0/_sources/docs/neural-net.txt
similarity index 100%
rename from v1.1.0/_sources/docs/neural-net.txt
rename to content/v1.1.0/_sources/docs/neural-net.txt
diff --git a/v1.1.0/_sources/docs/notebook/README.txt b/content/v1.1.0/_sources/docs/notebook/README.txt
similarity index 100%
rename from v1.1.0/_sources/docs/notebook/README.txt
rename to content/v1.1.0/_sources/docs/notebook/README.txt
diff --git a/v1.1.0/_sources/docs/optimizer.txt b/content/v1.1.0/_sources/docs/optimizer.txt
similarity index 100%
rename from v1.1.0/_sources/docs/optimizer.txt
rename to content/v1.1.0/_sources/docs/optimizer.txt
diff --git a/v1.1.0/_sources/docs/snapshot.txt b/content/v1.1.0/_sources/docs/snapshot.txt
similarity index 100%
rename from v1.1.0/_sources/docs/snapshot.txt
rename to content/v1.1.0/_sources/docs/snapshot.txt
diff --git a/v1.1.0/_sources/docs/software_stack.txt b/content/v1.1.0/_sources/docs/software_stack.txt
similarity index 100%
rename from v1.1.0/_sources/docs/software_stack.txt
rename to content/v1.1.0/_sources/docs/software_stack.txt
diff --git a/v1.1.0/_sources/docs/tensor.txt b/content/v1.1.0/_sources/docs/tensor.txt
similarity index 100%
rename from v1.1.0/_sources/docs/tensor.txt
rename to content/v1.1.0/_sources/docs/tensor.txt
diff --git a/v1.1.0/_sources/docs/utils.txt b/content/v1.1.0/_sources/docs/utils.txt
similarity index 100%
rename from v1.1.0/_sources/docs/utils.txt
rename to content/v1.1.0/_sources/docs/utils.txt
diff --git a/v1.1.0/_sources/downloads.txt b/content/v1.1.0/_sources/downloads.txt
similarity index 100%
rename from v1.1.0/_sources/downloads.txt
rename to content/v1.1.0/_sources/downloads.txt
diff --git a/v1.1.0/_sources/index.txt b/content/v1.1.0/_sources/index.txt
similarity index 100%
rename from v1.1.0/_sources/index.txt
rename to content/v1.1.0/_sources/index.txt
diff --git a/v1.1.0/_sources/releases/RELEASE_NOTES_0.1.0.txt b/content/v1.1.0/_sources/releases/RELEASE_NOTES_0.1.0.txt
similarity index 100%
rename from v1.1.0/_sources/releases/RELEASE_NOTES_0.1.0.txt
rename to content/v1.1.0/_sources/releases/RELEASE_NOTES_0.1.0.txt
diff --git a/v1.1.0/_sources/releases/RELEASE_NOTES_0.2.0.txt b/content/v1.1.0/_sources/releases/RELEASE_NOTES_0.2.0.txt
similarity index 100%
rename from v1.1.0/_sources/releases/RELEASE_NOTES_0.2.0.txt
rename to content/v1.1.0/_sources/releases/RELEASE_NOTES_0.2.0.txt
diff --git a/v1.1.0/_sources/releases/RELEASE_NOTES_0.3.0.txt b/content/v1.1.0/_sources/releases/RELEASE_NOTES_0.3.0.txt
similarity index 100%
rename from v1.1.0/_sources/releases/RELEASE_NOTES_0.3.0.txt
rename to content/v1.1.0/_sources/releases/RELEASE_NOTES_0.3.0.txt
diff --git a/v1.1.0/_sources/releases/RELEASE_NOTES_1.0.0.txt b/content/v1.1.0/_sources/releases/RELEASE_NOTES_1.0.0.txt
similarity index 100%
rename from v1.1.0/_sources/releases/RELEASE_NOTES_1.0.0.txt
rename to content/v1.1.0/_sources/releases/RELEASE_NOTES_1.0.0.txt
diff --git a/v1.1.0/_sources/releases/RELEASE_NOTES_1.1.0.txt b/content/v1.1.0/_sources/releases/RELEASE_NOTES_1.1.0.txt
similarity index 100%
rename from v1.1.0/_sources/releases/RELEASE_NOTES_1.1.0.txt
rename to content/v1.1.0/_sources/releases/RELEASE_NOTES_1.1.0.txt
diff --git a/en/_static/ajax-loader.gif b/content/v1.1.0/_static/ajax-loader.gif
similarity index 100%
rename from en/_static/ajax-loader.gif
rename to content/v1.1.0/_static/ajax-loader.gif
diff --git a/v0.3.0/jp/_static/apache.jpg b/content/v1.1.0/_static/apache.jpg
similarity index 100%
rename from v0.3.0/jp/_static/apache.jpg
rename to content/v1.1.0/_static/apache.jpg
diff --git a/v1.1.0/_static/basic.css b/content/v1.1.0/_static/basic.css
similarity index 100%
rename from v1.1.0/_static/basic.css
rename to content/v1.1.0/_static/basic.css
diff --git a/v0.3.0/en/_static/comment-bright.png b/content/v1.1.0/_static/comment-bright.png
similarity index 100%
rename from v0.3.0/en/_static/comment-bright.png
rename to content/v1.1.0/_static/comment-bright.png
diff --git a/v0.3.0/en/_static/comment-close.png b/content/v1.1.0/_static/comment-close.png
similarity index 100%
rename from v0.3.0/en/_static/comment-close.png
rename to content/v1.1.0/_static/comment-close.png
diff --git a/v0.3.0/en/_static/comment.png b/content/v1.1.0/_static/comment.png
similarity index 100%
rename from v0.3.0/en/_static/comment.png
rename to content/v1.1.0/_static/comment.png
diff --git a/v0.3.0/en/_static/css/badge_only.css b/content/v1.1.0/_static/css/badge_only.css
similarity index 100%
rename from v0.3.0/en/_static/css/badge_only.css
rename to content/v1.1.0/_static/css/badge_only.css
diff --git a/v0.3.0/en/_static/css/theme.css b/content/v1.1.0/_static/css/theme.css
similarity index 100%
rename from v0.3.0/en/_static/css/theme.css
rename to content/v1.1.0/_static/css/theme.css
diff --git a/v1.1.0/_static/doctools.js b/content/v1.1.0/_static/doctools.js
similarity index 100%
rename from v1.1.0/_static/doctools.js
rename to content/v1.1.0/_static/doctools.js
diff --git a/v0.3.0/en/_static/down-pressed.png b/content/v1.1.0/_static/down-pressed.png
similarity index 100%
rename from v0.3.0/en/_static/down-pressed.png
rename to content/v1.1.0/_static/down-pressed.png
diff --git a/v0.3.0/en/_static/down.png b/content/v1.1.0/_static/down.png
similarity index 100%
rename from v0.3.0/en/_static/down.png
rename to content/v1.1.0/_static/down.png
diff --git a/v0.3.0/en/_static/file.png b/content/v1.1.0/_static/file.png
similarity index 100%
rename from v0.3.0/en/_static/file.png
rename to content/v1.1.0/_static/file.png
diff --git a/v0.3.0/en/_static/fonts/Inconsolata-Bold.ttf b/content/v1.1.0/_static/fonts/Inconsolata-Bold.ttf
similarity index 100%
rename from v0.3.0/en/_static/fonts/Inconsolata-Bold.ttf
rename to content/v1.1.0/_static/fonts/Inconsolata-Bold.ttf
diff --git a/v0.3.0/en/_static/fonts/Inconsolata-Regular.ttf b/content/v1.1.0/_static/fonts/Inconsolata-Regular.ttf
similarity index 100%
rename from v0.3.0/en/_static/fonts/Inconsolata-Regular.ttf
rename to content/v1.1.0/_static/fonts/Inconsolata-Regular.ttf
diff --git a/v1.1.0/_static/fonts/Lato-Bold.ttf b/content/v1.1.0/_static/fonts/Lato-Bold.ttf
similarity index 100%
rename from v1.1.0/_static/fonts/Lato-Bold.ttf
rename to content/v1.1.0/_static/fonts/Lato-Bold.ttf
diff --git a/v1.1.0/_static/fonts/Lato-Regular.ttf b/content/v1.1.0/_static/fonts/Lato-Regular.ttf
similarity index 100%
rename from v1.1.0/_static/fonts/Lato-Regular.ttf
rename to content/v1.1.0/_static/fonts/Lato-Regular.ttf
diff --git a/en/_static/fonts/RobotoSlab-Bold.ttf b/content/v1.1.0/_static/fonts/RobotoSlab-Bold.ttf
similarity index 100%
rename from en/_static/fonts/RobotoSlab-Bold.ttf
rename to content/v1.1.0/_static/fonts/RobotoSlab-Bold.ttf
diff --git a/en/_static/fonts/RobotoSlab-Regular.ttf b/content/v1.1.0/_static/fonts/RobotoSlab-Regular.ttf
similarity index 100%
rename from en/_static/fonts/RobotoSlab-Regular.ttf
rename to content/v1.1.0/_static/fonts/RobotoSlab-Regular.ttf
diff --git a/v1.1.0/_static/fonts/fontawesome-webfont.eot b/content/v1.1.0/_static/fonts/fontawesome-webfont.eot
similarity index 100%
rename from v1.1.0/_static/fonts/fontawesome-webfont.eot
rename to content/v1.1.0/_static/fonts/fontawesome-webfont.eot
diff --git a/v1.1.0/_static/fonts/fontawesome-webfont.svg b/content/v1.1.0/_static/fonts/fontawesome-webfont.svg
similarity index 100%
rename from v1.1.0/_static/fonts/fontawesome-webfont.svg
rename to content/v1.1.0/_static/fonts/fontawesome-webfont.svg
diff --git a/v1.1.0/_static/fonts/fontawesome-webfont.ttf b/content/v1.1.0/_static/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from v1.1.0/_static/fonts/fontawesome-webfont.ttf
rename to content/v1.1.0/_static/fonts/fontawesome-webfont.ttf
diff --git a/v1.1.0/_static/fonts/fontawesome-webfont.woff b/content/v1.1.0/_static/fonts/fontawesome-webfont.woff
similarity index 100%
rename from v1.1.0/_static/fonts/fontawesome-webfont.woff
rename to content/v1.1.0/_static/fonts/fontawesome-webfont.woff
diff --git a/en/_static/images/mlp-net.png b/content/v1.1.0/_static/images/mlp-net.png
similarity index 100%
rename from en/_static/images/mlp-net.png
rename to content/v1.1.0/_static/images/mlp-net.png
diff --git a/en/_static/images/model-category.png b/content/v1.1.0/_static/images/model-category.png
similarity index 100%
rename from en/_static/images/model-category.png
rename to content/v1.1.0/_static/images/model-category.png
diff --git a/en/_static/images/overview.png b/content/v1.1.0/_static/images/overview.png
similarity index 100%
rename from en/_static/images/overview.png
rename to content/v1.1.0/_static/images/overview.png
diff --git a/en/_static/images/partition_fc.png b/content/v1.1.0/_static/images/partition_fc.png
similarity index 100%
rename from en/_static/images/partition_fc.png
rename to content/v1.1.0/_static/images/partition_fc.png
diff --git a/en/_static/images/rbm-rnn.png b/content/v1.1.0/_static/images/rbm-rnn.png
similarity index 100%
rename from en/_static/images/rbm-rnn.png
rename to content/v1.1.0/_static/images/rbm-rnn.png
diff --git a/en/_static/images/sgd.png b/content/v1.1.0/_static/images/sgd.png
similarity index 100%
rename from en/_static/images/sgd.png
rename to content/v1.1.0/_static/images/sgd.png
diff --git a/en/_static/images/singa.png b/content/v1.1.0/_static/images/singa.png
similarity index 100%
rename from en/_static/images/singa.png
rename to content/v1.1.0/_static/images/singa.png
diff --git a/en/_static/images/singav1-sw.png b/content/v1.1.0/_static/images/singav1-sw.png
similarity index 100%
rename from en/_static/images/singav1-sw.png
rename to content/v1.1.0/_static/images/singav1-sw.png
diff --git a/v0.3.0/jp/_static/jquery-1.11.1.js b/content/v1.1.0/_static/jquery-1.11.1.js
similarity index 100%
rename from v0.3.0/jp/_static/jquery-1.11.1.js
rename to content/v1.1.0/_static/jquery-1.11.1.js
diff --git a/v1.1.0/_static/jquery.js b/content/v1.1.0/_static/jquery.js
similarity index 100%
rename from v1.1.0/_static/jquery.js
rename to content/v1.1.0/_static/jquery.js
diff --git a/v1.1.0/_static/js/modernizr.min.js b/content/v1.1.0/_static/js/modernizr.min.js
similarity index 100%
rename from v1.1.0/_static/js/modernizr.min.js
rename to content/v1.1.0/_static/js/modernizr.min.js
diff --git a/v0.3.0/en/_static/js/theme.js b/content/v1.1.0/_static/js/theme.js
similarity index 100%
rename from v0.3.0/en/_static/js/theme.js
rename to content/v1.1.0/_static/js/theme.js
diff --git a/v0.3.0/en/_static/minus.png b/content/v1.1.0/_static/minus.png
similarity index 100%
rename from v0.3.0/en/_static/minus.png
rename to content/v1.1.0/_static/minus.png
diff --git a/v0.3.0/en/_static/plus.png b/content/v1.1.0/_static/plus.png
similarity index 100%
rename from v0.3.0/en/_static/plus.png
rename to content/v1.1.0/_static/plus.png
diff --git a/v0.3.0/en/_static/pygments.css b/content/v1.1.0/_static/pygments.css
similarity index 100%
rename from v0.3.0/en/_static/pygments.css
rename to content/v1.1.0/_static/pygments.css
diff --git a/v1.1.0/_static/searchtools.js b/content/v1.1.0/_static/searchtools.js
similarity index 100%
rename from v1.1.0/_static/searchtools.js
rename to content/v1.1.0/_static/searchtools.js
diff --git a/en/_static/singa.png b/content/v1.1.0/_static/singa.png
similarity index 100%
rename from en/_static/singa.png
rename to content/v1.1.0/_static/singa.png
diff --git a/v1.1.0/_static/style.css b/content/v1.1.0/_static/style.css
similarity index 100%
rename from v1.1.0/_static/style.css
rename to content/v1.1.0/_static/style.css
diff --git a/en/_static/underscore-1.3.1.js b/content/v1.1.0/_static/underscore-1.3.1.js
similarity index 100%
rename from en/_static/underscore-1.3.1.js
rename to content/v1.1.0/_static/underscore-1.3.1.js
diff --git a/v1.1.0/_static/underscore.js b/content/v1.1.0/_static/underscore.js
similarity index 100%
rename from v1.1.0/_static/underscore.js
rename to content/v1.1.0/_static/underscore.js
diff --git a/v0.3.0/en/_static/up-pressed.png b/content/v1.1.0/_static/up-pressed.png
similarity index 100%
rename from v0.3.0/en/_static/up-pressed.png
rename to content/v1.1.0/_static/up-pressed.png
diff --git a/v0.3.0/en/_static/up.png b/content/v1.1.0/_static/up.png
similarity index 100%
rename from v0.3.0/en/_static/up.png
rename to content/v1.1.0/_static/up.png
diff --git a/v1.1.0/_static/websupport.js b/content/v1.1.0/_static/websupport.js
similarity index 100%
rename from v1.1.0/_static/websupport.js
rename to content/v1.1.0/_static/websupport.js
diff --git a/v1.1.0/community/issue-tracking.html b/content/v1.1.0/community/issue-tracking.html
similarity index 100%
rename from v1.1.0/community/issue-tracking.html
rename to content/v1.1.0/community/issue-tracking.html
diff --git a/v1.1.0/community/mail-lists.html b/content/v1.1.0/community/mail-lists.html
similarity index 100%
rename from v1.1.0/community/mail-lists.html
rename to content/v1.1.0/community/mail-lists.html
diff --git a/v1.1.0/community/source-repository.html b/content/v1.1.0/community/source-repository.html
similarity index 100%
rename from v1.1.0/community/source-repository.html
rename to content/v1.1.0/community/source-repository.html
diff --git a/v1.1.0/community/team-list.html b/content/v1.1.0/community/team-list.html
similarity index 100%
rename from v1.1.0/community/team-list.html
rename to content/v1.1.0/community/team-list.html
diff --git a/v1.1.0/develop/contribute-code.html b/content/v1.1.0/develop/contribute-code.html
similarity index 100%
rename from v1.1.0/develop/contribute-code.html
rename to content/v1.1.0/develop/contribute-code.html
diff --git a/v1.1.0/develop/contribute-docs.html b/content/v1.1.0/develop/contribute-docs.html
similarity index 100%
rename from v1.1.0/develop/contribute-docs.html
rename to content/v1.1.0/develop/contribute-docs.html
diff --git a/v1.1.0/develop/how-contribute.html b/content/v1.1.0/develop/how-contribute.html
similarity index 100%
rename from v1.1.0/develop/how-contribute.html
rename to content/v1.1.0/develop/how-contribute.html
diff --git a/v1.1.0/develop/schedule.html b/content/v1.1.0/develop/schedule.html
similarity index 100%
rename from v1.1.0/develop/schedule.html
rename to content/v1.1.0/develop/schedule.html
diff --git a/v1.1.0/docs.html b/content/v1.1.0/docs.html
similarity index 100%
rename from v1.1.0/docs.html
rename to content/v1.1.0/docs.html
diff --git a/v1.1.0/docs/cnn.html b/content/v1.1.0/docs/cnn.html
similarity index 100%
rename from v1.1.0/docs/cnn.html
rename to content/v1.1.0/docs/cnn.html
diff --git a/v1.1.0/docs/converter.html b/content/v1.1.0/docs/converter.html
similarity index 100%
rename from v1.1.0/docs/converter.html
rename to content/v1.1.0/docs/converter.html
diff --git a/v1.1.0/docs/data.html b/content/v1.1.0/docs/data.html
similarity index 100%
rename from v1.1.0/docs/data.html
rename to content/v1.1.0/docs/data.html
diff --git a/v1.1.0/docs/dependencies.html b/content/v1.1.0/docs/dependencies.html
similarity index 100%
rename from v1.1.0/docs/dependencies.html
rename to content/v1.1.0/docs/dependencies.html
diff --git a/v1.1.0/docs/device.html b/content/v1.1.0/docs/device.html
similarity index 100%
rename from v1.1.0/docs/device.html
rename to content/v1.1.0/docs/device.html
diff --git a/v1.1.0/docs/docker.html b/content/v1.1.0/docs/docker.html
similarity index 100%
rename from v1.1.0/docs/docker.html
rename to content/v1.1.0/docs/docker.html
diff --git a/v1.1.0/docs/examples/caffe/README.html b/content/v1.1.0/docs/examples/caffe/README.html
similarity index 100%
rename from v1.1.0/docs/examples/caffe/README.html
rename to content/v1.1.0/docs/examples/caffe/README.html
diff --git a/v1.1.0/docs/examples/char-rnn/README.html b/content/v1.1.0/docs/examples/char-rnn/README.html
similarity index 100%
rename from v1.1.0/docs/examples/char-rnn/README.html
rename to content/v1.1.0/docs/examples/char-rnn/README.html
diff --git a/v1.1.0/docs/examples/cifar10/README.html b/content/v1.1.0/docs/examples/cifar10/README.html
similarity index 100%
rename from v1.1.0/docs/examples/cifar10/README.html
rename to content/v1.1.0/docs/examples/cifar10/README.html
diff --git a/v1.1.0/docs/examples/imagenet/README.html b/content/v1.1.0/docs/examples/imagenet/README.html
similarity index 100%
rename from v1.1.0/docs/examples/imagenet/README.html
rename to content/v1.1.0/docs/examples/imagenet/README.html
diff --git a/v1.1.0/docs/examples/index.html b/content/v1.1.0/docs/examples/index.html
similarity index 100%
rename from v1.1.0/docs/examples/index.html
rename to content/v1.1.0/docs/examples/index.html
diff --git a/v1.1.0/docs/examples/mnist/README.html b/content/v1.1.0/docs/examples/mnist/README.html
similarity index 100%
rename from v1.1.0/docs/examples/mnist/README.html
rename to content/v1.1.0/docs/examples/mnist/README.html
diff --git a/v1.1.0/docs/image_tool.html b/content/v1.1.0/docs/image_tool.html
similarity index 100%
rename from v1.1.0/docs/image_tool.html
rename to content/v1.1.0/docs/image_tool.html
diff --git a/v1.1.0/docs/index.html b/content/v1.1.0/docs/index.html
similarity index 100%
rename from v1.1.0/docs/index.html
rename to content/v1.1.0/docs/index.html
diff --git a/v1.1.0/docs/initializer.html b/content/v1.1.0/docs/initializer.html
similarity index 100%
rename from v1.1.0/docs/initializer.html
rename to content/v1.1.0/docs/initializer.html
diff --git a/v1.1.0/docs/installation.html b/content/v1.1.0/docs/installation.html
similarity index 100%
rename from v1.1.0/docs/installation.html
rename to content/v1.1.0/docs/installation.html
diff --git a/v1.1.0/docs/layer.html b/content/v1.1.0/docs/layer.html
similarity index 100%
rename from v1.1.0/docs/layer.html
rename to content/v1.1.0/docs/layer.html
diff --git a/v1.1.0/docs/loss.html b/content/v1.1.0/docs/loss.html
similarity index 100%
rename from v1.1.0/docs/loss.html
rename to content/v1.1.0/docs/loss.html
diff --git a/v1.1.0/docs/metric.html b/content/v1.1.0/docs/metric.html
similarity index 100%
rename from v1.1.0/docs/metric.html
rename to content/v1.1.0/docs/metric.html
diff --git a/v1.1.0/docs/model_zoo/caffe/README.html b/content/v1.1.0/docs/model_zoo/caffe/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/caffe/README.html
rename to content/v1.1.0/docs/model_zoo/caffe/README.html
diff --git a/v1.1.0/docs/model_zoo/char-rnn/README.html b/content/v1.1.0/docs/model_zoo/char-rnn/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/char-rnn/README.html
rename to content/v1.1.0/docs/model_zoo/char-rnn/README.html
diff --git a/v1.1.0/docs/model_zoo/cifar10/README.html b/content/v1.1.0/docs/model_zoo/cifar10/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/cifar10/README.html
rename to content/v1.1.0/docs/model_zoo/cifar10/README.html
diff --git a/v1.1.0/docs/model_zoo/examples/caffe/README.html b/content/v1.1.0/docs/model_zoo/examples/caffe/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/examples/caffe/README.html
rename to content/v1.1.0/docs/model_zoo/examples/caffe/README.html
diff --git a/v1.1.0/docs/model_zoo/examples/char-rnn/README.html b/content/v1.1.0/docs/model_zoo/examples/char-rnn/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/examples/char-rnn/README.html
rename to content/v1.1.0/docs/model_zoo/examples/char-rnn/README.html
diff --git a/v1.1.0/docs/model_zoo/examples/cifar10/README.html b/content/v1.1.0/docs/model_zoo/examples/cifar10/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/examples/cifar10/README.html
rename to content/v1.1.0/docs/model_zoo/examples/cifar10/README.html
diff --git a/v1.1.0/docs/model_zoo/examples/imagenet/alexnet/README.html b/content/v1.1.0/docs/model_zoo/examples/imagenet/alexnet/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/examples/imagenet/alexnet/README.html
rename to content/v1.1.0/docs/model_zoo/examples/imagenet/alexnet/README.html
diff --git a/v1.1.0/docs/model_zoo/examples/imagenet/googlenet/README.html b/content/v1.1.0/docs/model_zoo/examples/imagenet/googlenet/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/examples/imagenet/googlenet/README.html
rename to content/v1.1.0/docs/model_zoo/examples/imagenet/googlenet/README.html
diff --git a/v1.1.0/docs/model_zoo/examples/index.html b/content/v1.1.0/docs/model_zoo/examples/index.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/examples/index.html
rename to content/v1.1.0/docs/model_zoo/examples/index.html
diff --git a/v1.1.0/docs/model_zoo/examples/mnist/README.html b/content/v1.1.0/docs/model_zoo/examples/mnist/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/examples/mnist/README.html
rename to content/v1.1.0/docs/model_zoo/examples/mnist/README.html
diff --git a/v1.1.0/docs/model_zoo/imagenet/README.html b/content/v1.1.0/docs/model_zoo/imagenet/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/imagenet/README.html
rename to content/v1.1.0/docs/model_zoo/imagenet/README.html
diff --git a/v1.1.0/docs/model_zoo/imagenet/alexnet/README.html b/content/v1.1.0/docs/model_zoo/imagenet/alexnet/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/imagenet/alexnet/README.html
rename to content/v1.1.0/docs/model_zoo/imagenet/alexnet/README.html
diff --git a/v1.1.0/docs/model_zoo/imagenet/googlenet/README.html b/content/v1.1.0/docs/model_zoo/imagenet/googlenet/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/imagenet/googlenet/README.html
rename to content/v1.1.0/docs/model_zoo/imagenet/googlenet/README.html
diff --git a/v1.1.0/docs/model_zoo/index.html b/content/v1.1.0/docs/model_zoo/index.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/index.html
rename to content/v1.1.0/docs/model_zoo/index.html
diff --git a/v1.1.0/docs/model_zoo/mnist/README.html b/content/v1.1.0/docs/model_zoo/mnist/README.html
similarity index 100%
rename from v1.1.0/docs/model_zoo/mnist/README.html
rename to content/v1.1.0/docs/model_zoo/mnist/README.html
diff --git a/v1.1.0/docs/net.html b/content/v1.1.0/docs/net.html
similarity index 100%
rename from v1.1.0/docs/net.html
rename to content/v1.1.0/docs/net.html
diff --git a/v1.1.0/docs/neural-net.html b/content/v1.1.0/docs/neural-net.html
similarity index 100%
rename from v1.1.0/docs/neural-net.html
rename to content/v1.1.0/docs/neural-net.html
diff --git a/v1.1.0/docs/notebook/README.html b/content/v1.1.0/docs/notebook/README.html
similarity index 100%
rename from v1.1.0/docs/notebook/README.html
rename to content/v1.1.0/docs/notebook/README.html
diff --git a/v1.1.0/docs/optimizer.html b/content/v1.1.0/docs/optimizer.html
similarity index 100%
rename from v1.1.0/docs/optimizer.html
rename to content/v1.1.0/docs/optimizer.html
diff --git a/v1.1.0/docs/snapshot.html b/content/v1.1.0/docs/snapshot.html
similarity index 100%
rename from v1.1.0/docs/snapshot.html
rename to content/v1.1.0/docs/snapshot.html
diff --git a/v1.1.0/docs/software_stack.html b/content/v1.1.0/docs/software_stack.html
similarity index 100%
rename from v1.1.0/docs/software_stack.html
rename to content/v1.1.0/docs/software_stack.html
diff --git a/v1.1.0/docs/tensor.html b/content/v1.1.0/docs/tensor.html
similarity index 100%
rename from v1.1.0/docs/tensor.html
rename to content/v1.1.0/docs/tensor.html
diff --git a/v1.1.0/docs/utils.html b/content/v1.1.0/docs/utils.html
similarity index 100%
rename from v1.1.0/docs/utils.html
rename to content/v1.1.0/docs/utils.html
diff --git a/v1.1.0/downloads.html b/content/v1.1.0/downloads.html
similarity index 100%
rename from v1.1.0/downloads.html
rename to content/v1.1.0/downloads.html
diff --git a/v1.1.0/genindex.html b/content/v1.1.0/genindex.html
similarity index 100%
rename from v1.1.0/genindex.html
rename to content/v1.1.0/genindex.html
diff --git a/v1.1.0/index.html b/content/v1.1.0/index.html
similarity index 100%
rename from v1.1.0/index.html
rename to content/v1.1.0/index.html
diff --git a/v1.1.0/objects.inv b/content/v1.1.0/objects.inv
similarity index 100%
rename from v1.1.0/objects.inv
rename to content/v1.1.0/objects.inv
diff --git a/v1.1.0/py-modindex.html b/content/v1.1.0/py-modindex.html
similarity index 100%
rename from v1.1.0/py-modindex.html
rename to content/v1.1.0/py-modindex.html
diff --git a/v1.1.0/releases/RELEASE_NOTES_0.1.0.html b/content/v1.1.0/releases/RELEASE_NOTES_0.1.0.html
similarity index 100%
rename from v1.1.0/releases/RELEASE_NOTES_0.1.0.html
rename to content/v1.1.0/releases/RELEASE_NOTES_0.1.0.html
diff --git a/v1.1.0/releases/RELEASE_NOTES_0.2.0.html b/content/v1.1.0/releases/RELEASE_NOTES_0.2.0.html
similarity index 100%
rename from v1.1.0/releases/RELEASE_NOTES_0.2.0.html
rename to content/v1.1.0/releases/RELEASE_NOTES_0.2.0.html
diff --git a/v1.1.0/releases/RELEASE_NOTES_0.3.0.html b/content/v1.1.0/releases/RELEASE_NOTES_0.3.0.html
similarity index 100%
rename from v1.1.0/releases/RELEASE_NOTES_0.3.0.html
rename to content/v1.1.0/releases/RELEASE_NOTES_0.3.0.html
diff --git a/v1.1.0/releases/RELEASE_NOTES_1.0.0.html b/content/v1.1.0/releases/RELEASE_NOTES_1.0.0.html
similarity index 100%
rename from v1.1.0/releases/RELEASE_NOTES_1.0.0.html
rename to content/v1.1.0/releases/RELEASE_NOTES_1.0.0.html
diff --git a/v1.1.0/releases/RELEASE_NOTES_1.1.0.html b/content/v1.1.0/releases/RELEASE_NOTES_1.1.0.html
similarity index 100%
rename from v1.1.0/releases/RELEASE_NOTES_1.1.0.html
rename to content/v1.1.0/releases/RELEASE_NOTES_1.1.0.html
diff --git a/v1.1.0/search.html b/content/v1.1.0/search.html
similarity index 100%
rename from v1.1.0/search.html
rename to content/v1.1.0/search.html
diff --git a/v1.1.0/searchindex.js b/content/v1.1.0/searchindex.js
similarity index 100%
rename from v1.1.0/searchindex.js
rename to content/v1.1.0/searchindex.js
diff --git a/zh/.buildinfo b/content/zh/.buildinfo
similarity index 100%
rename from zh/.buildinfo
rename to content/zh/.buildinfo
diff --git a/zh/_sources/community/issue-tracking.md.txt b/content/zh/_sources/community/issue-tracking.md.txt
similarity index 100%
rename from zh/_sources/community/issue-tracking.md.txt
rename to content/zh/_sources/community/issue-tracking.md.txt
diff --git a/zh/_sources/community/mail-lists.rst.txt b/content/zh/_sources/community/mail-lists.rst.txt
similarity index 100%
rename from zh/_sources/community/mail-lists.rst.txt
rename to content/zh/_sources/community/mail-lists.rst.txt
diff --git a/zh/_sources/community/source-repository.md.txt b/content/zh/_sources/community/source-repository.md.txt
similarity index 100%
rename from zh/_sources/community/source-repository.md.txt
rename to content/zh/_sources/community/source-repository.md.txt
diff --git a/zh/_sources/community/team-list.rst.txt b/content/zh/_sources/community/team-list.rst.txt
similarity index 100%
rename from zh/_sources/community/team-list.rst.txt
rename to content/zh/_sources/community/team-list.rst.txt
diff --git a/zh/_sources/develop/contribute-code.md.txt b/content/zh/_sources/develop/contribute-code.md.txt
similarity index 100%
rename from zh/_sources/develop/contribute-code.md.txt
rename to content/zh/_sources/develop/contribute-code.md.txt
diff --git a/zh/_sources/develop/how-contribute.md.txt b/content/zh/_sources/develop/how-contribute.md.txt
similarity index 100%
rename from zh/_sources/develop/how-contribute.md.txt
rename to content/zh/_sources/develop/how-contribute.md.txt
diff --git a/zh/_sources/develop/schedule.rst.txt b/content/zh/_sources/develop/schedule.rst.txt
similarity index 100%
rename from zh/_sources/develop/schedule.rst.txt
rename to content/zh/_sources/develop/schedule.rst.txt
diff --git a/zh/_sources/docs.rst.txt b/content/zh/_sources/docs.rst.txt
similarity index 100%
rename from zh/_sources/docs.rst.txt
rename to content/zh/_sources/docs.rst.txt
diff --git a/zh/_sources/docs/data.md.txt b/content/zh/_sources/docs/data.md.txt
similarity index 100%
rename from zh/_sources/docs/data.md.txt
rename to content/zh/_sources/docs/data.md.txt
diff --git a/zh/_sources/docs/device.md.txt b/content/zh/_sources/docs/device.md.txt
similarity index 100%
rename from zh/_sources/docs/device.md.txt
rename to content/zh/_sources/docs/device.md.txt
diff --git a/zh/_sources/docs/image_tool.md.txt b/content/zh/_sources/docs/image_tool.md.txt
similarity index 100%
rename from zh/_sources/docs/image_tool.md.txt
rename to content/zh/_sources/docs/image_tool.md.txt
diff --git a/zh/_sources/docs/index.rst.txt b/content/zh/_sources/docs/index.rst.txt
similarity index 100%
rename from zh/_sources/docs/index.rst.txt
rename to content/zh/_sources/docs/index.rst.txt
diff --git a/zh/_sources/docs/initializer.md.txt b/content/zh/_sources/docs/initializer.md.txt
similarity index 100%
rename from zh/_sources/docs/initializer.md.txt
rename to content/zh/_sources/docs/initializer.md.txt
diff --git a/zh/_sources/docs/install_macos1013.rst.txt b/content/zh/_sources/docs/install_macos1013.rst.txt
similarity index 100%
rename from zh/_sources/docs/install_macos1013.rst.txt
rename to content/zh/_sources/docs/install_macos1013.rst.txt
diff --git a/zh/_sources/docs/install_win.rst.txt b/content/zh/_sources/docs/install_win.rst.txt
similarity index 100%
rename from zh/_sources/docs/install_win.rst.txt
rename to content/zh/_sources/docs/install_win.rst.txt
diff --git a/zh/_sources/docs/installation.md.txt b/content/zh/_sources/docs/installation.md.txt
similarity index 100%
rename from zh/_sources/docs/installation.md.txt
rename to content/zh/_sources/docs/installation.md.txt
diff --git a/zh/_sources/docs/layer.md.txt b/content/zh/_sources/docs/layer.md.txt
similarity index 100%
rename from zh/_sources/docs/layer.md.txt
rename to content/zh/_sources/docs/layer.md.txt
diff --git a/zh/_sources/docs/loss.md.txt b/content/zh/_sources/docs/loss.md.txt
similarity index 100%
rename from zh/_sources/docs/loss.md.txt
rename to content/zh/_sources/docs/loss.md.txt
diff --git a/zh/_sources/docs/metric.md.txt b/content/zh/_sources/docs/metric.md.txt
similarity index 100%
rename from zh/_sources/docs/metric.md.txt
rename to content/zh/_sources/docs/metric.md.txt
diff --git a/zh/_sources/docs/model_zoo/char-rnn/README.md.txt b/content/zh/_sources/docs/model_zoo/char-rnn/README.md.txt
similarity index 100%
rename from zh/_sources/docs/model_zoo/char-rnn/README.md.txt
rename to content/zh/_sources/docs/model_zoo/char-rnn/README.md.txt
diff --git a/zh/_sources/docs/model_zoo/cifar10/README.md.txt b/content/zh/_sources/docs/model_zoo/cifar10/README.md.txt
similarity index 100%
rename from zh/_sources/docs/model_zoo/cifar10/README.md.txt
rename to content/zh/_sources/docs/model_zoo/cifar10/README.md.txt
diff --git a/zh/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt b/content/zh/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
similarity index 100%
rename from zh/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
rename to content/zh/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
diff --git a/zh/_sources/docs/model_zoo/imagenet/densenet/README.md.txt b/content/zh/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
similarity index 100%
rename from zh/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
rename to content/zh/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
diff --git a/zh/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt b/content/zh/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
similarity index 100%
rename from zh/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
rename to content/zh/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
diff --git a/zh/_sources/docs/model_zoo/imagenet/inception/README.md.txt b/content/zh/_sources/docs/model_zoo/imagenet/inception/README.md.txt
similarity index 100%
rename from zh/_sources/docs/model_zoo/imagenet/inception/README.md.txt
rename to content/zh/_sources/docs/model_zoo/imagenet/inception/README.md.txt
diff --git a/zh/_sources/docs/model_zoo/imagenet/resnet/README.md.txt b/content/zh/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
similarity index 100%
rename from zh/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
rename to content/zh/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
diff --git a/zh/_sources/docs/model_zoo/imagenet/vgg/README.md.txt b/content/zh/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
similarity index 100%
rename from zh/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
rename to content/zh/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
diff --git a/zh/_sources/docs/model_zoo/index.rst.txt b/content/zh/_sources/docs/model_zoo/index.rst.txt
similarity index 100%
rename from zh/_sources/docs/model_zoo/index.rst.txt
rename to content/zh/_sources/docs/model_zoo/index.rst.txt
diff --git a/zh/_sources/docs/model_zoo/mnist/README.md.txt b/content/zh/_sources/docs/model_zoo/mnist/README.md.txt
similarity index 100%
rename from zh/_sources/docs/model_zoo/mnist/README.md.txt
rename to content/zh/_sources/docs/model_zoo/mnist/README.md.txt
diff --git a/zh/_sources/docs/net.md.txt b/content/zh/_sources/docs/net.md.txt
similarity index 100%
rename from zh/_sources/docs/net.md.txt
rename to content/zh/_sources/docs/net.md.txt
diff --git a/zh/_sources/docs/optimizer.md.txt b/content/zh/_sources/docs/optimizer.md.txt
similarity index 100%
rename from zh/_sources/docs/optimizer.md.txt
rename to content/zh/_sources/docs/optimizer.md.txt
diff --git a/zh/_sources/docs/snapshot.md.txt b/content/zh/_sources/docs/snapshot.md.txt
similarity index 100%
rename from zh/_sources/docs/snapshot.md.txt
rename to content/zh/_sources/docs/snapshot.md.txt
diff --git a/zh/_sources/docs/software_stack.md.txt b/content/zh/_sources/docs/software_stack.md.txt
similarity index 100%
rename from zh/_sources/docs/software_stack.md.txt
rename to content/zh/_sources/docs/software_stack.md.txt
diff --git a/zh/_sources/docs/tensor.md.txt b/content/zh/_sources/docs/tensor.md.txt
similarity index 100%
rename from zh/_sources/docs/tensor.md.txt
rename to content/zh/_sources/docs/tensor.md.txt
diff --git a/zh/_sources/docs/utils.md.txt b/content/zh/_sources/docs/utils.md.txt
similarity index 100%
rename from zh/_sources/docs/utils.md.txt
rename to content/zh/_sources/docs/utils.md.txt
diff --git a/zh/_sources/downloads.md.txt b/content/zh/_sources/downloads.md.txt
similarity index 100%
rename from zh/_sources/downloads.md.txt
rename to content/zh/_sources/downloads.md.txt
diff --git a/zh/_sources/index.rst.txt b/content/zh/_sources/index.rst.txt
similarity index 100%
rename from zh/_sources/index.rst.txt
rename to content/zh/_sources/index.rst.txt
diff --git a/zh/_sources/index.txt b/content/zh/_sources/index.txt
similarity index 100%
rename from zh/_sources/index.txt
rename to content/zh/_sources/index.txt
diff --git a/_static/ajax-loader.gif b/content/zh/_static/ajax-loader.gif
similarity index 100%
rename from _static/ajax-loader.gif
rename to content/zh/_static/ajax-loader.gif
diff --git a/v0.3.0/en/_static/apache.jpg b/content/zh/_static/apache.jpg
similarity index 100%
rename from v0.3.0/en/_static/apache.jpg
rename to content/zh/_static/apache.jpg
diff --git a/_static/apache.png b/content/zh/_static/apache.png
similarity index 100%
rename from _static/apache.png
rename to content/zh/_static/apache.png
diff --git a/_static/awsmp.gif b/content/zh/_static/awsmp.gif
similarity index 100%
rename from _static/awsmp.gif
rename to content/zh/_static/awsmp.gif
diff --git a/zh/_static/basic.css b/content/zh/_static/basic.css
similarity index 100%
rename from zh/_static/basic.css
rename to content/zh/_static/basic.css
diff --git a/_static/comment-bright.png b/content/zh/_static/comment-bright.png
similarity index 100%
rename from _static/comment-bright.png
rename to content/zh/_static/comment-bright.png
diff --git a/_static/comment-close.png b/content/zh/_static/comment-close.png
similarity index 100%
rename from _static/comment-close.png
rename to content/zh/_static/comment-close.png
diff --git a/_static/comment.png b/content/zh/_static/comment.png
similarity index 100%
rename from _static/comment.png
rename to content/zh/_static/comment.png
diff --git a/_static/css/badge_only.css b/content/zh/_static/css/badge_only.css
similarity index 100%
rename from _static/css/badge_only.css
rename to content/zh/_static/css/badge_only.css
diff --git a/_static/css/theme.css b/content/zh/_static/css/theme.css
similarity index 100%
rename from _static/css/theme.css
rename to content/zh/_static/css/theme.css
diff --git a/_static/docker.png b/content/zh/_static/docker.png
similarity index 100%
rename from _static/docker.png
rename to content/zh/_static/docker.png
diff --git a/_static/doctools.js b/content/zh/_static/doctools.js
similarity index 100%
rename from _static/doctools.js
rename to content/zh/_static/doctools.js
diff --git a/_static/documentation_options.js b/content/zh/_static/documentation_options.js
similarity index 100%
rename from _static/documentation_options.js
rename to content/zh/_static/documentation_options.js
diff --git a/_static/down-pressed.png b/content/zh/_static/down-pressed.png
similarity index 100%
rename from _static/down-pressed.png
rename to content/zh/_static/down-pressed.png
diff --git a/_static/down.png b/content/zh/_static/down.png
similarity index 100%
rename from _static/down.png
rename to content/zh/_static/down.png
diff --git a/_static/file.png b/content/zh/_static/file.png
similarity index 100%
rename from _static/file.png
rename to content/zh/_static/file.png
diff --git a/_static/fonts/Inconsolata-Bold.ttf b/content/zh/_static/fonts/Inconsolata-Bold.ttf
similarity index 100%
rename from _static/fonts/Inconsolata-Bold.ttf
rename to content/zh/_static/fonts/Inconsolata-Bold.ttf
diff --git a/_static/fonts/Inconsolata-Regular.ttf b/content/zh/_static/fonts/Inconsolata-Regular.ttf
similarity index 100%
rename from _static/fonts/Inconsolata-Regular.ttf
rename to content/zh/_static/fonts/Inconsolata-Regular.ttf
diff --git a/_static/fonts/Inconsolata.ttf b/content/zh/_static/fonts/Inconsolata.ttf
similarity index 100%
rename from _static/fonts/Inconsolata.ttf
rename to content/zh/_static/fonts/Inconsolata.ttf
diff --git a/_static/fonts/Lato-Bold.ttf b/content/zh/_static/fonts/Lato-Bold.ttf
similarity index 100%
rename from _static/fonts/Lato-Bold.ttf
rename to content/zh/_static/fonts/Lato-Bold.ttf
diff --git a/en/_static/fonts/Lato-BoldItalic.ttf b/content/zh/_static/fonts/Lato-BoldItalic.ttf
similarity index 100%
rename from en/_static/fonts/Lato-BoldItalic.ttf
rename to content/zh/_static/fonts/Lato-BoldItalic.ttf
diff --git a/en/_static/fonts/Lato-Italic.ttf b/content/zh/_static/fonts/Lato-Italic.ttf
similarity index 100%
rename from en/_static/fonts/Lato-Italic.ttf
rename to content/zh/_static/fonts/Lato-Italic.ttf
diff --git a/_static/fonts/Lato-Regular.ttf b/content/zh/_static/fonts/Lato-Regular.ttf
similarity index 100%
rename from _static/fonts/Lato-Regular.ttf
rename to content/zh/_static/fonts/Lato-Regular.ttf
diff --git a/_static/fonts/Lato/lato-bold.eot b/content/zh/_static/fonts/Lato/lato-bold.eot
similarity index 100%
rename from _static/fonts/Lato/lato-bold.eot
rename to content/zh/_static/fonts/Lato/lato-bold.eot
diff --git a/_static/fonts/Lato/lato-bold.ttf b/content/zh/_static/fonts/Lato/lato-bold.ttf
similarity index 100%
rename from _static/fonts/Lato/lato-bold.ttf
rename to content/zh/_static/fonts/Lato/lato-bold.ttf
diff --git a/_static/fonts/Lato/lato-bold.woff b/content/zh/_static/fonts/Lato/lato-bold.woff
similarity index 100%
rename from _static/fonts/Lato/lato-bold.woff
rename to content/zh/_static/fonts/Lato/lato-bold.woff
diff --git a/_static/fonts/Lato/lato-bold.woff2 b/content/zh/_static/fonts/Lato/lato-bold.woff2
similarity index 100%
rename from _static/fonts/Lato/lato-bold.woff2
rename to content/zh/_static/fonts/Lato/lato-bold.woff2
diff --git a/_static/fonts/Lato/lato-bolditalic.eot b/content/zh/_static/fonts/Lato/lato-bolditalic.eot
similarity index 100%
rename from _static/fonts/Lato/lato-bolditalic.eot
rename to content/zh/_static/fonts/Lato/lato-bolditalic.eot
diff --git a/_static/fonts/Lato/lato-bolditalic.ttf b/content/zh/_static/fonts/Lato/lato-bolditalic.ttf
similarity index 100%
rename from _static/fonts/Lato/lato-bolditalic.ttf
rename to content/zh/_static/fonts/Lato/lato-bolditalic.ttf
diff --git a/_static/fonts/Lato/lato-bolditalic.woff b/content/zh/_static/fonts/Lato/lato-bolditalic.woff
similarity index 100%
rename from _static/fonts/Lato/lato-bolditalic.woff
rename to content/zh/_static/fonts/Lato/lato-bolditalic.woff
diff --git a/_static/fonts/Lato/lato-bolditalic.woff2 b/content/zh/_static/fonts/Lato/lato-bolditalic.woff2
similarity index 100%
rename from _static/fonts/Lato/lato-bolditalic.woff2
rename to content/zh/_static/fonts/Lato/lato-bolditalic.woff2
diff --git a/_static/fonts/Lato/lato-italic.eot b/content/zh/_static/fonts/Lato/lato-italic.eot
similarity index 100%
rename from _static/fonts/Lato/lato-italic.eot
rename to content/zh/_static/fonts/Lato/lato-italic.eot
diff --git a/_static/fonts/Lato/lato-italic.ttf b/content/zh/_static/fonts/Lato/lato-italic.ttf
similarity index 100%
rename from _static/fonts/Lato/lato-italic.ttf
rename to content/zh/_static/fonts/Lato/lato-italic.ttf
diff --git a/_static/fonts/Lato/lato-italic.woff b/content/zh/_static/fonts/Lato/lato-italic.woff
similarity index 100%
rename from _static/fonts/Lato/lato-italic.woff
rename to content/zh/_static/fonts/Lato/lato-italic.woff
diff --git a/_static/fonts/Lato/lato-italic.woff2 b/content/zh/_static/fonts/Lato/lato-italic.woff2
similarity index 100%
rename from _static/fonts/Lato/lato-italic.woff2
rename to content/zh/_static/fonts/Lato/lato-italic.woff2
diff --git a/_static/fonts/Lato/lato-regular.eot b/content/zh/_static/fonts/Lato/lato-regular.eot
similarity index 100%
rename from _static/fonts/Lato/lato-regular.eot
rename to content/zh/_static/fonts/Lato/lato-regular.eot
diff --git a/_static/fonts/Lato/lato-regular.ttf b/content/zh/_static/fonts/Lato/lato-regular.ttf
similarity index 100%
rename from _static/fonts/Lato/lato-regular.ttf
rename to content/zh/_static/fonts/Lato/lato-regular.ttf
diff --git a/_static/fonts/Lato/lato-regular.woff b/content/zh/_static/fonts/Lato/lato-regular.woff
similarity index 100%
rename from _static/fonts/Lato/lato-regular.woff
rename to content/zh/_static/fonts/Lato/lato-regular.woff
diff --git a/_static/fonts/Lato/lato-regular.woff2 b/content/zh/_static/fonts/Lato/lato-regular.woff2
similarity index 100%
rename from _static/fonts/Lato/lato-regular.woff2
rename to content/zh/_static/fonts/Lato/lato-regular.woff2
diff --git a/_static/fonts/RobotoSlab-Bold.ttf b/content/zh/_static/fonts/RobotoSlab-Bold.ttf
similarity index 100%
rename from _static/fonts/RobotoSlab-Bold.ttf
rename to content/zh/_static/fonts/RobotoSlab-Bold.ttf
diff --git a/_static/fonts/RobotoSlab-Regular.ttf b/content/zh/_static/fonts/RobotoSlab-Regular.ttf
similarity index 100%
rename from _static/fonts/RobotoSlab-Regular.ttf
rename to content/zh/_static/fonts/RobotoSlab-Regular.ttf
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
similarity index 100%
rename from _static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
rename to content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
similarity index 100%
rename from _static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
rename to content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
similarity index 100%
rename from _static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
rename to content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
similarity index 100%
rename from _static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
rename to content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
similarity index 100%
rename from _static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
rename to content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
similarity index 100%
rename from _static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
rename to content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
similarity index 100%
rename from _static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
rename to content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
similarity index 100%
rename from _static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
rename to content/zh/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
diff --git a/_static/fonts/fontawesome-webfont.eot b/content/zh/_static/fonts/fontawesome-webfont.eot
similarity index 100%
rename from _static/fonts/fontawesome-webfont.eot
rename to content/zh/_static/fonts/fontawesome-webfont.eot
diff --git a/_static/fonts/fontawesome-webfont.svg b/content/zh/_static/fonts/fontawesome-webfont.svg
similarity index 100%
rename from _static/fonts/fontawesome-webfont.svg
rename to content/zh/_static/fonts/fontawesome-webfont.svg
diff --git a/_static/fonts/fontawesome-webfont.ttf b/content/zh/_static/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from _static/fonts/fontawesome-webfont.ttf
rename to content/zh/_static/fonts/fontawesome-webfont.ttf
diff --git a/_static/fonts/fontawesome-webfont.woff b/content/zh/_static/fonts/fontawesome-webfont.woff
similarity index 100%
rename from _static/fonts/fontawesome-webfont.woff
rename to content/zh/_static/fonts/fontawesome-webfont.woff
diff --git a/_static/fonts/fontawesome-webfont.woff2 b/content/zh/_static/fonts/fontawesome-webfont.woff2
similarity index 100%
rename from _static/fonts/fontawesome-webfont.woff2
rename to content/zh/_static/fonts/fontawesome-webfont.woff2
diff --git a/_static/github.png b/content/zh/_static/github.png
similarity index 100%
rename from _static/github.png
rename to content/zh/_static/github.png
diff --git a/_static/images/benchmark.png b/content/zh/_static/images/benchmark.png
similarity index 100%
rename from _static/images/benchmark.png
rename to content/zh/_static/images/benchmark.png
diff --git a/_static/images/mlp-net.png b/content/zh/_static/images/mlp-net.png
similarity index 100%
rename from _static/images/mlp-net.png
rename to content/zh/_static/images/mlp-net.png
diff --git a/_static/images/model-category.png b/content/zh/_static/images/model-category.png
similarity index 100%
rename from _static/images/model-category.png
rename to content/zh/_static/images/model-category.png
diff --git a/_static/images/overview.png b/content/zh/_static/images/overview.png
similarity index 100%
rename from _static/images/overview.png
rename to content/zh/_static/images/overview.png
diff --git a/_static/images/partition_fc.png b/content/zh/_static/images/partition_fc.png
similarity index 100%
rename from _static/images/partition_fc.png
rename to content/zh/_static/images/partition_fc.png
diff --git a/_static/images/rbm-rnn.png b/content/zh/_static/images/rbm-rnn.png
similarity index 100%
rename from _static/images/rbm-rnn.png
rename to content/zh/_static/images/rbm-rnn.png
diff --git a/_static/images/sgd.png b/content/zh/_static/images/sgd.png
similarity index 100%
rename from _static/images/sgd.png
rename to content/zh/_static/images/sgd.png
diff --git a/_static/images/singa.png b/content/zh/_static/images/singa.png
similarity index 100%
rename from _static/images/singa.png
rename to content/zh/_static/images/singa.png
diff --git a/_static/images/singav1-sw.png b/content/zh/_static/images/singav1-sw.png
similarity index 100%
rename from _static/images/singav1-sw.png
rename to content/zh/_static/images/singav1-sw.png
diff --git a/v0.3.0/en/_static/jquery-1.11.1.js b/content/zh/_static/jquery-1.11.1.js
similarity index 100%
rename from v0.3.0/en/_static/jquery-1.11.1.js
rename to content/zh/_static/jquery-1.11.1.js
diff --git a/zh/_static/jquery-3.1.0.js b/content/zh/_static/jquery-3.1.0.js
similarity index 100%
rename from zh/_static/jquery-3.1.0.js
rename to content/zh/_static/jquery-3.1.0.js
diff --git a/_static/jquery-3.2.1.js b/content/zh/_static/jquery-3.2.1.js
similarity index 100%
rename from _static/jquery-3.2.1.js
rename to content/zh/_static/jquery-3.2.1.js
diff --git a/_static/jquery.js b/content/zh/_static/jquery.js
similarity index 100%
rename from _static/jquery.js
rename to content/zh/_static/jquery.js
diff --git a/_static/js/modernizr.min.js b/content/zh/_static/js/modernizr.min.js
similarity index 100%
rename from _static/js/modernizr.min.js
rename to content/zh/_static/js/modernizr.min.js
diff --git a/_static/js/theme.js b/content/zh/_static/js/theme.js
similarity index 100%
rename from _static/js/theme.js
rename to content/zh/_static/js/theme.js
diff --git a/_static/jupyter.png b/content/zh/_static/jupyter.png
similarity index 100%
rename from _static/jupyter.png
rename to content/zh/_static/jupyter.png
diff --git a/_static/language_data.js b/content/zh/_static/language_data.js
similarity index 100%
rename from _static/language_data.js
rename to content/zh/_static/language_data.js
diff --git a/_static/minus.png b/content/zh/_static/minus.png
similarity index 100%
rename from _static/minus.png
rename to content/zh/_static/minus.png
diff --git a/_static/plus.png b/content/zh/_static/plus.png
similarity index 100%
rename from _static/plus.png
rename to content/zh/_static/plus.png
diff --git a/_static/pygments.css b/content/zh/_static/pygments.css
similarity index 100%
rename from _static/pygments.css
rename to content/zh/_static/pygments.css
diff --git a/zh/_static/searchtools.js b/content/zh/_static/searchtools.js
similarity index 100%
rename from zh/_static/searchtools.js
rename to content/zh/_static/searchtools.js
diff --git a/_static/singa-logo-updated.ai b/content/zh/_static/singa-logo-updated.ai
similarity index 100%
rename from _static/singa-logo-updated.ai
rename to content/zh/_static/singa-logo-updated.ai
diff --git a/_static/singa.png b/content/zh/_static/singa.png
similarity index 100%
rename from _static/singa.png
rename to content/zh/_static/singa.png
diff --git a/_static/style.css b/content/zh/_static/style.css
similarity index 100%
rename from _static/style.css
rename to content/zh/_static/style.css
diff --git a/_static/underscore-1.3.1.js b/content/zh/_static/underscore-1.3.1.js
similarity index 100%
rename from _static/underscore-1.3.1.js
rename to content/zh/_static/underscore-1.3.1.js
diff --git a/_static/underscore.js b/content/zh/_static/underscore.js
similarity index 100%
rename from _static/underscore.js
rename to content/zh/_static/underscore.js
diff --git a/_static/up-pressed.png b/content/zh/_static/up-pressed.png
similarity index 100%
rename from _static/up-pressed.png
rename to content/zh/_static/up-pressed.png
diff --git a/_static/up.png b/content/zh/_static/up.png
similarity index 100%
rename from _static/up.png
rename to content/zh/_static/up.png
diff --git a/en/_static/websupport.js b/content/zh/_static/websupport.js
similarity index 100%
rename from en/_static/websupport.js
rename to content/zh/_static/websupport.js
diff --git a/zh/community/issue-tracking.html b/content/zh/community/issue-tracking.html
similarity index 100%
rename from zh/community/issue-tracking.html
rename to content/zh/community/issue-tracking.html
diff --git a/zh/community/mail-lists.html b/content/zh/community/mail-lists.html
similarity index 100%
rename from zh/community/mail-lists.html
rename to content/zh/community/mail-lists.html
diff --git a/zh/community/source-repository.html b/content/zh/community/source-repository.html
similarity index 100%
rename from zh/community/source-repository.html
rename to content/zh/community/source-repository.html
diff --git a/zh/community/team-list.html b/content/zh/community/team-list.html
similarity index 100%
rename from zh/community/team-list.html
rename to content/zh/community/team-list.html
diff --git a/zh/develop/contribute-code.html b/content/zh/develop/contribute-code.html
similarity index 100%
rename from zh/develop/contribute-code.html
rename to content/zh/develop/contribute-code.html
diff --git a/zh/develop/how-contribute.html b/content/zh/develop/how-contribute.html
similarity index 100%
rename from zh/develop/how-contribute.html
rename to content/zh/develop/how-contribute.html
diff --git a/zh/develop/schedule.html b/content/zh/develop/schedule.html
similarity index 100%
rename from zh/develop/schedule.html
rename to content/zh/develop/schedule.html
diff --git a/zh/docs.html b/content/zh/docs.html
similarity index 100%
rename from zh/docs.html
rename to content/zh/docs.html
diff --git a/zh/docs/data.html b/content/zh/docs/data.html
similarity index 100%
rename from zh/docs/data.html
rename to content/zh/docs/data.html
diff --git a/zh/docs/device.html b/content/zh/docs/device.html
similarity index 100%
rename from zh/docs/device.html
rename to content/zh/docs/device.html
diff --git a/zh/docs/image_tool.html b/content/zh/docs/image_tool.html
similarity index 100%
rename from zh/docs/image_tool.html
rename to content/zh/docs/image_tool.html
diff --git a/zh/docs/index.html b/content/zh/docs/index.html
similarity index 100%
rename from zh/docs/index.html
rename to content/zh/docs/index.html
diff --git a/zh/docs/initializer.html b/content/zh/docs/initializer.html
similarity index 100%
rename from zh/docs/initializer.html
rename to content/zh/docs/initializer.html
diff --git a/zh/docs/install_macos1013.html b/content/zh/docs/install_macos1013.html
similarity index 100%
rename from zh/docs/install_macos1013.html
rename to content/zh/docs/install_macos1013.html
diff --git a/zh/docs/install_win.html b/content/zh/docs/install_win.html
similarity index 100%
rename from zh/docs/install_win.html
rename to content/zh/docs/install_win.html
diff --git a/zh/docs/installation.html b/content/zh/docs/installation.html
similarity index 100%
rename from zh/docs/installation.html
rename to content/zh/docs/installation.html
diff --git a/zh/docs/layer.html b/content/zh/docs/layer.html
similarity index 100%
rename from zh/docs/layer.html
rename to content/zh/docs/layer.html
diff --git a/zh/docs/loss.html b/content/zh/docs/loss.html
similarity index 100%
rename from zh/docs/loss.html
rename to content/zh/docs/loss.html
diff --git a/zh/docs/metric.html b/content/zh/docs/metric.html
similarity index 100%
rename from zh/docs/metric.html
rename to content/zh/docs/metric.html
diff --git a/zh/docs/model_zoo/char-rnn/README.html b/content/zh/docs/model_zoo/char-rnn/README.html
similarity index 100%
rename from zh/docs/model_zoo/char-rnn/README.html
rename to content/zh/docs/model_zoo/char-rnn/README.html
diff --git a/zh/docs/model_zoo/cifar10/README.html b/content/zh/docs/model_zoo/cifar10/README.html
similarity index 100%
rename from zh/docs/model_zoo/cifar10/README.html
rename to content/zh/docs/model_zoo/cifar10/README.html
diff --git a/zh/docs/model_zoo/imagenet/alexnet/README.html b/content/zh/docs/model_zoo/imagenet/alexnet/README.html
similarity index 100%
rename from zh/docs/model_zoo/imagenet/alexnet/README.html
rename to content/zh/docs/model_zoo/imagenet/alexnet/README.html
diff --git a/zh/docs/model_zoo/imagenet/densenet/README.html b/content/zh/docs/model_zoo/imagenet/densenet/README.html
similarity index 100%
rename from zh/docs/model_zoo/imagenet/densenet/README.html
rename to content/zh/docs/model_zoo/imagenet/densenet/README.html
diff --git a/zh/docs/model_zoo/imagenet/googlenet/README.html b/content/zh/docs/model_zoo/imagenet/googlenet/README.html
similarity index 100%
rename from zh/docs/model_zoo/imagenet/googlenet/README.html
rename to content/zh/docs/model_zoo/imagenet/googlenet/README.html
diff --git a/zh/docs/model_zoo/imagenet/inception/README.html b/content/zh/docs/model_zoo/imagenet/inception/README.html
similarity index 100%
rename from zh/docs/model_zoo/imagenet/inception/README.html
rename to content/zh/docs/model_zoo/imagenet/inception/README.html
diff --git a/zh/docs/model_zoo/imagenet/resnet/README.html b/content/zh/docs/model_zoo/imagenet/resnet/README.html
similarity index 100%
rename from zh/docs/model_zoo/imagenet/resnet/README.html
rename to content/zh/docs/model_zoo/imagenet/resnet/README.html
diff --git a/zh/docs/model_zoo/imagenet/vgg/README.html b/content/zh/docs/model_zoo/imagenet/vgg/README.html
similarity index 100%
rename from zh/docs/model_zoo/imagenet/vgg/README.html
rename to content/zh/docs/model_zoo/imagenet/vgg/README.html
diff --git a/zh/docs/model_zoo/index.html b/content/zh/docs/model_zoo/index.html
similarity index 100%
rename from zh/docs/model_zoo/index.html
rename to content/zh/docs/model_zoo/index.html
diff --git a/zh/docs/model_zoo/mnist/README.html b/content/zh/docs/model_zoo/mnist/README.html
similarity index 100%
rename from zh/docs/model_zoo/mnist/README.html
rename to content/zh/docs/model_zoo/mnist/README.html
diff --git a/zh/docs/net.html b/content/zh/docs/net.html
similarity index 100%
rename from zh/docs/net.html
rename to content/zh/docs/net.html
diff --git a/zh/docs/optimizer.html b/content/zh/docs/optimizer.html
similarity index 100%
rename from zh/docs/optimizer.html
rename to content/zh/docs/optimizer.html
diff --git a/zh/docs/snapshot.html b/content/zh/docs/snapshot.html
similarity index 100%
rename from zh/docs/snapshot.html
rename to content/zh/docs/snapshot.html
diff --git a/zh/docs/software_stack.html b/content/zh/docs/software_stack.html
similarity index 100%
rename from zh/docs/software_stack.html
rename to content/zh/docs/software_stack.html
diff --git a/zh/docs/tensor.html b/content/zh/docs/tensor.html
similarity index 100%
rename from zh/docs/tensor.html
rename to content/zh/docs/tensor.html
diff --git a/zh/docs/utils.html b/content/zh/docs/utils.html
similarity index 100%
rename from zh/docs/utils.html
rename to content/zh/docs/utils.html
diff --git a/zh/downloads.html b/content/zh/downloads.html
similarity index 100%
rename from zh/downloads.html
rename to content/zh/downloads.html
diff --git a/zh/genindex.html b/content/zh/genindex.html
similarity index 100%
rename from zh/genindex.html
rename to content/zh/genindex.html
diff --git a/zh/index.html b/content/zh/index.html
similarity index 100%
rename from zh/index.html
rename to content/zh/index.html
diff --git a/zh/objects.inv b/content/zh/objects.inv
similarity index 100%
rename from zh/objects.inv
rename to content/zh/objects.inv
diff --git a/zh/search.html b/content/zh/search.html
similarity index 100%
rename from zh/search.html
rename to content/zh/search.html
diff --git a/zh/searchindex.js b/content/zh/searchindex.js
similarity index 100%
rename from zh/searchindex.js
rename to content/zh/searchindex.js
[incubator-singa-site] 07/08: SINGA-493 Update SINGA website
Posted by wa...@apache.org.
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/incubator-singa-site.git
commit 859203b2427545402fa22d94209ee27aecb425f8
Author: Chris Yeung <ch...@yahoo.com.hk>
AuthorDate: Fri Oct 4 22:47:20 2019 +0800
SINGA-493 Update SINGA website
---
content/_sources/community/team-list.rst.txt | 61 +-
content/_sources/develop/contribute-code.md.txt | 111 +-
content/_sources/develop/contribute-docs.md.txt | 73 +-
content/_sources/develop/how-contribute.md.txt | 13 +-
content/_sources/docs/index.rst.txt | 18 +-
content/_sources/docs/installation.md.txt | 377 +-----
.../_sources/docs/model_zoo/caffe/README.md.txt | 18 +
.../_sources/docs/model_zoo/char-rnn/README.md.txt | 19 +-
.../_sources/docs/model_zoo/cifar10/README.md.txt | 20 +-
.../examples/imagenet/inception/README.md.txt | 2 +-
.../docs/model_zoo/imagenet/alexnet/README.md.txt | 18 +
.../docs/model_zoo/imagenet/densenet/README.md.txt | 7 +-
.../model_zoo/imagenet/googlenet/README.md.txt | 29 +-
.../model_zoo/imagenet/inception/README.md.txt | 30 +-
.../docs/model_zoo/imagenet/resnet/README.md.txt | 28 +-
.../docs/model_zoo/imagenet/vgg/README.md.txt | 28 +-
content/_sources/docs/model_zoo/index.rst.txt | 6 +-
.../_sources/docs/model_zoo/mnist/README.md.txt | 18 +
content/_sources/downloads.md.txt | 3 +-
content/_sources/index.rst.txt | 30 +-
content/_static/basic.css | 139 +--
content/_static/doctools.js | 65 +-
content/_static/jquery.js | 8 +-
content/_static/searchtools.js | 398 ++++--
content/_static/websupport.js | 4 +-
content/community/issue-tracking.html | 18 +-
content/community/mail-lists.html | 72 +-
content/community/source-repository.html | 28 +-
content/community/team-list.html | 229 ++--
content/develop/contribute-code.html | 135 +-
content/develop/contribute-docs.html | 102 +-
content/develop/how-contribute.html | 43 +-
content/develop/how-to-release.html | 95 +-
content/develop/schedule.html | 293 +++--
content/docs/autograd.html | 70 +-
content/docs/benchmark.html | 38 +-
content/docs/cnn.html | 48 +-
content/docs/converter.html | 57 +-
content/docs/data.html | 115 +-
content/docs/dependencies.html | 60 +-
content/docs/device.html | 87 +-
content/docs/docker.html | 44 +-
content/docs/image_tool.html | 330 +----
content/docs/index.html | 105 +-
content/docs/initializer.html | 113 +-
content/docs/install_macos1013.html | 70 +-
content/docs/install_win.html | 418 ++++---
content/docs/installation.html | 410 ++----
content/docs/layer.html | 1002 +--------------
content/docs/loss.html | 242 +---
content/docs/metric.html | 212 +---
content/docs/model_zoo/caffe/README.html | 57 +-
content/docs/model_zoo/char-rnn/README.html | 88 +-
content/docs/model_zoo/cifar10/README.html | 107 +-
content/docs/model_zoo/examples/caffe/README.html | 38 +-
.../docs/model_zoo/examples/char-rnn/README.html | 38 +-
.../docs/model_zoo/examples/cifar10/README.html | 61 +-
.../examples/imagenet/alexnet/README.html | 80 +-
.../examples/imagenet/densenet/README.html | 34 +-
.../examples/imagenet/googlenet/README.html | 36 +-
.../examples/imagenet/inception/README.html | 35 +-
.../model_zoo/examples/imagenet/resnet/README.html | 42 +-
.../model_zoo/examples/imagenet/vgg/README.html | 38 +-
content/docs/model_zoo/examples/index.html | 16 +-
content/docs/model_zoo/examples/mnist/README.html | 27 +-
.../docs/model_zoo/imagenet/alexnet/README.html | 134 +-
.../docs/model_zoo/imagenet/densenet/README.html | 94 +-
.../docs/model_zoo/imagenet/googlenet/README.html | 110 +-
.../docs/model_zoo/imagenet/inception/README.html | 118 +-
content/docs/model_zoo/imagenet/resnet/README.html | 123 +-
content/docs/model_zoo/imagenet/vgg/README.html | 119 +-
content/docs/model_zoo/index.html | 79 +-
content/docs/model_zoo/mnist/README.html | 89 +-
content/docs/net.html | 316 +----
content/docs/neural-net.html | 134 +-
content/docs/notebook/README.html | 16 +-
content/docs/optimizer.html | 452 +------
content/docs/snapshot.html | 100 +-
content/docs/software_stack.html | 82 +-
content/docs/tensor.html | 1309 +-------------------
content/docs/utils.html | 71 +-
content/downloads.html | 239 ++--
content/en/.buildinfo | 2 +-
content/en/_sources/community/mail-lists.rst.txt | 1 +
content/en/_sources/community/team-list.rst.txt | 61 +-
content/en/_sources/develop/contribute-code.md.txt | 111 +-
content/en/_sources/develop/contribute-docs.md.txt | 73 +-
content/en/_sources/develop/how-contribute.md.txt | 13 +-
content/en/_sources/docs/index.rst.txt | 17 +-
content/en/_sources/docs/installation.md.txt | 377 +-----
.../en/_sources/docs/model_zoo/caffe/README.md.txt | 18 +
.../_sources/docs/model_zoo/char-rnn/README.md.txt | 19 +-
.../_sources/docs/model_zoo/cifar10/README.md.txt | 20 +-
.../examples/imagenet/densenet/README.md.txt | 7 +-
.../examples/imagenet/googlenet/README.md.txt | 11 +-
.../examples/imagenet/inception/README.md.txt | 12 +-
.../examples/imagenet/resnet/README.md.txt | 10 +-
.../model_zoo/examples/imagenet/vgg/README.md.txt | 6 -
.../docs/model_zoo/imagenet/alexnet/README.md.txt | 18 +
.../model_zoo/imagenet/googlenet/README.md.txt | 29 +-
.../model_zoo/imagenet/inception/README.md.txt | 30 +-
.../docs/model_zoo/imagenet/resnet/README.md.txt | 28 +-
.../docs/model_zoo/imagenet/vgg/README.md.txt | 28 +-
content/en/_sources/docs/model_zoo/index.rst.txt | 6 +-
.../en/_sources/docs/model_zoo/mnist/README.md.txt | 18 +
content/en/_sources/downloads.md.txt | 28 +-
content/en/_sources/index.rst.txt | 40 +-
content/en/_static/basic.css | 39 +-
content/en/_static/css/badge_only.css | 2 +-
content/en/_static/css/theme.css | 6 +-
content/en/_static/doctools.js | 60 +-
content/en/_static/fonts/Inconsolata-Bold.ttf | Bin 108360 -> 109948 bytes
content/en/_static/fonts/Inconsolata-Regular.ttf | Bin 95960 -> 96964 bytes
content/en/_static/jquery.js | 8 +-
content/en/_static/js/theme.js | 4 +-
content/en/_static/searchtools.js | 5 +-
content/en/_static/singa.png | Bin 25000 -> 81502 bytes
content/en/_static/style.css | 2 +-
content/en/_static/websupport.js | 4 +-
content/en/community/issue-tracking.html | 47 +-
content/en/community/mail-lists.html | 101 +-
content/en/community/source-repository.html | 57 +-
content/en/community/team-list.html | 265 ++--
content/en/develop/build.html | 202 +--
content/en/develop/contribute-code.html | 92 +-
content/en/develop/contribute-docs.html | 77 +-
content/en/develop/how-contribute.html | 51 +-
content/en/develop/how-to-release.html | 124 +-
content/en/develop/schedule.html | 309 ++---
content/en/docs/autograd.html | 78 +-
content/en/docs/benchmark.html | 50 +-
content/en/docs/cnn.html | 79 +-
content/en/docs/converter.html | 45 +-
content/en/docs/data.html | 45 +-
content/en/docs/dependencies.html | 89 +-
content/en/docs/device.html | 56 +-
content/en/docs/docker.html | 73 +-
content/en/docs/image_tool.html | 45 +-
content/en/docs/index.html | 102 +-
content/en/docs/initializer.html | 45 +-
content/en/docs/install_macos1013.html | 99 +-
content/en/docs/install_win.html | 447 ++++---
content/en/docs/installation.html | 110 +-
content/en/docs/layer.html | 45 +-
content/en/docs/loss.html | 45 +-
content/en/docs/metric.html | 45 +-
content/en/docs/model_zoo/caffe/README.html | 118 +-
content/en/docs/model_zoo/char-rnn/README.html | 135 +-
content/en/docs/model_zoo/cifar10/README.html | 155 +--
.../en/docs/model_zoo/examples/caffe/README.html | 122 +-
.../docs/model_zoo/examples/char-rnn/README.html | 114 +-
.../en/docs/model_zoo/examples/cifar10/README.html | 138 +--
.../examples/imagenet/alexnet/README.html | 160 ++-
.../examples/imagenet/densenet/README.html | 125 +-
.../examples/imagenet/googlenet/README.html | 133 +-
.../examples/imagenet/inception/README.html | 129 +-
.../model_zoo/examples/imagenet/resnet/README.html | 128 +-
.../model_zoo/examples/imagenet/vgg/README.html | 125 +-
content/en/docs/model_zoo/examples/index.html | 92 +-
.../en/docs/model_zoo/examples/mnist/README.html | 110 +-
.../en/docs/model_zoo/imagenet/alexnet/README.html | 183 +--
.../docs/model_zoo/imagenet/densenet/README.html | 62 +-
.../docs/model_zoo/imagenet/googlenet/README.html | 153 ++-
.../docs/model_zoo/imagenet/inception/README.html | 166 ++-
.../en/docs/model_zoo/imagenet/resnet/README.html | 165 ++-
content/en/docs/model_zoo/imagenet/vgg/README.html | 166 ++-
content/en/docs/model_zoo/index.html | 124 +-
content/en/docs/model_zoo/mnist/README.html | 149 ++-
content/en/docs/net.html | 45 +-
content/en/docs/neural-net.html | 163 +--
content/en/docs/notebook/README.html | 45 +-
content/en/docs/onnx.html | 48 +-
content/en/docs/optimizer.html | 45 +-
content/en/docs/snapshot.html | 45 +-
content/en/docs/software_stack.html | 94 +-
content/en/docs/tensor.html | 52 +-
content/en/docs/utils.html | 45 +-
content/en/downloads.html | 268 ++--
content/en/genindex.html | 793 +-----------
content/en/index.html | 138 ++-
content/en/objects.inv | Bin 2967 -> 1426 bytes
content/en/releases/RELEASE_NOTES_0.1.0.html | 185 +--
content/en/releases/RELEASE_NOTES_0.2.0.html | 153 ++-
content/en/releases/RELEASE_NOTES_0.3.0.html | 90 +-
content/en/releases/RELEASE_NOTES_1.0.0.html | 193 +--
content/en/releases/RELEASE_NOTES_1.1.0.html | 118 +-
content/en/releases/RELEASE_NOTES_1.2.0.html | 134 +-
content/en/releases/RELEASE_NOTES_2.0.0.html | 112 +-
content/en/search.html | 79 +-
content/en/searchindex.js | 2 +-
content/en/security.html | 47 +-
content/genindex.html | 39 +-
content/index.html | 111 +-
content/objects.inv | Bin 1822 -> 1426 bytes
content/releases/RELEASE_NOTES_0.1.0.html | 156 ++-
content/releases/RELEASE_NOTES_0.2.0.html | 124 +-
content/releases/RELEASE_NOTES_0.3.0.html | 61 +-
content/releases/RELEASE_NOTES_1.0.0.html | 164 +--
content/releases/RELEASE_NOTES_1.1.0.html | 89 +-
content/releases/RELEASE_NOTES_1.2.0.html | 105 +-
content/releases/RELEASE_NOTES_2.0.0.html | 83 +-
content/search.html | 39 +-
content/searchindex.js | 2 +-
content/security.html | 41 +-
content/zh/.buildinfo | 2 +-
content/zh/_static/basic.css | 124 +-
content/zh/_static/doctools.js | 65 +-
content/zh/_static/jquery.js | 8 +-
content/zh/_static/searchtools.js | 391 ++++--
content/zh/_static/websupport.js | 4 +-
content/zh/community/issue-tracking.html | 15 +-
content/zh/community/mail-lists.html | 59 +-
content/zh/community/source-repository.html | 19 +-
content/zh/community/team-list.html | 181 +--
content/zh/develop/contribute-code.html | 43 +-
content/zh/develop/how-contribute.html | 23 +-
content/zh/develop/schedule.html | 297 ++---
content/zh/docs.html | 41 +-
content/zh/docs/data.html | 33 +-
content/zh/docs/device.html | 25 +-
content/zh/docs/image_tool.html | 69 +-
content/zh/docs/index.html | 41 +-
content/zh/docs/initializer.html | 23 +-
content/zh/docs/install_macos1013.html | 65 +-
content/zh/docs/install_win.html | 413 +++---
content/zh/docs/installation.html | 175 +--
content/zh/docs/layer.html | 277 +++--
content/zh/docs/loss.html | 39 +-
content/zh/docs/metric.html | 27 +-
content/zh/docs/model_zoo/char-rnn/README.html | 31 +-
content/zh/docs/model_zoo/cifar10/README.html | 43 +-
.../zh/docs/model_zoo/imagenet/alexnet/README.html | 63 +-
.../docs/model_zoo/imagenet/densenet/README.html | 35 +-
.../docs/model_zoo/imagenet/googlenet/README.html | 29 +-
.../docs/model_zoo/imagenet/inception/README.html | 27 +-
.../zh/docs/model_zoo/imagenet/resnet/README.html | 43 +-
content/zh/docs/model_zoo/imagenet/vgg/README.html | 39 +-
content/zh/docs/model_zoo/index.html | 13 +-
content/zh/docs/model_zoo/mnist/README.html | 22 +-
content/zh/docs/net.html | 49 +-
content/zh/docs/optimizer.html | 113 +-
content/zh/docs/snapshot.html | 21 +-
content/zh/docs/software_stack.html | 47 +-
content/zh/docs/tensor.html | 209 ++--
content/zh/docs/utils.html | 17 +-
content/zh/downloads.html | 209 ++--
content/zh/genindex.html | 13 +-
content/zh/index.html | 81 +-
content/zh/search.html | 13 +-
content/zh/searchindex.js | 2 +-
250 files changed, 10623 insertions(+), 13992 deletions(-)
diff --git a/content/_sources/community/team-list.rst.txt b/content/_sources/community/team-list.rst.txt
index 043540c..c67c5ad 100644
--- a/content/_sources/community/team-list.rst.txt
+++ b/content/_sources/community/team-list.rst.txt
@@ -27,7 +27,6 @@ Mentors
================== ============
Name Email
================== ============
-Daniel Dai daijy@apache.org
Ted Dunning tdunning@apache.org
Alan Gates gates@apache.org
Thejas Nair thejas@apache.org
@@ -39,46 +38,66 @@ Developers
The SINGA community has developers mainly from National University of Singapore, Zhejiang University, NetEase, Osaka University, yzBigData, etc.
+PPMC
+----
+
+--------------------+--------------------------------+-----------------------------------------------+
| Name | Email | Organization |
+====================+================================+===============================================+
-| Gang Chen | cg@zju.edu.cn | Zhejiang University |
+| Gang Chen | cg@apache.org | Zhejiang University |
+--------------------+--------------------------------+-----------------------------------------------+
-| Haibo Chen | hzchenhaibo@corp.netease.com | NetEase |
+| Anh Dinh | dinhtta@apache.org | Singapore University of Technology and Design |
+--------------------+--------------------------------+-----------------------------------------------+
-| Anh Dinh | dinhtta@apache.org | National University of Singapore |
+| Jinyang Gao | jinyang@apache.org | DAMO Academy, Alibaba Group |
+--------------------+--------------------------------+-----------------------------------------------+
-| Jinyang Gao | jinyang@apache.org | National University of Singapore |
+| Zhaojing Luo | zhaojing@apache.org | National University of Singapore |
+--------------------+--------------------------------+-----------------------------------------------+
-| Xin Ji | jixin@comp.nus.edu.sg | National University of Singapore |
+| Beng Chin Ooi | ooibc@apache.org | National University of Singapore |
+--------------------+--------------------------------+-----------------------------------------------+
-| Chonho Lee | chonho@gmail.com | Osaka University |
+| Kian-Lee Tan | tankianlee@apache.org | National University of Singapore |
+--------------------+--------------------------------+-----------------------------------------------+
-| Zhaojing Luo | zhaojing@apache.org | National University of Singapore |
+| Sheng Wang | wangsh@apache.org | DAMO Academy, Alibaba Group |
+--------------------+--------------------------------+-----------------------------------------------+
-| Beng Chin Ooi | ooibc@comp.nus.edu.sg | National University of Singapore |
+| Wei Wang | wangwei@apache.org | National University of Singapore |
+--------------------+--------------------------------+-----------------------------------------------+
-| Kian-Lee Tan | tankl@apache.org | National University of Singapore |
+| Zhongle Xie | zhongle@apache.org | Hangzhou MZH Technologies |
+--------------------+--------------------------------+-----------------------------------------------+
-| Anthony K. H. Tung | atung@comp.nus.edu.sg | National University of Singapore |
+| Kaiping Zheng | kaiping@apache.org | National University of Singapore |
+--------------------+--------------------------------+-----------------------------------------------+
-| Ji Wang | wangji@comp.nus.edu.sg | National University of Singapore |
+| Moaz Reyad | moaz@apache.org | Université Grenoble Alpes |
+--------------------+--------------------------------+-----------------------------------------------+
-| Sheng Wang | wangsh@apache.org | National University of Singapore |
+
+Committers
+----------
+
+--------------------+--------------------------------+-----------------------------------------------+
-| Wei Wang | wangwei@apache.org | National University of Singapore |
+| Name | Email | Organization |
++====================+================================+===============================================+
+| Chonho Lee | chonho@apache.org | Osaka University |
+--------------------+--------------------------------+-----------------------------------------------+
-| Yuan Wang | wangyuan@corp.netease.com | NetEase |
+| Wanqi Xue | xuewanqi@apache.org | National University of Singapore |
+--------------------+--------------------------------+-----------------------------------------------+
-| Wenfeng Wu | wuwf@comp.nus.edu.sg | National University of Singapore |
+
+Contributors
+------------
+
+--------------------+--------------------------------+-----------------------------------------------+
-| Zhongle Xie | zhongle@apache.org | National University of Singapore |
+| Name | Email | Organization |
++====================+================================+===============================================+
+| Haibo Chen | hzchenhaibo@corp.netease.com | NetEase |
+--------------------+--------------------------------+-----------------------------------------------+
-| Meihui Zhang | meihui_zhang@sutd.edu.sg | Singapore University of Technology and Design |
+| Xin Ji | jixin@comp.nus.edu.sg | Visenze, Singapore |
+--------------------+--------------------------------+-----------------------------------------------+
-| Kaiping Zheng | kaiping@apache.org | National University of Singapore |
+| Anthony K. H. Tung | atung@comp.nus.edu.sg | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Ji Wang | wangji@comp.nus.edu.sg | Hangzhou MZH Technologies |
++--------------------+--------------------------------+-----------------------------------------------+
+| Yuan Wang | wangyuan@corp.netease.com | NetEase |
++--------------------+--------------------------------+-----------------------------------------------+
+| Wenfeng Wu | wuwf@comp.nus.edu.sg | Freelancer, China |
+--------------------+--------------------------------+-----------------------------------------------+
-| Moaz Reyad | moaz@apache.org | University of Genoa |
+| Meihui Zhang | meihui_zhang@sutd.edu.sg | Beijing Institute of Technology |
+--------------------+--------------------------------+-----------------------------------------------+
-| Chang Yao | yaochang2009@gmail.com | yzBigdata |
+| Chang Yao | yaochang2009@gmail.com | Hangzhou MZH Technologies |
+--------------------+--------------------------------+-----------------------------------------------+
+
diff --git a/content/_sources/develop/contribute-code.md.txt b/content/_sources/develop/contribute-code.md.txt
index bbb22de..cc7a4bb 100644
--- a/content/_sources/develop/contribute-code.md.txt
+++ b/content/_sources/develop/contribute-code.md.txt
@@ -16,19 +16,32 @@
specific language governing permissions and limitations
under the License.
-->
-## How to Contribute Code
+# How to Contribute Code
+## Coding Style
-### Coding Style
+The SINGA codebase follows the Google Style for both [CPP](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml) and [Python](http://google.github.io/styleguide/pyguide.html) code.
-The SINGA codebase follows the [Google C++ Style Guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml).
+A simple way to enforce the Google coding styles is to use the linting and formating tools in the Visual Studio Code editor:
-To check if your code follows the style, you can use the provided cpplint tool:
+ * [C/C++ extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
+ * [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- $ ./tool/cpplint.py YOUR_FILE
+Once the extensions are installed, edit the settings.json file.
+ "editor.formatOnSave": true,
+ "python.formatting.provider": "yapf",
+ "python.formatting.yapfArgs": [
+ "--style",
+ "{based_on_style: google}"
+ ],
+ "python.linting.enabled": true,
+ "python.linting.lintOnSave": true,
+ "C_Cpp.clang_format_style": "Google"
-### JIRA format
+You need to fix the format errors before submitting the pull requests.
+
+## JIRA format
Like other Apache projects, SINGA uses JIRA to track bugs, improvements and
other high-level discussions (e.g., system design and features). Github pull requests are
@@ -40,38 +53,54 @@ used for implementation discussions, e.g., code review and code merge.
document.
* Set [required fields](https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark#ContributingtoSpark-JIRA)
-### Pull Request
-
-The work flow is
-
-* Fork the [SINGA Github repository](https://github.com/apache/incubator-singa) to
-your own Github account.
-
-* Clone your fork, create a new branch (e.g., feature-foo or fixbug-foo),
- work on it. After finishing your job,
- [rebase](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) it to the
- current latest master and push commits to your own Github account (the new
- branch).
-
-* Open a pull request against the master branch of apache/incubator-singa.
-The PR title should be of the form SINGA-xxxx Title, where
-SINGA-xxxx is the relevant JIRA number, and Title may be the JIRA's title or a
-more specific title describing the PR itself, for example, "SINGA-6 Implement thread-safe singleton". Detailed description can be copied from the JIRA.
-Consider identifying committers or other contributors who have worked on the
-code being changed. Find the file(s) in Github and click "Blame" to see a
-line-by-line annotation of who changed the code last. You can add @username in
-the PR description to ping them immediately.
-Please state that the contribution is your original work and that you license
-the work to the project under the project's open source license. Further commits (e.g., bug fix)
-to your new branch will be added to this pull request automatically by Github.
-
-* Wait for one committer to review the patch. If no conflicts, the committers will merge it with
-the master branch. The merge should a) not use rebase b) disable fast forward merge c) check the
-commit message format and test the code/feature.
-
-* If there are too many small commit messages, you will be told to squash your commits into fewer meaningful
-commits. If your commit message does not follow the format (i.e., SINGA-xxxx), you will be told to
-reword your commit message. Both changes can be done using interactive git rebase. Once you
-get the commits corrected, push them to you own github again. Your pull request
-will be automatically updated. For details, please refer to
-[Rebase Pull Requests](https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request).
+## Git Workflow
+
+
+1. Fork the [SINGA Github repository](https://github.com/apache/incubator-singa) to your own Github account.
+
+2. Clone the **repo** (short for repository) from your Github
+
+ git clone https://github.com/<Github account>/incubator-singa.git
+ git remote add apache https://github.com/apache/incubator-singa.git
+
+3. Create a new branch (e.g., `feature-foo` or `fixbug-foo`), work on it and commit your code.
+
+ git checkout -b feature-foo
+ # write your code
+ git add <created/updated files>
+ git commit
+
+ The commit message should have a **title which consists of the JIRA ticket No (SINGA-xxx) and title**. A brief description of the commit should be added in the commit message.
+
+ If your branch has many small commits, you need to clean those commits via
+
+ git rebase -i <commit id>
+
+ You can [squash and reword](https://help.github.com/en/articles/about-git-rebase) the commits.
+
+4. When you are working on the code, the `master` of SINGA may have been updated by others; In this case, you need to pull the latest master
+
+ git checkout master
+ git pull apache master:master
+ git checkout feature-foo
+
+
+5. [Rebase](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) `feature-foo` onto the `master` branch and push commits to your own Github account (the new branch).
+
+ git rebase master
+ git push origin feature-foo:feature-foo
+
+6. Open a pull request (PR) against the master branch of apache/incubator-singa on Github website. The PR title should be the JIRA ticket title. If you want to inform other contributors who worked on the same files, you can find the file(s) on Github and click "Blame" to see a line-by-line annotation of who changed the code last. Then, you can add @username in the PR description to ping them immediately. Please state that the contribution is your original work and that you license the w [...]
+
+7. Wait for committers to review the PR. If no conflicts and errors, the committers will merge it with the master branch. The merge should **a) not use rebase b) disable fast forward merge c) check the commit message format and test the code/feature**. During this time, the master of SINGA may have been updated by others, and then you need to [merge the latest master](https://docs.fast.ai/dev/git.html#how-to-keep-your-feature-branch-up-to-date) to resolve conflicts. Some people [rebase t [...]
+
+
+## Developing Environment
+
+Visual Studio Code is recommended as the editor. Extensions like Python, C/C++, Code Spell Checker, autoDocstring, vim, Remote Development could be installed. A reference configuration (i.e., `settings.json`) of these extensions is [here](https://gist.github.com/nudles/3d23cfb6ffb30ca7636c45fe60278c55).
+
+If you update the CPP code, you need to recompile SINGA [from source](./build.md). It is recommended to use the native building tools in the `*-devel` Docker images or `conda build`.
+
+If you only update the Python code, you can install SINGAS once, and then copy the updated Python files to replace those in the Python installation folder,
+
+ cp python/singa/xx.py <path to conda>/lib/python3.7/site-packages/singa/
\ No newline at end of file
diff --git a/content/_sources/develop/contribute-docs.md.txt b/content/_sources/develop/contribute-docs.md.txt
index 6de5072..a69e72b 100644
--- a/content/_sources/develop/contribute-docs.md.txt
+++ b/content/_sources/develop/contribute-docs.md.txt
@@ -16,39 +16,88 @@
specific language governing permissions and limitations
under the License.
-->
-# How to Contribute to Documentation
+# How to Contribute to Documentation
## Website
+
This document gives step-by-step instructions for deploying [SINGA website](http://singa.incubator.apache.org).
-SINGA website is built by [Sphinx](http://www.sphinx-doc.org) >=1.4.4 from a source tree stored in git: https://github.com/apache/incubator-singa/tree/master/doc.
+SINGA website is built by [Sphinx](http://www.sphinx-doc.org) from a source tree stored in the [git repo](https://github.com/apache/incubator-singa/tree/master/doc).
To install Sphinx:
- $ pip install -U Sphinx
+ pip install -U Sphinx==1.5.6
To install the markdown support for Sphinx:
- $ pip install recommonmark
+ pip install recommonmark==0.5.0
To install the rtd theme:
- $ pip install sphinx_rtd_theme
+ pip install sphinx_rtd_theme==0.4.3
You can build the website by executing the following command from the doc folder:
- $ ./build.sh html
+ ./build.sh html
-Committers can update the [SINGA website](http://singa.apache.org/en/index.html) by following these steps:
+Committers can update the [SINGA website](http://singa.apache.org/en/index.html) by copying the updated files to the [website repo](https://github.com/apache/incubator-singa-site) (suppose the site repo is ~/incubator-singa-sit)
- $ cd _build
- $ svn co https://svn.apache.org/repos/asf/incubator/singa/site/trunk
- $ cp -r html/* trunk
- # svn add <newly added html files>
- $ svn commit -m "commit messages" --username <committer ID> --password <password>
+ cd _build
+ rsync --checksum -rvh html/ ~/incubator-singa-site/
+ cd ~/incubator-singa-site
+ git commit -m "update xxxx"
+ git push
+We fix the versions of the libs in order to generate the same (checksum) html file if the source file is not changed. Otherwise, everytime we build the documentation, the html file of the same source file could be different. As a result, many html files in the site repo need updating.
+
+## Python API
## CPP API
To generate docs, run "doxygen" from the doc folder (Doxygen >= 1.8 recommended)
+
+## Using Visual Studio Code (vscode)
+
+### Preview
+
+The document files (rst and md files) can be previewed in vscode via the [reStructuredText Extension](https://docs.restructuredtext.net/).
+
+1. Install the extension in vscode.
+2. Install the dependent libs. All libs required to build the website should be installed (see the above instructions). In addition, there are two more libs to be installed.
+
+ pip install sphinx-autobuild=0.7.1
+ pip install doc8=0.8.0
+3. Configure the conf path for `restructuredtext.confPath` to the [conf.py](./conf.py)
+
+### Docstring Snippet
+
+[autoDocstring](https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring) generates the docstring of functions, classes, etc. Choose the DocString Format to `google`.
+
+### Spell Check
+
+[Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) can be configured to check the comments of the code, or .md and .rst files.
+
+To do spell check only for comments of Python code, add the following snippet via `File - Preferences - User Snippets - python.json`
+
+ "cspell check" : {
+ "prefix": "cspell",
+ "body": [
+ "# Directives for doing spell check only for python and c/cpp comments",
+ "# cSpell:includeRegExp #.* ",
+ "# cSpell:includeRegExp (\"\"\"|''')[^\1]*\1",
+ "# cSpell: CStyleComment",
+ ],
+ "description": "# spell check only for python comments"
+ }
+
+To do spell check only for comments of Cpp code, add the following snippet via `File - Preferences - User Snippets - cpp.json`
+
+ "cspell check" : {
+ "prefix": "cspell",
+ "body": [
+ "// Directive for doing spell check only for cpp comments",
+ "// cSpell:includeRegExp CStyleComment",
+ ],
+ "description": "# spell check only for cpp comments"
+ }
diff --git a/content/_sources/develop/how-contribute.md.txt b/content/_sources/develop/how-contribute.md.txt
index 399a954..c0d5b72 100644
--- a/content/_sources/develop/how-contribute.md.txt
+++ b/content/_sources/develop/how-contribute.md.txt
@@ -21,16 +21,5 @@
As with any open source project, there are several ways you can help:
* Join the [mailing list](http://singa.apache.org/en/community/mail-lists.html) and answer other user's questions.
-* [Build SINGA](http://singa.apache.org/en/docs/installation.html) by yourself.
-* Report bugs, feature requests and other issues in the [issue tracking](http://singa.apache.org/en/community/issue-tracking.html) application.
-* Check SINGA's [development schedule](http://singa.apache.org/en/develop/schedule.html) and [contribute code](http://singa.apache.org/en/develop/contribute-code.html) by providing patches.
* [Help with the documentation](http://singa.apache.org/en/develop/contribute-docs.html) by updating webpages that are lacking or unclear.
-
-
-# How to become a SINGA committer
-
-SINGA committers are members that have write access to SINGA code and documentation repositories. They can contribute by themselves and accept other contributions.
-
-Becoming a SINGA committer requires understanding the Apache Way and being an active member in the SINGA project. An active member participates on mailing lists, answers questions, contributes code, tests and documentation, presents SINGA in talks and seminars, verifies releases and report issues or feature requests.
-
-New committers can be suggested by current committers or PPMC members, and voted upon by the PPMC according to Apache guidelines. You can start by talking to other committers and ask for their advice and guidance.
+* [Contribute code to SINGA](http://singa.apache.org/en/develop/contribute-code.html) by fixing errors or adding new features. [All issues are tracked](http://singa.apache.org/en/community/issue-tracking.html) on the JIRA system.
\ No newline at end of file
diff --git a/content/_sources/docs/index.rst.txt b/content/_sources/docs/index.rst.txt
index 76ece28..015f462 100644
--- a/content/_sources/docs/index.rst.txt
+++ b/content/_sources/docs/index.rst.txt
@@ -23,21 +23,9 @@ Documentation
installation
software_stack
- benchmark
device
tensor
- layer
- net
- initializer
- loss
- metric
- optimizer
autograd
- data
- image_tool
- snapshot
- converter
- utils
- model_zoo/index
- security
-
+ onnx
+ benchmark
+ model_zoo/index
\ No newline at end of file
diff --git a/content/_sources/docs/installation.md.txt b/content/_sources/docs/installation.md.txt
index 70da2f8..780053c 100644
--- a/content/_sources/docs/installation.md.txt
+++ b/content/_sources/docs/installation.md.txt
@@ -22,360 +22,99 @@
Conda is a package manager for Python, CPP and other packages.
-Currently, SINGA has conda packages (Python 2.7 and Python 3.6) for Linux and MacOSX.
+Currently, SINGA has conda packages for Linux and MacOSX.
[Miniconda3](https://conda.io/miniconda.html) is recommended to use with SINGA.
After installing miniconda, execute the one of the following commands to install
SINGA.
-1. CPU only
+1. CPU only
- conda install -c nusdbsystem singa-cpu
+ conda install -c nusdbsystem -c conda-forge singa-cpu
+ [](https://colab.research.google.com/drive/1Ntkhi-Z6XTR8WYPXiLwujHd2dOm0772V)
-2. GPU with CUDA and cuDNN
+2. GPU with CUDA and cuDNN (CUDA driver >=384.81 is required)
- conda install -c nusdbsystem singa-gpu
+ conda install -c nusdbsystem -c conda-forge singa-gpu
+ [](https://colab.research.google.com/drive/1do_TLJe18IthLOnBOsHCEe-FFPGk1sPJ)
- CUDA driver (for CUDA >=9.0) must be installed before executing the above command. Singa
- packages for other CUDA versions are also available. The following instruction
- lists all the available Singa packages.
- conda search -c nusdbsystem singa
+3. Install a specific version of SINGA. The following command lists all the available SINGA packages.
-If there is no error message from
-
- python -c "from singa import tensor"
-
-then SINGA is installed successfully.
-
-
-## From source
-
-The source files could be downloaded either as a
-[tar.gz file](https://dist.apache.org/repos/dist/dev/incubator/singa/), or as a git repo
-
- $ git clone https://github.com/apache/incubator-singa.git
- $ cd incubator-singa/
-
-### Use Conda to build SINGA
-
-Conda-build is a building tool that installs the dependent libraries from anaconda cloud and
-executes the building scripts. The generated package can be uploaded to anaconda
-cloud for others to download and install.
-
-To install conda-build (after installing miniconda)
-
- conda install conda-build
-
-To build the CPU version of SINGA
-
- conda build tool/conda/singa/ --python 3.6
-The above commands have been tested on Ubuntu 16.04 and Mac OSX.
-Refer to the [Travis-CI page](https://travis-ci.org/apache/incubator-singa) for more information.
-
-
-To build the GPU version of SINGA
-
- export CUDA=x.y (e.g. 9.0)
- conda build tool/conda/singa/ --python 3.6
-
-The commands for building on GPU platforms have been tested on Ubuntu 16.04 (cuDNN>=7 and CUDA>=9).
-[Nvidia's Docker image](https://hub.docker.com/r/nvidia/cuda/) provides the building
-environment with cuDNN and CUDA.
-
-The location of the generated package file is shown on the screen.
-Refer to [conda install](https://conda.io/docs/commands/conda-install.html) for
-the instructions of installing the package from the local file.
-
-
-### Use native tools to build SINGA on Ubuntu
-
-The following libraries are required to compile and run SINGA.
-Refer to SINGA [Dockerfiles](https://github.com/apache/incubator-singa/blob/master/tool/docker/)
-for the instructions of installing them on Ubuntu 16.04.
-
-* cmake (>=2.8)
-* gcc (>=4.8.1)
-* google protobuf (>=2.5)
-* blas (tested with openblas >=0.2.10)
-* swig(>=3.0.10) for compiling PySINGA
-* numpy(>=1.11.0) for compiling PySINGA
-
-
-1. create a `build` folder inside incubator-singa and go into that folder
-2. run `cmake [options] ..`
- by default all options are OFF except `USE_PYTHON`
-
- * `USE_MODULES=ON`, used if protobuf and blas are not installed a prior
- * `USE_CUDA=ON`, used if CUDA and cuDNN is available
- * `USE_PYTHON3=ON`, used for compiling with Python 3 support. (The default is Python 2)
- * `USE_OPENCL=ON`, used for compiling with OpenCL support
- * `USE_MKLDNN=ON`, used for compiling with Intel MKL-dnn support
- * `PACKAGE=ON`, used for building the Debian package
- * `ENABLE_TEST`, used for compiling unit test cases
+ conda search -c nusdbsystem singa
+
+ Loading channels: done
+ # Name Version Build Channel
+ singa 2.1.0.dev cpu_py36 nusdbsystem
+ singa 2.1.0.dev cpu_py37 nusdbsystem
-3. compile the code, `make`
-4. goto python folder
-5. run `pip install .` or `pip install -e .` The second command creates symlinks instead of copying files into python site-package folder.
+ The following command install a specific version of SINGA,
-Execute step 4 and 5 are to install PySINGA when USE_PYTHON=ON.
+ conda install -c nusdbsystem -c conda-forge singa=2.1.0.dev=cpu_py37
-After compiling SINGA with ENABLE_TEST=ON, you can run the unit tests by
- $ ./bin/test_singa
-
-You can see all the testing cases with testing results. If SINGA passes all
-tests, then you have successfully installed SINGA.
-
-
-### Compile SINGA on Windows
-
-Instructions for building on Windows with Python support can be found [here](install_win.html).
-
-### More details about the compilation options
-
-### USE_MODULES
-
-If protobuf and openblas are not installed, you can compile SINGA together with them
-
- $ In SINGA ROOT folder
- $ mkdir build
- $ cd build
- $ cmake -DUSE_MODULES=ON ..
- $ make
-
-cmake would download OpenBlas and Protobuf (2.6.1) and compile them together
-with SINGA.
-
-You can use `ccmake ..` to configure the compilation options.
-If some dependent libraries are not in the system default paths, you need to export
-the following environment variables
-
- export CMAKE_INCLUDE_PATH=<path to the header file folder>
- export CMAKE_LIBRARY_PATH=<path to the lib file folder>
-
-#### USE_PYTHON
-
-Similar to compile CPP code, PySINGA is compiled by
-
- $ cmake -DUSE_PYTHON=ON ..
- $ make
- $ cd python
- $ pip install .
-
-
-#### USE_CUDA
-
-Users are encouraged to install the CUDA and
-[cuDNN](https://developer.nvidia.com/cudnn) for running SINGA on GPUs to
-get better performance.
-
-SINGA has been tested over CUDA 9, and cuDNN 7. If cuDNN is
-installed into non-system folder, e.g. /home/bob/local/cudnn/, the following
-commands should be executed for cmake and the runtime to find it
-
- $ export CMAKE_INCLUDE_PATH=/home/bob/local/cudnn/include:$CMAKE_INCLUDE_PATH
- $ export CMAKE_LIBRARY_PATH=/home/bob/local/cudnn/lib64:$CMAKE_LIBRARY_PATH
- $ export LD_LIBRARY_PATH=/home/bob/local/cudnn/lib64:$LD_LIBRARY_PATH
-
-The cmake options for CUDA and cuDNN should be switched on
-
- # Dependent libs are install already
- $ cmake -DUSE_CUDA=ON ..
- $ make
-
-#### USE_OPENCL
-
-SINGA uses opencl-headers and viennacl (version 1.7.1 or newer) for OpenCL support, which
-can be installed using via
+If there is no error message from
- # On Ubuntu 16.04
- $ sudo apt-get install opencl-headers, libviennacl-dev
- # On Fedora
- $ sudo yum install opencl-headers, viennacl
+ python -c "from singa import tensor"
-Additionally, you will need the OpenCL Installable Client Driver (ICD) for the platforms that you want to run OpenCL on.
+then SINGA is installed successfully.
-* For AMD and nVidia GPUs, the driver package should also install the correct OpenCL ICD.
-* For Intel CPUs and/or GPUs, get the driver from the [Intel website.](https://software.intel.com/en-us/articles/opencl-drivers) Note that the drivers provided on that website only supports recent CPUs and Iris GPUs.
-* For older Intel CPUs, you can use the `beignet-opencl-icd` package.
+## Using Docker
-Note that running OpenCL on CPUs is not currently recommended because it is slow.
-Memory transfer is on the order of whole seconds (1000's of ms on CPUs as compared to 1's of ms on GPUs).
+Install Docker on your local host machine following the [instructions](https://docs.docker.com/install/). Add your user into the [docker group](https://docs.docker.com/install/linux/linux-postinstall/) to run docker commands without `sudo`.
-More information on setting up a working OpenCL environment may be found [here](https://wiki.tiker.net/OpenCLHowTo).
+1. CPU-only.
-If the package version of ViennaCL is not at least 1.7.1, you will need to build it from source:
+ docker run -it apache/singa:2.0.0-cpu /bin/bash
-Clone [the repository from here](https://github.com/viennacl/viennacl-dev), checkout the `release-1.7.1` tag and build it.
-Remember to add its directory to `PATH` and the built libraries to `LD_LIBRARY_PATH`.
+2. With GPU enabled. Install [Nvidia-Docker](https://github.com/NVIDIA/nvidia-docker) after install Docker.
-To build SINGA with OpenCL support (tested on SINGA 1.1):
+ nvidia-docker run -it apache/singa:2.0.0-gpu /bin/bash
- $ cmake -DUSE_OPENCL=ON ..
- $ make
+3. For the complete list of SINGA Docker images (tags), visit the [docker hub site](https://hub.docker.com/r/apache/singa/). For each docker image, the tag is named as
+
+ version-(cpu|gpu)[-devel]
-#### USE_MKLDNN
-
-User can enable MKL-DNN to enhance the performance of CPU computation.
-
-Installation guide of MKL-DNN could be found [here](https://github.com/intel/mkl-dnn#installation).
+ | Tag | Description| Example value|
+ | --- | --- | --- |
+ | `version`| SINGA version | 'nightly', '2.0.0', '1.2.0'|
+ | `cpu` | the image cannot run on GPUs | 'cpu' |
+ | `gpu` | the image can run on Nvidia GPUs| 'gpu', or 'cudax.x-cudnnx.x' e.g., 'cuda10.0-cudnn7.3'|
+ | `devel`| indicator for development|if absent SINGA Python package is installed for runtime only; if present, the building environment is also created, you can recompile SINGA from source at '/root/incubator-singa'
-SINGA has been tested over MKL-DNN v0.17.2.
+* Please note that using the nightly built images is not recommended excpet for SINGA development and testing. Using an official release is recommended. Official releases have version numbers such as '2.0.0' and '1.2.0'.
-To build SINGA with MKL-DNN support:
-
- # Dependent libs are installed already
- $ cmake -DUSE_MKLDNN=ON ..
- $ make
-
-
-#### PACKAGE
-
-This setting is used to build the Debian package. Set PACKAGE=ON and build the package with make command like this:
-
- $ cmake -DPACKAGE=ON
- $ make package
+## From source
+You can [build and install SINGA](../develop/build.md) from the source code using native building tools or conda-build, on local host OS or in a Docker container.
## FAQ
-* Q: Error from 'import singa' using PySINGA installed from wheel.
-
- A: Please check the detailed error from `python -c "from singa import _singa_wrap"`. Sometimes it is
- caused by the dependent libraries, e.g. there are multiple versions of protobuf, missing of cudnn, numpy version mismatch. Following
- steps show the solutions for different cases
- 1. Check the cudnn and cuda and gcc versions, cudnn5 and cuda7.5 and gcc4.8/4.9 are preferred. if gcc is 5.0, then downgrade it.
- If cudnn is missing or not match with the wheel version, you can download the correct version of cudnn into ~/local/cudnn/ and
-
- $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/cudnn/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
-
- 2. If it is the problem related to protobuf, then download the newest whl files which have [compiled protobuf and openblas into the whl](https://issues.apache.org/jira/browse/SINGA-255) file of PySINGA.
- Or you can install protobuf from source into a local folder, say ~/local/;
- Decompress the tar file, and then
-
- $ ./configure --prefix=/home/<yourname>local
- $ make && make install
- $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
- $ source ~/.bashrc
-
- 3. If it cannot find other libs including python, then create virtual env using pip or conda;
-
- 4. If it is not caused by the above reasons, go to the folder of `_singa_wrap.so`,
-
- $ python
- >> import importlib
- >> importlib.import_module('_singa_wrap')
-
- Check the error message. For example, if the numpy version mismatches, the error message would be,
-
- RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa
-
- Then you need to upgrade the numpy.
-
-
-* Q: Error from running `cmake ..`, which cannot find the dependent libraries.
-
- A: If you haven't installed the libraries, install them. If you installed
- the libraries in a folder that is outside of the system folder, e.g. /usr/local,
- you need to export the following variables
-
- $ export CMAKE_INCLUDE_PATH=<path to your header file folder>
- $ export CMAKE_LIBRARY_PATH=<path to your lib file folder>
-
-
-* Q: Error from `make`, e.g. the linking phase
-
- A: If your libraries are in other folders than system default paths, you need
- to export the following varaibles
-
- $ export LIBRARY_PATH=<path to your lib file folder>
- $ export LD_LIBRARY_PATH=<path to your lib file folder>
-
-
-* Q: Error from header files, e.g. 'cblas.h no such file or directory exists'
-
- A: You need to include the folder of the cblas.h into CPLUS_INCLUDE_PATH,
- e.g.,
-
- $ export CPLUS_INCLUDE_PATH=/opt/OpenBLAS/include:$CPLUS_INCLUDE_PATH
+* Q: Error from `from singa import tensor`
-* Q:While compiling SINGA, I get error `SSE2 instruction set not enabled`
-
- A:You can try following command:
-
- $ make CFLAGS='-msse2' CXXFLAGS='-msse2'
-
-* Q:I get `ImportError: cannot import name enum_type_wrapper` from google.protobuf.internal when I try to import .py files.
-
- A: You need to install the python binding of protobuf, which could be installed via
-
- $ sudo apt-get install protobuf
-
- or from source
-
- $ cd /PROTOBUF/SOURCE/FOLDER
- $ cd python
- $ python setup.py build
- $ python setup.py install
-
-* Q: When I build OpenBLAS from source, I am told that I need a Fortran compiler.
-
- A: You can compile OpenBLAS by
-
- $ make ONLY_CBLAS=1
-
- or install it using
-
- $ sudo apt-get install libopenblas-dev
-
-* Q: When I build protocol buffer, it reports that GLIBC++_3.4.20 not found in /usr/lib64/libstdc++.so.6.
-
- A: This means the linker found libstdc++.so.6 but that library
- belongs to an older version of GCC than was used to compile and link the
- program. The program depends on code defined in
- the newer libstdc++ that belongs to the newer version of GCC, so the linker
- must be told how to find the newer libstdc++ shared library.
- The simplest way to fix this is to find the correct libstdc++ and export it to
- LD_LIBRARY_PATH. For example, if GLIBC++_3.4.20 is listed in the output of the
- following command,
-
- $ strings /usr/local/lib64/libstdc++.so.6|grep GLIBC++
-
- then you just set your environment variable as
-
- $ export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
-
-* Q: When I build glog, it reports that "src/logging_unittest.cc:83:20: error: ‘gflags’ is not a namespace-name"
-
- A: It maybe that you have installed gflags with a different namespace such as "google". so glog can't find 'gflags' namespace.
- Because it is not necessary to have gflags to build glog. So you can change the configure.ac file to ignore gflags.
-
- 1. cd to glog src directory
- 2. change line 125 of configure.ac to "AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=0, ac_cv_have_libgflags=0)"
- 3. autoreconf
-
- After this, you can build glog again.
-
-* Q: When using virtual environment, everytime I run pip install, it would reinstall numpy. However, the numpy would not be used when I `import numpy`
-
- A: It could be caused by the `PYTHONPATH` which should be set to empty when you are using virtual environment to avoid the conflicts with the path of
- the virtual environment.
-
-* Q: When compiling PySINGA from source, there is a compilation error due to the missing of <numpy/objectarray.h>
+ A: Check the detailed error from
+
+ python -c "from singa import _singa_wrap"
+ # go to the folder of _singa_wrap.so
+ ldd path to _singa_wrap.so
+ python
+ >> import importlib
+ >> importlib.import_module('_singa_wrap')
+
+
+ The folder of `_singa_wrap.so` is like ' ~/miniconda3/lib/python3.7/site-packages/singa'.
+ Normally, the error is caused by the mismatch or missing of dependent libraries, e.g. cuDNN or protobuf. The solution is to create a new virtual environment and install SINGA in that environment, e.g.,
- A: Please install numpy and export the path of numpy header files as
+ conda create -n singa
+ conda activate singa
+ conda install -c nusdbsystem -c conda-forge singa-cpu
- $ export CPLUS_INCLUDE_PATH=`python -c "import numpy; print numpy.get_include()"`:$CPLUS_INCLUDE_PATH
-* Q: When I run PySINGA in Mac OS X, I got the error "Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6"
+* Q: When using virtual environment, every time I install SINGA, numpy would be reinstalled. However, the numpy is not used when I run `import numpy`
- A: This error happens typically when you have multiple version of Python on your system and you installed SINGA via pip (this problem is resolved for installation via conda),
- e.g, the one comes with the OS and the one installed by Homebrew. The Python linked by PySINGA must be the same as the Python interpreter.
- You can check your interpreter by `which python` and check the Python linked by PySINGA via `otool -L <path to _singa_wrap.so>`.
- To fix this error, compile SINGA with the correct version of Python.
- In particular, if you build PySINGA from source, you need to specify the paths when invoking [cmake](http://stackoverflow.com/questions/15291500/i-have-2-versions-of-python-installed-but-cmake-is-using-older-version-how-do)
+ A: It could be caused by the `PYTHONPATH` environment variable which should be set to empty when you are using virtual environment to avoid the conflicts with the path of the virtual environment.
- $ cmake -DPYTHON_LIBRARY=`python-config --prefix`/lib/libpython2.7.dylib -DPYTHON_INCLUDE_DIR=`python-config --prefix`/include/python2.7/ ..
+* Q: When I run SINGA in Mac OS X, I got the error "Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6"
- If installed PySINGA from binary packages, e.g. debian or wheel, then you need to change the python interpreter, e.g., reset the $PATH to put the correct path of Python at the front position.
+ A: This error happens typically when you have multiple versions of Python in your system, e.g, the one comes with the OS and the one installed by Homebrew. The Python linked by SINGA must be the same as the Python interpreter. You can check your interpreter by `which python` and check the Python linked by SINGA via `otool -L <path to _singa_wrap.so>`.
+ This problem should be resolved if SINGA is installation via conda.
diff --git a/content/_sources/docs/model_zoo/caffe/README.md.txt b/content/_sources/docs/model_zoo/caffe/README.md.txt
index 92c9325..6ac0fd0 100644
--- a/content/_sources/docs/model_zoo/caffe/README.md.txt
+++ b/content/_sources/docs/model_zoo/caffe/README.md.txt
@@ -1,3 +1,21 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
# Use parameters pre-trained from Caffe in SINGA
In this example, we use SINGA to load the VGG parameters trained by Caffe to do image classification.
diff --git a/content/_sources/docs/model_zoo/char-rnn/README.md.txt b/content/_sources/docs/model_zoo/char-rnn/README.md.txt
index dcaf652..6a3a9bd 100644
--- a/content/_sources/docs/model_zoo/char-rnn/README.md.txt
+++ b/content/_sources/docs/model_zoo/char-rnn/README.md.txt
@@ -1,3 +1,21 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
# Train Char-RNN over plain text
Recurrent neural networks (RNN) are widely used for modelling sequential data,
@@ -30,4 +48,3 @@ Other plain text files can also be used.
python sample.py 'model.bin' 100 --seed '#include <std'
Please replace 'model.bin' with the path to one of the checkpoint paths.
-
diff --git a/content/_sources/docs/model_zoo/cifar10/README.md.txt b/content/_sources/docs/model_zoo/cifar10/README.md.txt
index 65df5e6..7bb63e7 100644
--- a/content/_sources/docs/model_zoo/cifar10/README.md.txt
+++ b/content/_sources/docs/model_zoo/cifar10/README.md.txt
@@ -1,3 +1,21 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
# Train CNN over Cifar-10
@@ -41,7 +59,7 @@ version of the Cifar-10 dataset in 'cifar-10-batches-py' folder.
python train.py vgg cifar-10-batches-py
- To train other models, please replace 'vgg' to 'alexnet', 'resnet' or 'caffe',
+ To train other models, please replace 'vgg' to 'alexnet', 'resnet' or 'caffe',
where 'caffe' refers to the alexnet model converted from Caffe. By default
the training would run on a CudaGPU device, to run it on CppCPU, add an additional
argument
diff --git a/content/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt b/content/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
index 54aaaa1..1c564a4 100644
--- a/content/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
+++ b/content/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
@@ -25,7 +25,7 @@ In this example, we convert Inception V4 trained on Tensorflow to SINGA for imag
* Download the parameter checkpoint file
- $ wget
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/inception_v4.tar.gz
$ tar xvf inception_v4.tar.gz
* Download [synset_word.txt](https://github.com/BVLC/caffe/blob/master/data/ilsvrc12/get_ilsvrc_aux.sh) file.
diff --git a/content/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt b/content/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
index be6797c..c3d261e 100644
--- a/content/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
+++ b/content/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
@@ -1,3 +1,21 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
# Train AlexNet over ImageNet
Convolution neural network (CNN) is a type of feed-forward neural
diff --git a/content/_sources/docs/model_zoo/imagenet/densenet/README.md.txt b/content/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
index 1ddef0c..5238ce9 100644
--- a/content/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
+++ b/content/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
@@ -16,12 +16,7 @@
specific language governing permissions and limitations
under the License.
-->
----
-name: DenseNet models on ImageNet
-SINGA version: 1.1.1
-SINGA commit:
-license: https://github.com/pytorch/vision/blob/master/torchvision/models/densenet.py
----
+
# Image Classification using DenseNet
diff --git a/content/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt b/content/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
index e597fc6..a1ea8bd 100644
--- a/content/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
+++ b/content/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
@@ -1,16 +1,27 @@
----
-name: GoogleNet on ImageNet
-SINGA version: 1.0.1
-SINGA commit: 8c990f7da2de220e8a012c6a8ecc897dc7532744
-parameter_url: https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
-parameter_sha1: 0a88e8948b1abca3badfd8d090d6be03f8d7655d
-license: unrestricted https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet
----
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
# Image Classification using GoogleNet
-In this example, we convert GoogleNet trained on Caffe to SINGA for image classification.
+In this example, we convert GoogleNet trained on Caffe to SINGA for image classification. Tested on [SINGA commit](8c990f7da2de220e8a012c6a8ecc897dc7532744) with [the parameters](https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz).
## Instructions
diff --git a/content/_sources/docs/model_zoo/imagenet/inception/README.md.txt b/content/_sources/docs/model_zoo/imagenet/inception/README.md.txt
index f129edc..1c564a4 100644
--- a/content/_sources/docs/model_zoo/imagenet/inception/README.md.txt
+++ b/content/_sources/docs/model_zoo/imagenet/inception/README.md.txt
@@ -1,21 +1,31 @@
----
-name: Inception V4 on ImageNet
-SINGA version: 1.1.1
-SINGA commit:
-parameter_url: https://s3-ap-southeast-1.amazonaws.com/dlfile/inception_v4.tar.gz
-parameter_sha1: 5fdd6f5d8af8fd10e7321d9b38bb87ef14e80d56
-license: https://github.com/tensorflow/models/tree/master/slim
----
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
# Image Classification using Inception V4
-In this example, we convert Inception V4 trained on Tensorflow to SINGA for image classification.
+In this example, we convert Inception V4 trained on Tensorflow to SINGA for image classification. Tested on SINGA version 1.1.1 with [parameters pretrained by tensorflow](https://s3-ap-southeast-1.amazonaws.com/dlfile/inception_v4.tar.gz).
## Instructions
* Download the parameter checkpoint file
- $ wget
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/inception_v4.tar.gz
$ tar xvf inception_v4.tar.gz
* Download [synset_word.txt](https://github.com/BVLC/caffe/blob/master/data/ilsvrc12/get_ilsvrc_aux.sh) file.
diff --git a/content/_sources/docs/model_zoo/imagenet/resnet/README.md.txt b/content/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
index 9ea12cd..eb317b8 100644
--- a/content/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
+++ b/content/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
@@ -1,15 +1,27 @@
----
-name: Resnets on ImageNet
-SINGA version: 1.1
-SINGA commit: 45ec92d8ffc1fa1385a9307fdf07e21da939ee2f
-parameter_url: https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz
-license: Apache V2, https://github.com/facebook/fb.resnet.torch/blob/master/LICENSE
----
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
# Image Classification using Residual Networks
-In this example, we convert Residual Networks trained on [Torch](https://github.com/facebook/fb.resnet.torch) to SINGA for image classification.
+In this example, we convert Residual Networks trained on [Torch](https://github.com/facebook/fb.resnet.torch) to SINGA for image classification. Tested on [SINGA commit] with the [parameters pretrained by Torch](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz)
## Instructions
diff --git a/content/_sources/docs/model_zoo/imagenet/vgg/README.md.txt b/content/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
index 2c99902..dbf7ccd 100644
--- a/content/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
+++ b/content/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
@@ -1,9 +1,21 @@
----
-name: VGG models on ImageNet
-SINGA version: 1.1.1
-SINGA commit:
-license: https://github.com/pytorch/vision/blob/master/torchvision/models/vgg.py
----
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
# Image Classification using VGG
@@ -26,9 +38,9 @@ to SINGA for image classification.
* Example
# use cpu
- $ python serve.py --use_cpu --parameter_file vgg11.pickle --depth 11 --use_cpu &
- # use gpu
$ python serve.py --use_cpu --parameter_file vgg11.pickle --depth 11 &
+ # use gpu
+ $ python serve.py --parameter_file vgg11.pickle --depth 11 &
The parameter files for the following model and depth configuration pairs are provided:
* Without batch-normalization, [11](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg11.tar.gz), [13](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg13.tar.gz), [16](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg16.tar.gz), [19](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg19.tar.gz)
diff --git a/content/_sources/docs/model_zoo/index.rst.txt b/content/_sources/docs/model_zoo/index.rst.txt
index d08a557..fca66f9 100644
--- a/content/_sources/docs/model_zoo/index.rst.txt
+++ b/content/_sources/docs/model_zoo/index.rst.txt
@@ -23,7 +23,11 @@ Model Zoo
cifar10/README
char-rnn/README
+ mnist/README
imagenet/alexnet/README
+ imagenet/densenet/README
imagenet/googlenet/README
-
+ imagenet/inception/README
+ imagenet/resnet/README
+ imagenet/vgg/README
diff --git a/content/_sources/docs/model_zoo/mnist/README.md.txt b/content/_sources/docs/model_zoo/mnist/README.md.txt
index 60a85e0..6d91380 100644
--- a/content/_sources/docs/model_zoo/mnist/README.md.txt
+++ b/content/_sources/docs/model_zoo/mnist/README.md.txt
@@ -1,3 +1,21 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
# Train a RBM model against MNIST dataset
This example is to train an RBM model using the
diff --git a/content/_sources/downloads.md.txt b/content/_sources/downloads.md.txt
index 29df931..e45bdec 100644
--- a/content/_sources/downloads.md.txt
+++ b/content/_sources/downloads.md.txt
@@ -16,7 +16,8 @@
specific language governing permissions and limitations
under the License.
-->
-## Download SINGA
+
+# Download SINGA
* To verify the downloaded tar.gz file, download the [KEYS](https://www.apache.org/dist/incubator/singa/KEYS) and ASC files and then execute the following commands
diff --git a/content/_sources/index.rst.txt b/content/_sources/index.rst.txt
index dc61f29..bedb381 100644
--- a/content/_sources/index.rst.txt
+++ b/content/_sources/index.rst.txt
@@ -21,6 +21,15 @@ Welcome to Apache SINGA
Recent News
-----------
+* Food(lg), the mobile app to `help patients with prediabetes <https://ssi.nus.edu.sg/ntfgh/>`_, is powered by SINGA and this app can now be downloaded on the `APP Store <https://apps.apple.com/us/app/food-lg/id1213299378>`_ or `Google Play <https://play.google.com/store/apps/details?id=com.nusidmi.foodlg&hl=en_SG>`_. Watch this `video <https://www.youtube.com/watch?v=MHp-saJiP-0>`_ of Food(lg) for more details.
+
+* A tutorial on SINGA was given at Singapore Infocomm Media Development Authority (IMDA), 16 August, 2019. Snapshots of the tutorial:
+
+.. image:: _static/images/imda2019_1.png
+ :width: 45%
+.. image:: _static/images/imda2019_2.png
+ :width: 45%
+
* SINGA participated in mentoring the Google Summer of Code 2019 project `SpamAssassin : Statistical Classifier Plugin <https://summerofcode.withgoogle.com/projects/#5612088771215360>`_ .
* SINGA participated at `EU FOSSA Apache Hackathon <https://eufossa.github.io/apache-hackathon-2019/>`_ in Brussels on 4 and 5 May 2019.
@@ -94,13 +103,12 @@ Documentation
How to contribute
----------------------
-* Please subscribe to our development mailing list dev-subscribe@singa.incubator.apache.org.
-
-* If you find any issues using SINGA, please report it to the `Issue Tracker <https://issues.apache.org/jira/browse/singa>`_.
+As with any open source project, there are several ways you can help:
-* You can also contact with `SINGA committers <community/team-list.html>`_ directly.
+* Join the [mailing list](http://singa.apache.org/en/community/mail-lists.html) and answer other user's questions.
+* [Help with the documentation](http://singa.apache.org/en/develop/contribute-docs.html) by updating webpages that are lacking or unclear.
+* [Contribute code to SINGA](http://singa.apache.org/en/develop/contribute-code.html) by fixing errors or adding new features. [All issues are tracked](http://singa.apache.org/en/community/issue-tracking.html) on the JIRA system.
-More details on contributing to SINGA is described `here <develop/how-contribute.html>`_ .
History
------------
@@ -108,9 +116,9 @@ History
SINGA was initiated by the DB System Group at National University of Singapore in 2014, in collaboration with the database group of Zhejiang University.
Please cite the following two papers if you use SINGA in your research:
-* B. C. Ooi, K.-L. Tan, S. Wang, W. Wang, Q. Cai, G. Chen, J. Gao, Z. Luo, A. K. H. Tung, Y. Wang, Z. Xie, M. Zhang, and K. Zheng. `SINGA: A distributed deep learning platform <http://www.comp.nus.edu.sg/~ooibc/singaopen-mm15.pdf>`_. ACM Multimedia (Open Source Software Competition) 2015 (`BibTex <http://www.comp.nus.edu.sg/~dbsystem/singa//assets/file/bib-oss.txt>`_).
+* B\. C\. Ooi, K.-L. Tan, S. Wang, W. Wang, Q. Cai, G. Chen, J. Gao, Z. Luo, A. K. H. Tung, Y. Wang, Z. Xie, M. Zhang, and K. Zheng. `SINGA: A distributed deep learning platform <http://www.comp.nus.edu.sg/~ooibc/singaopen-mm15.pdf>`_. ACM Multimedia (Open Source Software Competition) 2015 (`BibTex <http://www.comp.nus.edu.sg/~dbsystem/singa//assets/file/bib-oss.txt>`_).
-* W. Wang, G. Chen, T. T. A. Dinh, B. C. Ooi, K.-L.Tan, J. Gao, and S. Wang. `SINGA: putting deep learning in the hands of multimedia users <http://www.comp.nus.edu.sg/~ooibc/singa-mm15.pdf>`_. ACM Multimedia 2015 (`BibTex <http://www.comp.nus.edu.sg/~dbsystem/singa//assets/file/bib-singa.txt>`_, `Slides <http://www.comp.nus.edu.sg/~dbsystem/singa/assets/file/mm2015.ppt>`_).
+* W\. Wang, G. Chen, T. T. A. Dinh, B. C. Ooi, K.-L.Tan, J. Gao, and S. Wang. `SINGA: putting deep learning in the hands of multimedia users <http://www.comp.nus.edu.sg/~ooibc/singa-mm15.pdf>`_. ACM Multimedia 2015 (`BibTex <http://www.comp.nus.edu.sg/~dbsystem/singa//assets/file/bib-singa.txt>`_, `Slides <http://www.comp.nus.edu.sg/~dbsystem/singa/assets/file/mm2015.ppt>`_).
Rafiki is a sub module of SINGA. Please cite the following paper if you use Rafiki in your research:
@@ -118,6 +126,7 @@ Rafiki is a sub module of SINGA. Please cite the following paper if you use Rafi
Companies like `NetEase <http://tech.163.com/17/0602/17/CLUL016I00098GJ5.html>`_, `yzBigData <http://www.yzbigdata.com/en/index.html>`_, `Shentilium <https://shentilium.com/>`_, `Foodlg <http://www.foodlg.com/>`_ and `Medilot <https://medilot.com/technologies>`_ are using SINGA for their applications.
+
.. toctree::
:hidden:
@@ -130,8 +139,6 @@ Companies like `NetEase <http://tech.163.com/17/0602/17/CLUL016I00098GJ5.html>`_
:maxdepth: 2
:caption: Development
- develop/schedule
- develop/how-contribute
develop/contribute-code
develop/contribute-docs
develop/how-to-release
@@ -146,8 +153,6 @@ Companies like `NetEase <http://tech.163.com/17/0602/17/CLUL016I00098GJ5.html>`_
community/issue-tracking
community/team-list
-
-
License
----------
SINGA is released under `Apache License Version 2.0 <http://www.apache.org/licenses/LICENSE-2.0>`_.
@@ -155,5 +160,4 @@ SINGA is released under `Apache License Version 2.0 <http://www.apache.org/licen
Disclaimers
-----------
-Apache SINGA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. 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 h [...]
-
+Apache SINGA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. 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 h [...]
\ No newline at end of file
diff --git a/content/_static/basic.css b/content/_static/basic.css
index c41d718..dc88b5a 100644
--- a/content/_static/basic.css
+++ b/content/_static/basic.css
@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- basic theme.
*
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -81,26 +81,10 @@ div.sphinxsidebar input {
font-size: 1em;
}
-div.sphinxsidebar #searchbox form.search {
- overflow: hidden;
-}
-
div.sphinxsidebar #searchbox input[type="text"] {
- float: left;
- width: 80%;
- padding: 0.25em;
- box-sizing: border-box;
+ width: 170px;
}
-div.sphinxsidebar #searchbox input[type="submit"] {
- float: left;
- width: 20%;
- border-left: none;
- padding: 0.25em;
- box-sizing: border-box;
-}
-
-
img {
border: 0;
max-width: 100%;
@@ -215,11 +199,6 @@ table.modindextable td {
/* -- general body styles --------------------------------------------------- */
-div.body {
- min-width: 450px;
- max-width: 800px;
-}
-
div.body p, div.body dd, div.body li, div.body blockquote {
-moz-hyphens: auto;
-ms-hyphens: auto;
@@ -231,16 +210,6 @@ a.headerlink {
visibility: hidden;
}
-a.brackets:before,
-span.brackets > a:before{
- content: "[";
-}
-
-a.brackets:after,
-span.brackets > a:after {
- content: "]";
-}
-
h1:hover > a.headerlink,
h2:hover > a.headerlink,
h3:hover > a.headerlink,
@@ -289,12 +258,6 @@ img.align-center, .figure.align-center, object.align-center {
margin-right: auto;
}
-img.align-default, .figure.align-default {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
.align-left {
text-align: left;
}
@@ -303,10 +266,6 @@ img.align-default, .figure.align-default {
text-align: center;
}
-.align-default {
- text-align: center;
-}
-
.align-right {
text-align: right;
}
@@ -373,16 +332,6 @@ table.docutils {
border-collapse: collapse;
}
-table.align-center {
- margin-left: auto;
- margin-right: auto;
-}
-
-table.align-default {
- margin-left: auto;
- margin-right: auto;
-}
-
table caption span.caption-number {
font-style: italic;
}
@@ -416,16 +365,6 @@ table.citation td {
border-bottom: none;
}
-th > p:first-child,
-td > p:first-child {
- margin-top: 0px;
-}
-
-th > p:last-child,
-td > p:last-child {
- margin-bottom: 0px;
-}
-
/* -- figures --------------------------------------------------------------- */
div.figure {
@@ -459,20 +398,6 @@ table.field-list td, table.field-list th {
margin: 0;
}
-.field-name {
- -moz-hyphens: manual;
- -ms-hyphens: manual;
- -webkit-hyphens: manual;
- hyphens: manual;
-}
-
-/* -- hlist styles ---------------------------------------------------------- */
-
-table.hlist td {
- vertical-align: top;
-}
-
-
/* -- other body styles ----------------------------------------------------- */
ol.arabic {
@@ -495,57 +420,11 @@ ol.upperroman {
list-style: upper-roman;
}
-li > p:first-child {
- margin-top: 0px;
-}
-
-li > p:last-child {
- margin-bottom: 0px;
-}
-
-dl.footnote > dt,
-dl.citation > dt {
- float: left;
-}
-
-dl.footnote > dd,
-dl.citation > dd {
- margin-bottom: 0em;
-}
-
-dl.footnote > dd:after,
-dl.citation > dd:after {
- content: "";
- clear: both;
-}
-
-dl.field-list {
- display: flex;
- flex-wrap: wrap;
-}
-
-dl.field-list > dt {
- flex-basis: 20%;
- font-weight: bold;
- word-break: break-word;
-}
-
-dl.field-list > dt:after {
- content: ":";
-}
-
-dl.field-list > dd {
- flex-basis: 70%;
- padding-left: 1em;
- margin-left: 0em;
- margin-bottom: 0em;
-}
-
dl {
margin-bottom: 15px;
}
-dd > p:first-child {
+dd p {
margin-top: 0px;
}
@@ -559,14 +438,10 @@ dd {
margin-left: 30px;
}
-dt:target, span.highlighted {
+dt:target, .highlighted {
background-color: #fbe54e;
}
-rect.highlighted {
- fill: #fbe54e;
-}
-
dl.glossary dt {
font-weight: bold;
font-size: 1.1em;
@@ -618,12 +493,6 @@ dl.glossary dt {
font-style: oblique;
}
-.classifier:before {
- font-style: normal;
- margin: 0.5em;
- content: ":";
-}
-
abbr, acronym {
border-bottom: dotted 1px;
cursor: help;
diff --git a/content/_static/doctools.js b/content/_static/doctools.js
index b33f87f..5654977 100644
--- a/content/_static/doctools.js
+++ b/content/_static/doctools.js
@@ -4,7 +4,7 @@
*
* Sphinx JavaScript utilities for all documentation.
*
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -45,7 +45,7 @@ jQuery.urlencode = encodeURIComponent;
* it will always return arrays of strings for the value parts.
*/
jQuery.getQueryParameters = function(s) {
- if (typeof s === 'undefined')
+ if (typeof s == 'undefined')
s = document.location.search;
var parts = s.substr(s.indexOf('?') + 1).split('&');
var result = {};
@@ -66,54 +66,29 @@ jQuery.getQueryParameters = function(s) {
* span elements with the given class name.
*/
jQuery.fn.highlightText = function(text, className) {
- function highlight(node, addItems) {
- if (node.nodeType === 3) {
+ function highlight(node) {
+ if (node.nodeType == 3) {
var val = node.nodeValue;
var pos = val.toLowerCase().indexOf(text);
- if (pos >= 0 &&
- !jQuery(node.parentNode).hasClass(className) &&
- !jQuery(node.parentNode).hasClass("nohighlight")) {
- var span;
- var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
- if (isInSVG) {
- span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
- } else {
- span = document.createElement("span");
- span.className = className;
- }
+ if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {
+ var span = document.createElement("span");
+ span.className = className;
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
document.createTextNode(val.substr(pos + text.length)),
node.nextSibling));
node.nodeValue = val.substr(0, pos);
- if (isInSVG) {
- var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
- var bbox = node.parentElement.getBBox();
- rect.x.baseVal.value = bbox.x;
- rect.y.baseVal.value = bbox.y;
- rect.width.baseVal.value = bbox.width;
- rect.height.baseVal.value = bbox.height;
- rect.setAttribute('class', className);
- addItems.push({
- "parent": node.parentNode,
- "target": rect});
- }
}
}
else if (!jQuery(node).is("button, select, textarea")) {
jQuery.each(node.childNodes, function() {
- highlight(this, addItems);
+ highlight(this);
});
}
}
- var addItems = [];
- var result = this.each(function() {
- highlight(this, addItems);
+ return this.each(function() {
+ highlight(this);
});
- for (var i = 0; i < addItems.length; ++i) {
- jQuery(addItems[i].parent).before(addItems[i].target);
- }
- return result;
};
/*
@@ -149,30 +124,28 @@ var Documentation = {
this.fixFirefoxAnchorBug();
this.highlightSearchWords();
this.initIndexTable();
- if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
- this.initOnKeyListeners();
- }
+
},
/**
* i18n support
*/
TRANSLATIONS : {},
- PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
+ PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
LOCALE : 'unknown',
// gettext and ngettext don't access this so that the functions
// can safely bound to a different name (_ = Documentation.gettext)
gettext : function(string) {
var translated = Documentation.TRANSLATIONS[string];
- if (typeof translated === 'undefined')
+ if (typeof translated == 'undefined')
return string;
- return (typeof translated === 'string') ? translated : translated[0];
+ return (typeof translated == 'string') ? translated : translated[0];
},
ngettext : function(singular, plural, n) {
var translated = Documentation.TRANSLATIONS[singular];
- if (typeof translated === 'undefined')
+ if (typeof translated == 'undefined')
return (n == 1) ? singular : plural;
return translated[Documentation.PLURALEXPR(n)];
},
@@ -207,7 +180,7 @@ var Documentation = {
* see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
*/
fixFirefoxAnchorBug : function() {
- if (document.location.hash && $.browser.mozilla)
+ if (document.location.hash)
window.setTimeout(function() {
document.location.href += '';
}, 10);
@@ -243,7 +216,7 @@ var Documentation = {
var src = $(this).attr('src');
var idnum = $(this).attr('id').substr(7);
$('tr.cg-' + idnum).toggle();
- if (src.substr(-9) === 'minus.png')
+ if (src.substr(-9) == 'minus.png')
$(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
else
$(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
@@ -275,7 +248,7 @@ var Documentation = {
var path = document.location.pathname;
var parts = path.split(/\//);
$.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
- if (this === '..')
+ if (this == '..')
parts.pop();
});
var url = parts.join('/');
@@ -311,4 +284,4 @@ _ = Documentation.gettext;
$(document).ready(function() {
Documentation.init();
-});
+});
\ No newline at end of file
diff --git a/content/_static/jquery.js b/content/_static/jquery.js
index 644d35e..f6a6a99 100644
--- a/content/_static/jquery.js
+++ b/content/_static/jquery.js
@@ -1,4 +1,4 @@
-/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElem [...]
-a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d: [...]
-null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();r [...]
+/*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */
+!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElem [...]
+r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:fun [...]
+if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:f [...]
diff --git a/content/_static/searchtools.js b/content/_static/searchtools.js
index 6031f99..c821573 100644
--- a/content/_static/searchtools.js
+++ b/content/_static/searchtools.js
@@ -1,54 +1,331 @@
/*
- * searchtools.js
+ * searchtools.js_t
* ~~~~~~~~~~~~~~~~
*
* Sphinx JavaScript utilities for the full-text search.
*
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
-if (!Scorer) {
- /**
- * Simple result scoring code.
- */
- var Scorer = {
- // Implement the following function to further tweak the score for each result
- // The function takes a result array [filename, title, anchor, descr, score]
- // and returns the new score.
- /*
- score: function(result) {
- return result[4];
- },
- */
-
- // query matches the full name of an object
- objNameMatch: 11,
- // or matches in the last dotted part of the object name
- objPartialMatch: 6,
- // Additive scores depending on the priority of the object
- objPrio: {0: 15, // used to be importantResults
- 1: 5, // used to be objectResults
- 2: -5}, // used to be unimportantResults
- // Used when the priority is not in the mapping.
- objPrioDefault: 0,
-
- // query found in title
- title: 15,
- partialTitle: 7,
- // query found in terms
- term: 5,
- partialTerm: 2
+
+/* Non-minified version JS is _stemmer.js if file is provided */
+/**
+ * Porter Stemmer
+ */
+var Stemmer = function() {
+
+ var step2list = {
+ ational: 'ate',
+ tional: 'tion',
+ enci: 'ence',
+ anci: 'ance',
+ izer: 'ize',
+ bli: 'ble',
+ alli: 'al',
+ entli: 'ent',
+ eli: 'e',
+ ousli: 'ous',
+ ization: 'ize',
+ ation: 'ate',
+ ator: 'ate',
+ alism: 'al',
+ iveness: 'ive',
+ fulness: 'ful',
+ ousness: 'ous',
+ aliti: 'al',
+ iviti: 'ive',
+ biliti: 'ble',
+ logi: 'log'
};
-}
-if (!splitQuery) {
- function splitQuery(query) {
- return query.split(/\s+/);
+ var step3list = {
+ icate: 'ic',
+ ative: '',
+ alize: 'al',
+ iciti: 'ic',
+ ical: 'ic',
+ ful: '',
+ ness: ''
+ };
+
+ var c = "[^aeiou]"; // consonant
+ var v = "[aeiouy]"; // vowel
+ var C = c + "[^aeiouy]*"; // consonant sequence
+ var V = v + "[aeiou]*"; // vowel sequence
+
+ var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
+ var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
+ var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
+ var s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ this.stemWord = function (w) {
+ var stem;
+ var suffix;
+ var firstch;
+ var origword = w;
+
+ if (w.length < 3)
+ return w;
+
+ var re;
+ var re2;
+ var re3;
+ var re4;
+
+ firstch = w.substr(0,1);
+ if (firstch == "y")
+ w = firstch.toUpperCase() + w.substr(1);
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w))
+ w = w.replace(re,"$1$2");
+ else if (re2.test(w))
+ w = w.replace(re2,"$1$2");
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w))
+ w = w + "e";
+ else if (re3.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ else if (re4.test(w))
+ w = w + "e";
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem))
+ w = stem + "i";
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step2list[suffix];
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step3list[suffix];
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem))
+ w = stem;
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem))
+ w = stem;
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+ w = stem;
+ }
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+ if (firstch == "y")
+ w = firstch.toLowerCase() + w.substr(1);
+ return w;
}
}
+
+
+/**
+ * Simple result scoring code.
+ */
+var Scorer = {
+ // Implement the following function to further tweak the score for each result
+ // The function takes a result array [filename, title, anchor, descr, score]
+ // and returns the new score.
+ /*
+ score: function(result) {
+ return result[4];
+ },
+ */
+
+ // query matches the full name of an object
+ objNameMatch: 11,
+ // or matches in the last dotted part of the object name
+ objPartialMatch: 6,
+ // Additive scores depending on the priority of the object
+ objPrio: {0: 15, // used to be importantResults
+ 1: 5, // used to be objectResults
+ 2: -5}, // used to be unimportantResults
+ // Used when the priority is not in the mapping.
+ objPrioDefault: 0,
+
+ // query found in title
+ title: 15,
+ // query found in terms
+ term: 5
+};
+
+
+
+
+
+var splitChars = (function() {
+ var result = {};
+ var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
+ 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
+ 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
+ 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
+ 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
+ 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
+ 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
+ 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
+ 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
+ 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
+ var i, j, start, end;
+ for (i = 0; i < singles.length; i++) {
+ result[singles[i]] = true;
+ }
+ var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
+ [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
+ [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
+ [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
+ [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
+ [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
+ [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
+ [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
+ [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
+ [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
+ [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
+ [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
+ [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
+ [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
+ [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
+ [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
+ [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
+ [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
+ [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
+ [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
+ [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
+ [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
+ [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
+ [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
+ [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
+ [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
+ [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
+ [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
+ [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
+ [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
+ [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
+ [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
+ [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
+ [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
+ [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
+ [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
+ [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
+ [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
+ [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
+ [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
+ [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
+ [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
+ [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
+ [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
+ [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
+ [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
+ [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
+ [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
+ [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
+ for (i = 0; i < ranges.length; i++) {
+ start = ranges[i][0];
+ end = ranges[i][1];
+ for (j = start; j <= end; j++) {
+ result[j] = true;
+ }
+ }
+ return result;
+})();
+
+function splitQuery(query) {
+ var result = [];
+ var start = -1;
+ for (var i = 0; i < query.length; i++) {
+ if (splitChars[query.charCodeAt(i)]) {
+ if (start !== -1) {
+ result.push(query.slice(start, i));
+ start = -1;
+ }
+ } else if (start === -1) {
+ start = i;
+ }
+ }
+ if (start !== -1) {
+ result.push(query.slice(start));
+ }
+ return result;
+}
+
+
+
+
/**
* Search Module
*/
@@ -58,14 +335,6 @@ var Search = {
_queued_query : null,
_pulse_status : -1,
- htmlToText : function(htmlString) {
- var htmlElement = document.createElement('span');
- htmlElement.innerHTML = htmlString;
- $(htmlElement).find('.headerlink').remove();
- docContent = $(htmlElement).find('[role=main]')[0];
- return docContent.textContent || docContent.innerText;
- },
-
init : function() {
var params = $.getQueryParameters();
if (params.q) {
@@ -130,7 +399,7 @@ var Search = {
this.out = $('#search-results');
this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
this.dots = $('<span></span>').appendTo(this.title);
- this.status = $('<p class="search-summary"> </p>').appendTo(this.out);
+ this.status = $('<p style="display: none"></p>').appendTo(this.out);
this.output = $('<ul class="search"/>').appendTo(this.out);
$('#search-progress').text(_('Preparing search...'));
@@ -148,6 +417,7 @@ var Search = {
*/
query : function(query) {
var i;
+ var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
// stem the searchterms and add them to the correct list
var stemmer = new Stemmer();
@@ -269,7 +539,8 @@ var Search = {
displayNextItem();
});
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
- $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX,
+ var suffix = DOCUMENTATION_OPTIONS.SOURCELINK_SUFFIX;
+ $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[5] + (item[5].slice(-suffix.length) === suffix ? '' : suffix),
dataType: "text",
complete: function(jqxhr, textstatus) {
var data = jqxhr.responseText;
@@ -319,13 +590,12 @@ var Search = {
for (var prefix in objects) {
for (var name in objects[prefix]) {
var fullname = (prefix ? prefix + '.' : '') + name;
- var fullnameLower = fullname.toLowerCase()
- if (fullnameLower.indexOf(object) > -1) {
+ if (fullname.toLowerCase().indexOf(object) > -1) {
var score = 0;
- var parts = fullnameLower.split('.');
+ var parts = fullname.split('.');
// check for different match types: exact matches of full name or
// "last name" (i.e. last dotted part)
- if (fullnameLower == object || parts[parts.length - 1] == object) {
+ if (fullname == object || parts[parts.length - 1] == object) {
score += Scorer.objNameMatch;
// matches in last name
} else if (parts[parts.length - 1].indexOf(object) > -1) {
@@ -392,19 +662,6 @@ var Search = {
{files: terms[word], score: Scorer.term},
{files: titleterms[word], score: Scorer.title}
];
- // add support for partial matches
- if (word.length > 2) {
- for (var w in terms) {
- if (w.match(word) && !terms[word]) {
- _o.push({files: terms[w], score: Scorer.partialTerm})
- }
- }
- for (var w in titleterms) {
- if (w.match(word) && !titleterms[word]) {
- _o.push({files: titleterms[w], score: Scorer.partialTitle})
- }
- }
- }
// no match but word was a required one
if ($u.every(_o, function(o){return o.files === undefined;})) {
@@ -444,12 +701,8 @@ var Search = {
var valid = true;
// check if all requirements are matched
- var filteredTermCount = // as search terms with length < 3 are discarded: ignore
- searchterms.filter(function(term){return term.length > 2}).length
- if (
- fileMap[file].length != searchterms.length &&
- fileMap[file].length != filteredTermCount
- ) continue;
+ if (fileMap[file].length != searchterms.length)
+ continue;
// ensure that none of the excluded terms is in the search result
for (i = 0; i < excluded.length; i++) {
@@ -480,8 +733,7 @@ var Search = {
* words. the first one is used to find the occurrence, the
* latter for highlighting it.
*/
- makeSearchSummary : function(htmlText, keywords, hlwords) {
- var text = Search.htmlToText(htmlText);
+ makeSearchSummary : function(text, keywords, hlwords) {
var textLower = text.toLowerCase();
var start = 0;
$.each(keywords, function() {
@@ -503,4 +755,4 @@ var Search = {
$(document).ready(function() {
Search.init();
-});
+});
\ No newline at end of file
diff --git a/content/_static/websupport.js b/content/_static/websupport.js
index 3b4999e..53f6a45 100644
--- a/content/_static/websupport.js
+++ b/content/_static/websupport.js
@@ -4,7 +4,7 @@
*
* sphinx.websupport utilities for all documentation.
*
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -301,7 +301,7 @@
li.hide();
// Determine where in the parents children list to insert this comment.
- for(var i=0; i < siblings.length; i++) {
+ for(i=0; i < siblings.length; i++) {
if (comp(comment, siblings[i]) <= 0) {
$('#cd' + siblings[i].id)
.parent()
diff --git a/content/community/issue-tracking.html b/content/community/issue-tracking.html
index 371732b..18bb190 100644
--- a/content/community/issue-tracking.html
+++ b/content/community/issue-tracking.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -107,9 +116,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -205,7 +211,7 @@
<p>SINGA uses <a class="reference external" href="https://www.atlassian.com/software/jira">JIRA</a> a J2EE-based, issue tracking and project management application.</p>
<p>Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.</p>
<ul class="simple">
-<li><p>https://issues.apache.org/jira/browse/singa</p></li>
+<li>https://issues.apache.org/jira/browse/singa</li>
</ul>
</div>
diff --git a/content/community/mail-lists.html b/content/community/mail-lists.html
index 0f88f13..86b2fc8 100644
--- a/content/community/mail-lists.html
+++ b/content/community/mail-lists.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -107,9 +116,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -185,41 +191,41 @@
<div class="section" id="project-mailing-lists">
<h1>Project Mailing Lists<a class="headerlink" href="#project-mailing-lists" title="Permalink to this headline">¶</a></h1>
<p>These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.</p>
-<table class="docutils align-center" id="id4">
+<table border="1" class="docutils" id="id4">
<caption><span class="caption-text">Mailing Lists</span><a class="headerlink" href="#id4" title="Permalink to this table">¶</a></caption>
<colgroup>
-<col style="width: 20%" />
-<col style="width: 20%" />
-<col style="width: 20%" />
-<col style="width: 20%" />
-<col style="width: 20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
+<col width="20%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Name</p></th>
-<th class="head"><p>Post</p></th>
-<th class="head"><p>Subscribe</p></th>
-<th class="head"><p>Unsubscribe</p></th>
-<th class="head"><p>Archive</p></th>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Name</th>
+<th class="head">Post</th>
+<th class="head">Subscribe</th>
+<th class="head">Unsubscribe</th>
+<th class="head">Archive</th>
</tr>
</thead>
-<tbody>
-<tr class="row-even"><td><p>Development</p></td>
-<td><p><a class="reference external" href="mailto:dev%40singa.incubator.apache.org">dev<span>@</span>singa<span>.</span>incubator<span>.</span>apache<span>.</span>org</a></p></td>
-<td><p><a class="reference external" href="mailto:dev-subscribe%40singa.incubator.apache.org">Subscribe</a></p></td>
-<td><p><a class="reference external" href="mailto:dev-unsubscribe%40singa.incubator.apache.org.">Unsubscribe</a></p></td>
-<td><p><a class="reference external" href="http://mail-archives.apache.org/mod_mbox/singa-dev/">mail-archives.apache.org</a></p></td>
+<tbody valign="top">
+<tr class="row-even"><td>Development</td>
+<td><a class="reference external" href="mailto:dev%40singa.incubator.apache.org">dev<span>@</span>singa<span>.</span>incubator<span>.</span>apache<span>.</span>org</a></td>
+<td><a class="reference external" href="mailto:dev-subscribe%40singa.incubator.apache.org">Subscribe</a></td>
+<td><a class="reference external" href="mailto:dev-unsubscribe%40singa.incubator.apache.org.">Unsubscribe</a></td>
+<td><a class="reference external" href="http://mail-archives.apache.org/mod_mbox/singa-dev/">mail-archives.apache.org</a></td>
</tr>
-<tr class="row-odd"><td><p>Commits</p></td>
-<td><p><a class="reference external" href="mailto:commits%40singa.incubator.apache.org">commits<span>@</span>singa<span>.</span>incubator<span>.</span>apache<span>.</span>org</a></p></td>
-<td><p><a class="reference external" href="mailto:commits-subscribe%40singa.incubator.apache.org">Subscribe</a></p></td>
-<td><p><a class="reference external" href="mailto:commits-unsubscribe%40singa.incubator.apache.org">Unsubscribe</a></p></td>
-<td><p><a class="reference external" href="http://mail-archives.apache.org/mod_mbox/singa-commits/">mail-archives.apache.org</a></p></td>
+<tr class="row-odd"><td>Commits</td>
+<td><a class="reference external" href="mailto:commits%40singa.incubator.apache.org">commits<span>@</span>singa<span>.</span>incubator<span>.</span>apache<span>.</span>org</a></td>
+<td><a class="reference external" href="mailto:commits-subscribe%40singa.incubator.apache.org">Subscribe</a></td>
+<td><a class="reference external" href="mailto:commits-unsubscribe%40singa.incubator.apache.org">Unsubscribe</a></td>
+<td><a class="reference external" href="http://mail-archives.apache.org/mod_mbox/singa-commits/">mail-archives.apache.org</a></td>
</tr>
-<tr class="row-even"><td><p>Security</p></td>
-<td><p><a class="reference external" href="mailto:security%40singa.apache.org">security<span>@</span>singa<span>.</span>apache<span>.</span>org</a></p></td>
-<td><p>private</p></td>
-<td><p>private</p></td>
-<td><p>private</p></td>
+<tr class="row-even"><td>Security</td>
+<td><a class="reference external" href="mailto:security%40singa.apache.org">security<span>@</span>singa<span>.</span>apache<span>.</span>org</a></td>
+<td>private</td>
+<td>private</td>
+<td>private</td>
</tr>
</tbody>
</table>
diff --git a/content/community/source-repository.html b/content/community/source-repository.html
index 6e1cec1..45c54d8 100644
--- a/content/community/source-repository.html
+++ b/content/community/source-repository.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -107,9 +116,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -194,13 +200,13 @@
<h2>Web Access<a class="headerlink" href="#web-access" title="Permalink to this headline">¶</a></h2>
<p>The following is a link to the online source repository.</p>
<ul class="simple">
-<li><p><a class="reference external" href="https://gitbox.apache.org/repos/asf?p=incubator-singa.git">https://gitbox.apache.org/repos/asf?p=incubator-singa.git</a></p></li>
+<li><a class="reference external" href="https://gitbox.apache.org/repos/asf?p=incubator-singa.git">https://gitbox.apache.org/repos/asf?p=incubator-singa.git</a></li>
</ul>
</div>
<div class="section" id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
<p>Contributors are encouraged to rebase their commits onto the latest master before sending the pull requests to make the git history clean. The following git instructors should be executed after committing the current work:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git checkout master
+<div class="highlight-bash"><div class="highlight"><pre><span></span>git checkout master
git pull <apache/incubator-singa upstream> master:master
git checkout <new feature branch>
git rebase master
@@ -210,10 +216,10 @@ git rebase master
<div class="section" id="committers">
<h2>Committers<a class="headerlink" href="#committers" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><p>To connect your Apache account with your Github account, Please follow the instructions on: <a class="reference external" href="https://gitbox.apache.org/setup/">https://gitbox.apache.org/setup/</a>. After that you can directly merge PRs using GitHub’s UI.</p></li>
+<li>To connect your Apache account with your Github account, Please follow the instructions on: <a class="reference external" href="https://gitbox.apache.org/setup/">https://gitbox.apache.org/setup/</a>. After that you can directly merge PRs using GitHub’s UI.</li>
</ul>
<p>To merge pull request <a class="reference external" href="https://github.com/apache/incubator-singa/pull/xxx">https://github.com/apache/incubator-singa/pull/xxx</a>, the following instructions should be executed,</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/apache/incubator-singa.git
+<div class="highlight-bash"><div class="highlight"><pre><span></span>git clone https://github.com/apache/incubator-singa.git
git remote add asf https://gitbox.apache.org/repos/asf/incubator-singa.git
<span class="c1"># optional</span>
git pull asf master:master
@@ -223,9 +229,9 @@ git push asf master:master
</pre></div>
</div>
<ul class="simple">
-<li><p>To migrate from git-wip-us.apache.org to Gitbox: If you already cloned the SINGA repository from the old repo <a class="reference external" href="https://git-wip-us.apache.org/repos/asf/incubator-singa.git">https://git-wip-us.apache.org/repos/asf/incubator-singa.git</a>, you can update the master by:</p></li>
+<li>To migrate from git-wip-us.apache.org to Gitbox: If you already cloned the SINGA repository from the old repo <a class="reference external" href="https://git-wip-us.apache.org/repos/asf/incubator-singa.git">https://git-wip-us.apache.org/repos/asf/incubator-singa.git</a>, you can update the master by:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git remote set-url origin git@github.com/apache/singa.git
+<div class="highlight-bash"><div class="highlight"><pre><span></span>git remote set-url origin git@github.com/apache/singa.git
</pre></div>
</div>
</div>
diff --git a/content/community/team-list.html b/content/community/team-list.html
index 3497645..3b74c0c 100644
--- a/content/community/team-list.html
+++ b/content/community/team-list.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -106,9 +115,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -121,6 +127,9 @@
<li class="toctree-l1 current"><a class="current reference internal" href="#">The SINGA Team</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#mentors">Mentors</a></li>
<li class="toctree-l2"><a class="reference internal" href="#developers">Developers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#ppmc">PPMC</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#committers">Committers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#contributors">Contributors</a></li>
</ul>
</li>
</ul>
@@ -190,28 +199,25 @@
<p>A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.</p>
<div class="section" id="mentors">
<h2>Mentors<a class="headerlink" href="#mentors" title="Permalink to this headline">¶</a></h2>
-<table class="docutils align-center">
+<table border="1" class="docutils">
<colgroup>
-<col style="width: 49%" />
-<col style="width: 51%" />
+<col width="49%" />
+<col width="51%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Name</p></th>
-<th class="head"><p>Email</p></th>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Name</th>
+<th class="head">Email</th>
</tr>
</thead>
-<tbody>
-<tr class="row-even"><td><p>Daniel Dai</p></td>
-<td><p><a class="reference external" href="mailto:daijy%40apache.org">daijy<span>@</span>apache<span>.</span>org</a></p></td>
+<tbody valign="top">
+<tr class="row-even"><td>Ted Dunning</td>
+<td><a class="reference external" href="mailto:tdunning%40apache.org">tdunning<span>@</span>apache<span>.</span>org</a></td>
</tr>
-<tr class="row-odd"><td><p>Ted Dunning</p></td>
-<td><p><a class="reference external" href="mailto:tdunning%40apache.org">tdunning<span>@</span>apache<span>.</span>org</a></p></td>
+<tr class="row-odd"><td>Alan Gates</td>
+<td><a class="reference external" href="mailto:gates%40apache.org">gates<span>@</span>apache<span>.</span>org</a></td>
</tr>
-<tr class="row-even"><td><p>Alan Gates</p></td>
-<td><p><a class="reference external" href="mailto:gates%40apache.org">gates<span>@</span>apache<span>.</span>org</a></p></td>
-</tr>
-<tr class="row-odd"><td><p>Thejas Nair</p></td>
-<td><p><a class="reference external" href="mailto:thejas%40apache.org">thejas<span>@</span>apache<span>.</span>org</a></p></td>
+<tr class="row-even"><td>Thejas Nair</td>
+<td><a class="reference external" href="mailto:thejas%40apache.org">thejas<span>@</span>apache<span>.</span>org</a></td>
</tr>
</tbody>
</table>
@@ -219,98 +225,141 @@
<div class="section" id="developers">
<h2>Developers<a class="headerlink" href="#developers" title="Permalink to this headline">¶</a></h2>
<p>The SINGA community has developers mainly from National University of Singapore, Zhejiang University, NetEase, Osaka University, yzBigData, etc.</p>
-<table class="docutils align-center">
+</div>
+<div class="section" id="ppmc">
+<h2>PPMC<a class="headerlink" href="#ppmc" title="Permalink to this headline">¶</a></h2>
+<table border="1" class="docutils">
<colgroup>
-<col style="width: 20%" />
-<col style="width: 32%" />
-<col style="width: 47%" />
+<col width="20%" />
+<col width="32%" />
+<col width="47%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Name</p></th>
-<th class="head"><p>Email</p></th>
-<th class="head"><p>Organization</p></th>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Name</th>
+<th class="head">Email</th>
+<th class="head">Organization</th>
</tr>
</thead>
-<tbody>
-<tr class="row-even"><td><p>Gang Chen</p></td>
-<td><p><a class="reference external" href="mailto:cg%40zju.edu.cn">cg<span>@</span>zju<span>.</span>edu<span>.</span>cn</a></p></td>
-<td><p>Zhejiang University</p></td>
+<tbody valign="top">
+<tr class="row-even"><td>Gang Chen</td>
+<td><a class="reference external" href="mailto:cg%40apache.org">cg<span>@</span>apache<span>.</span>org</a></td>
+<td>Zhejiang University</td>
</tr>
-<tr class="row-odd"><td><p>Haibo Chen</p></td>
-<td><p><a class="reference external" href="mailto:hzchenhaibo%40corp.netease.com">hzchenhaibo<span>@</span>corp<span>.</span>netease<span>.</span>com</a></p></td>
-<td><p>NetEase</p></td>
+<tr class="row-odd"><td>Anh Dinh</td>
+<td><a class="reference external" href="mailto:dinhtta%40apache.org">dinhtta<span>@</span>apache<span>.</span>org</a></td>
+<td>Singapore University of Technology and Design</td>
</tr>
-<tr class="row-even"><td><p>Anh Dinh</p></td>
-<td><p><a class="reference external" href="mailto:dinhtta%40apache.org">dinhtta<span>@</span>apache<span>.</span>org</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-even"><td>Jinyang Gao</td>
+<td><a class="reference external" href="mailto:jinyang%40apache.org">jinyang<span>@</span>apache<span>.</span>org</a></td>
+<td>DAMO Academy, Alibaba Group</td>
</tr>
-<tr class="row-odd"><td><p>Jinyang Gao</p></td>
-<td><p><a class="reference external" href="mailto:jinyang%40apache.org">jinyang<span>@</span>apache<span>.</span>org</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-odd"><td>Zhaojing Luo</td>
+<td><a class="reference external" href="mailto:zhaojing%40apache.org">zhaojing<span>@</span>apache<span>.</span>org</a></td>
+<td>National University of Singapore</td>
</tr>
-<tr class="row-even"><td><p>Xin Ji</p></td>
-<td><p><a class="reference external" href="mailto:jixin%40comp.nus.edu.sg">jixin<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-even"><td>Beng Chin Ooi</td>
+<td><a class="reference external" href="mailto:ooibc%40apache.org">ooibc<span>@</span>apache<span>.</span>org</a></td>
+<td>National University of Singapore</td>
</tr>
-<tr class="row-odd"><td><p>Chonho Lee</p></td>
-<td><p><a class="reference external" href="mailto:chonho%40gmail.com">chonho<span>@</span>gmail<span>.</span>com</a></p></td>
-<td><p>Osaka University</p></td>
+<tr class="row-odd"><td>Kian-Lee Tan</td>
+<td><a class="reference external" href="mailto:tankianlee%40apache.org">tankianlee<span>@</span>apache<span>.</span>org</a></td>
+<td>National University of Singapore</td>
</tr>
-<tr class="row-even"><td><p>Zhaojing Luo</p></td>
-<td><p><a class="reference external" href="mailto:zhaojing%40apache.org">zhaojing<span>@</span>apache<span>.</span>org</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-even"><td>Sheng Wang</td>
+<td><a class="reference external" href="mailto:wangsh%40apache.org">wangsh<span>@</span>apache<span>.</span>org</a></td>
+<td>DAMO Academy, Alibaba Group</td>
</tr>
-<tr class="row-odd"><td><p>Beng Chin Ooi</p></td>
-<td><p><a class="reference external" href="mailto:ooibc%40comp.nus.edu.sg">ooibc<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-odd"><td>Wei Wang</td>
+<td><a class="reference external" href="mailto:wangwei%40apache.org">wangwei<span>@</span>apache<span>.</span>org</a></td>
+<td>National University of Singapore</td>
</tr>
-<tr class="row-even"><td><p>Kian-Lee Tan</p></td>
-<td><p><a class="reference external" href="mailto:tankl%40apache.org">tankl<span>@</span>apache<span>.</span>org</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-even"><td>Zhongle Xie</td>
+<td><a class="reference external" href="mailto:zhongle%40apache.org">zhongle<span>@</span>apache<span>.</span>org</a></td>
+<td>Hangzhou MZH Technologies</td>
</tr>
-<tr class="row-odd"><td><p>Anthony K. H. Tung</p></td>
-<td><p><a class="reference external" href="mailto:atung%40comp.nus.edu.sg">atung<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-odd"><td>Kaiping Zheng</td>
+<td><a class="reference external" href="mailto:kaiping%40apache.org">kaiping<span>@</span>apache<span>.</span>org</a></td>
+<td>National University of Singapore</td>
</tr>
-<tr class="row-even"><td><p>Ji Wang</p></td>
-<td><p><a class="reference external" href="mailto:wangji%40comp.nus.edu.sg">wangji<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-even"><td>Moaz Reyad</td>
+<td><a class="reference external" href="mailto:moaz%40apache.org">moaz<span>@</span>apache<span>.</span>org</a></td>
+<td>Université Grenoble Alpes</td>
</tr>
-<tr class="row-odd"><td><p>Sheng Wang</p></td>
-<td><p><a class="reference external" href="mailto:wangsh%40apache.org">wangsh<span>@</span>apache<span>.</span>org</a></p></td>
-<td><p>National University of Singapore</p></td>
+</tbody>
+</table>
+</div>
+<div class="section" id="committers">
+<h2>Committers<a class="headerlink" href="#committers" title="Permalink to this headline">¶</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="20%" />
+<col width="32%" />
+<col width="47%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Name</th>
+<th class="head">Email</th>
+<th class="head">Organization</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Chonho Lee</td>
+<td><a class="reference external" href="mailto:chonho%40apache.org">chonho<span>@</span>apache<span>.</span>org</a></td>
+<td>Osaka University</td>
</tr>
-<tr class="row-even"><td><p>Wei Wang</p></td>
-<td><p><a class="reference external" href="mailto:wangwei%40apache.org">wangwei<span>@</span>apache<span>.</span>org</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-odd"><td>Wanqi Xue</td>
+<td><a class="reference external" href="mailto:xuewanqi%40apache.org">xuewanqi<span>@</span>apache<span>.</span>org</a></td>
+<td>National University of Singapore</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="contributors">
+<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline">¶</a></h2>
+<table border="1" class="docutils">
+<colgroup>
+<col width="20%" />
+<col width="32%" />
+<col width="47%" />
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Name</th>
+<th class="head">Email</th>
+<th class="head">Organization</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>Haibo Chen</td>
+<td><a class="reference external" href="mailto:hzchenhaibo%40corp.netease.com">hzchenhaibo<span>@</span>corp<span>.</span>netease<span>.</span>com</a></td>
+<td>NetEase</td>
</tr>
-<tr class="row-odd"><td><p>Yuan Wang</p></td>
-<td><p><a class="reference external" href="mailto:wangyuan%40corp.netease.com">wangyuan<span>@</span>corp<span>.</span>netease<span>.</span>com</a></p></td>
-<td><p>NetEase</p></td>
+<tr class="row-odd"><td>Xin Ji</td>
+<td><a class="reference external" href="mailto:jixin%40comp.nus.edu.sg">jixin<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></td>
+<td>Visenze, Singapore</td>
</tr>
-<tr class="row-even"><td><p>Wenfeng Wu</p></td>
-<td><p><a class="reference external" href="mailto:wuwf%40comp.nus.edu.sg">wuwf<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-even"><td>Anthony K. H. Tung</td>
+<td><a class="reference external" href="mailto:atung%40comp.nus.edu.sg">atung<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></td>
+<td>National University of Singapore</td>
</tr>
-<tr class="row-odd"><td><p>Zhongle Xie</p></td>
-<td><p><a class="reference external" href="mailto:zhongle%40apache.org">zhongle<span>@</span>apache<span>.</span>org</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-odd"><td>Ji Wang</td>
+<td><a class="reference external" href="mailto:wangji%40comp.nus.edu.sg">wangji<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></td>
+<td>Hangzhou MZH Technologies</td>
</tr>
-<tr class="row-even"><td><p>Meihui Zhang</p></td>
-<td><p><a class="reference external" href="mailto:meihui_zhang%40sutd.edu.sg">meihui_zhang<span>@</span>sutd<span>.</span>edu<span>.</span>sg</a></p></td>
-<td><p>Singapore University of Technology and Design</p></td>
+<tr class="row-even"><td>Yuan Wang</td>
+<td><a class="reference external" href="mailto:wangyuan%40corp.netease.com">wangyuan<span>@</span>corp<span>.</span>netease<span>.</span>com</a></td>
+<td>NetEase</td>
</tr>
-<tr class="row-odd"><td><p>Kaiping Zheng</p></td>
-<td><p><a class="reference external" href="mailto:kaiping%40apache.org">kaiping<span>@</span>apache<span>.</span>org</a></p></td>
-<td><p>National University of Singapore</p></td>
+<tr class="row-odd"><td>Wenfeng Wu</td>
+<td><a class="reference external" href="mailto:wuwf%40comp.nus.edu.sg">wuwf<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></td>
+<td>Freelancer, China</td>
</tr>
-<tr class="row-even"><td><p>Moaz Reyad</p></td>
-<td><p><a class="reference external" href="mailto:moaz%40apache.org">moaz<span>@</span>apache<span>.</span>org</a></p></td>
-<td><p>University of Genoa</p></td>
+<tr class="row-even"><td>Meihui Zhang</td>
+<td><a class="reference external" href="mailto:meihui_zhang%40sutd.edu.sg">meihui_zhang<span>@</span>sutd<span>.</span>edu<span>.</span>sg</a></td>
+<td>Beijing Institute of Technology</td>
</tr>
-<tr class="row-odd"><td><p>Chang Yao</p></td>
-<td><p><a class="reference external" href="mailto:yaochang2009%40gmail.com">yaochang2009<span>@</span>gmail<span>.</span>com</a></p></td>
-<td><p>yzBigdata</p></td>
+<tr class="row-odd"><td>Chang Yao</td>
+<td><a class="reference external" href="mailto:yaochang2009%40gmail.com">yaochang2009<span>@</span>gmail<span>.</span>com</a></td>
+<td>Hangzhou MZH Technologies</td>
</tr>
</tbody>
</table>
diff --git a/content/develop/contribute-code.html b/content/develop/contribute-code.html
index 1f75e43..b40ce86 100644
--- a/content/develop/contribute-code.html
+++ b/content/develop/contribute-code.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -37,7 +46,7 @@
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="How to Contribute to Documentation" href="contribute-docs.html" />
- <link rel="prev" title="How to Contribute to SINGA" href="how-contribute.html" />
+ <link rel="prev" title="Security" href="../security.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -107,13 +116,11 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">How to Contribute Code</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#coding-style">Coding Style</a></li>
<li class="toctree-l2"><a class="reference internal" href="#jira-format">JIRA format</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#pull-request">Pull Request</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#git-workflow">Git Workflow</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#developing-environment">Developing Environment</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contribute-docs.html">How to Contribute to Documentation</a></li>
@@ -208,11 +215,25 @@
<h1>How to Contribute Code<a class="headerlink" href="#how-to-contribute-code" title="Permalink to this headline">¶</a></h1>
<div class="section" id="coding-style">
<h2>Coding Style<a class="headerlink" href="#coding-style" title="Permalink to this headline">¶</a></h2>
-<p>The SINGA codebase follows the <a class="reference external" href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml">Google C++ Style Guide</a>.</p>
-<p>To check if your code follows the style, you can use the provided cpplint tool:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ ./tool/cpplint.py YOUR_FILE
+<p>The SINGA codebase follows the Google Style for both <a class="reference external" href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml">CPP</a> and <a class="reference external" href="http://google.github.io/styleguide/pyguide.html">Python</a> code.</p>
+<p>A simple way to enforce the Google coding styles is to use the linting and formating tools in the Visual Studio Code editor:</p>
+<ul class="simple">
+<li><a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools">C/C++ extension</a></li>
+<li><a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=ms-python.python">Python extension</a></li>
+</ul>
+<p>Once the extensions are installed, edit the settings.json file.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="s2">"editor.formatOnSave"</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
+<span class="s2">"python.formatting.provider"</span><span class="p">:</span> <span class="s2">"yapf"</span><span class="p">,</span>
+<span class="s2">"python.formatting.yapfArgs"</span><span class="p">:</span> <span class="p">[</span>
+ <span class="s2">"--style"</span><span class="p">,</span>
+ <span class="s2">"{based_on_style: google}"</span>
+<span class="p">],</span>
+<span class="s2">"python.linting.enabled"</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
+<span class="s2">"python.linting.lintOnSave"</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
+<span class="s2">"C_Cpp.clang_format_style"</span><span class="p">:</span> <span class="s2">"Google"</span>
</pre></div>
</div>
+<p>You need to fix the format errors before submitting the pull requests.</p>
</div>
<div class="section" id="jira-format">
<h2>JIRA format<a class="headerlink" href="#jira-format" title="Permalink to this headline">¶</a></h2>
@@ -220,45 +241,65 @@
other high-level discussions (e.g., system design and features). Github pull requests are
used for implementation discussions, e.g., code review and code merge.</p>
<ul class="simple">
-<li><p>Provide a descriptive Title.</p></li>
-<li><p>Write a detailed Description. For bug reports, this should ideally include a
+<li>Provide a descriptive Title.</li>
+<li>Write a detailed Description. For bug reports, this should ideally include a
short reproduction of the problem. For new features, it may include a design
-document.</p></li>
-<li><p>Set <a class="reference external" href="https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark#ContributingtoSpark-JIRA">required fields</a></p></li>
+document.</li>
+<li>Set <a class="reference external" href="https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark#ContributingtoSpark-JIRA">required fields</a></li>
</ul>
</div>
-<div class="section" id="pull-request">
-<h2>Pull Request<a class="headerlink" href="#pull-request" title="Permalink to this headline">¶</a></h2>
-<p>The work flow is</p>
-<ul class="simple">
-<li><p>Fork the <a class="reference external" href="https://github.com/apache/incubator-singa">SINGA Github repository</a> to
-your own Github account.</p></li>
-<li><p>Clone your fork, create a new branch (e.g., feature-foo or fixbug-foo),
-work on it. After finishing your job,
-<a class="reference external" href="https://git-scm.com/book/en/v2/Git-Branching-Rebasing">rebase</a> it to the
-current latest master and push commits to your own Github account (the new
-branch).</p></li>
-<li><p>Open a pull request against the master branch of apache/incubator-singa.
-The PR title should be of the form SINGA-xxxx Title, where
-SINGA-xxxx is the relevant JIRA number, and Title may be the JIRA’s title or a
-more specific title describing the PR itself, for example, “SINGA-6 Implement thread-safe singleton”. Detailed description can be copied from the JIRA.
-Consider identifying committers or other contributors who have worked on the
-code being changed. Find the file(s) in Github and click “Blame” to see a
-line-by-line annotation of who changed the code last. You can add @username in
-the PR description to ping them immediately.
-Please state that the contribution is your original work and that you license
-the work to the project under the project’s open source license. Further commits (e.g., bug fix)
-to your new branch will be added to this pull request automatically by Github.</p></li>
-<li><p>Wait for one committer to review the patch. If no conflicts, the committers will merge it with
-the master branch. The merge should a) not use rebase b) disable fast forward merge c) check the
-commit message format and test the code/feature.</p></li>
-<li><p>If there are too many small commit messages, you will be told to squash your commits into fewer meaningful
-commits. If your commit message does not follow the format (i.e., SINGA-xxxx), you will be told to
-reword your commit message. Both changes can be done using interactive git rebase. Once you
-get the commits corrected, push them to you own github again. Your pull request
-will be automatically updated. For details, please refer to
-<a class="reference external" href="https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request">Rebase Pull Requests</a>.</p></li>
-</ul>
+<div class="section" id="git-workflow">
+<h2>Git Workflow<a class="headerlink" href="#git-workflow" title="Permalink to this headline">¶</a></h2>
+<ol>
+<li><p class="first">Fork the <a class="reference external" href="https://github.com/apache/incubator-singa">SINGA Github repository</a> to your own Github account.</p>
+</li>
+<li><p class="first">Clone the <strong>repo</strong> (short for repository) from your Github</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/<</span><span class="n">Github</span> <span class="n">account</span><span class="o">>/</span><span class="n">incubator</span><span class="o">-</span><span class="n">singa</span><span cl [...]
+<span class="n">git</span> <span class="n">remote</span> <span class="n">add</span> <span class="n">apache</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">apache</span><span class="o">/</span><span class="n">incubator</span><span class="o">-</span><span class="n">singa</span><span class="o">.</span><span class="n">git</span>
+</pre></div>
+</div>
+</li>
+<li><p class="first">Create a new branch (e.g., <code class="docutils literal"><span class="pre">feature-foo</span></code> or <code class="docutils literal"><span class="pre">fixbug-foo</span></code>), work on it and commit your code.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">checkout</span> <span class="o">-</span><span class="n">b</span> <span class="n">feature</span><span class="o">-</span><span class="n">foo</span>
+<span class="c1"># write your code</span>
+<span class="n">git</span> <span class="n">add</span> <span class="o"><</span><span class="n">created</span><span class="o">/</span><span class="n">updated</span> <span class="n">files</span><span class="o">></span>
+<span class="n">git</span> <span class="n">commit</span>
+</pre></div>
+</div>
+<p>The commit message should have a <strong>title which consists of the JIRA ticket No (SINGA-xxx) and title</strong>. A brief description of the commit should be added in the commit message.</p>
+<p>If your branch has many small commits, you need to clean those commits via</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">rebase</span> <span class="o">-</span><span class="n">i</span> <span class="o"><</span><span class="n">commit</span> <span class="nb">id</span><span class="o">></span>
+</pre></div>
+</div>
+<p>You can <a class="reference external" href="https://help.github.com/en/articles/about-git-rebase">squash and reword</a> the commits.</p>
+</li>
+<li><p class="first">When you are working on the code, the <code class="docutils literal"><span class="pre">master</span></code> of SINGA may have been updated by others; In this case, you need to pull the latest master</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">checkout</span> <span class="n">master</span>
+<span class="n">git</span> <span class="n">pull</span> <span class="n">apache</span> <span class="n">master</span><span class="p">:</span><span class="n">master</span>
+<span class="n">git</span> <span class="n">checkout</span> <span class="n">feature</span><span class="o">-</span><span class="n">foo</span>
+</pre></div>
+</div>
+</li>
+<li><p class="first"><a class="reference external" href="https://git-scm.com/book/en/v2/Git-Branching-Rebasing">Rebase</a> <code class="docutils literal"><span class="pre">feature-foo</span></code> onto the <code class="docutils literal"><span class="pre">master</span></code> branch and push commits to your own Github account (the new branch).</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">rebase</span> <span class="n">master</span>
+<span class="n">git</span> <span class="n">push</span> <span class="n">origin</span> <span class="n">feature</span><span class="o">-</span><span class="n">foo</span><span class="p">:</span><span class="n">feature</span><span class="o">-</span><span class="n">foo</span>
+</pre></div>
+</div>
+</li>
+<li><p class="first">Open a pull request (PR) against the master branch of apache/incubator-singa on Github website. The PR title should be the JIRA ticket title. If you want to inform other contributors who worked on the same files, you can find the file(s) on Github and click “Blame“ to see a line-by-line annotation of who changed the code last. Then, you can add @username in the PR description to ping them immediately. Please state that the contribution is your origin [...]
+</li>
+<li><p class="first">Wait for committers to review the PR. If no conflicts and errors, the committers will merge it with the master branch. The merge should <strong>a) not use rebase b) disable fast forward merge c) check the commit message format and test the code/feature</strong>. During this time, the master of SINGA may have been updated by others, and then you need to <a class="reference external" href="https://docs.fast.ai/dev/git.html#how-to-keep-your-feature-branch-up-to-date">me [...]
+</li>
+</ol>
+</div>
+<div class="section" id="developing-environment">
+<h2>Developing Environment<a class="headerlink" href="#developing-environment" title="Permalink to this headline">¶</a></h2>
+<p>Visual Studio Code is recommended as the editor. Extensions like Python, C/C++, Code Spell Checker, autoDocstring, vim, Remote Development could be installed. A reference configuration (i.e., <code class="docutils literal"><span class="pre">settings.json</span></code>) of these extensions is <a class="reference external" href="https://gist.github.com/nudles/3d23cfb6ffb30ca7636c45fe60278c55">here</a>.</p>
+<p>If you update the CPP code, you need to recompile SINGA <a class="reference internal" href="build.html"><span class="doc">from source</span></a>. It is recommended to use the native building tools in the <code class="docutils literal"><span class="pre">*-devel</span></code> Docker images or <code class="docutils literal"><span class="pre">conda</span> <span class="pre">build</span></code>.</p>
+<p>If you only update the Python code, you can install SINGAS once, and then copy the updated Python files to replace those in the Python installation folder,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">cp</span> <span class="n">python</span><span class="o">/</span><span class="n">singa</span><span class="o">/</span><span class="n">xx</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">path</span> <span class="n">to</span> <span class="n">conda</span><span class="o">>/</span><span class="n">lib</span><span class="o">/</span><span class="n">python3</s [...]
+</pre></div>
+</div>
</div>
</div>
@@ -273,7 +314,7 @@ will be automatically updated. For details, please refer to
<a href="contribute-docs.html" class="btn btn-neutral float-right" title="How to Contribute to Documentation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="how-contribute.html" class="btn btn-neutral float-left" title="How to Contribute to SINGA" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="../security.html" class="btn btn-neutral float-left" title="Security" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
diff --git a/content/develop/contribute-docs.html b/content/develop/contribute-docs.html
index 7989462..d367b5d 100644
--- a/content/develop/contribute-docs.html
+++ b/content/develop/contribute-docs.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -107,13 +116,17 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">How to Contribute to Documentation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#website">Website</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#python-api">Python API</a></li>
<li class="toctree-l2"><a class="reference internal" href="#cpp-api">CPP API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#using-visual-studio-code-vscode">Using Visual Studio Code (vscode)</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#preview">Preview</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#docstring-snippet">Docstring Snippet</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#spell-check">Spell Check</a></li>
+</ul>
+</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="how-to-release.html">How to prepare a release</a></li>
@@ -208,35 +221,90 @@
<div class="section" id="website">
<h2>Website<a class="headerlink" href="#website" title="Permalink to this headline">¶</a></h2>
<p>This document gives step-by-step instructions for deploying <a class="reference external" href="http://singa.incubator.apache.org">SINGA website</a>.</p>
-<p>SINGA website is built by <a class="reference external" href="http://www.sphinx-doc.org">Sphinx</a> >=1.4.4 from a source tree stored in git: https://github.com/apache/incubator-singa/tree/master/doc.</p>
+<p>SINGA website is built by <a class="reference external" href="http://www.sphinx-doc.org">Sphinx</a> from a source tree stored in the <a class="reference external" href="https://github.com/apache/incubator-singa/tree/master/doc">git repo</a>.</p>
<p>To install Sphinx:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pip install -U Sphinx
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="o">-</span><span class="n">U</span> <span class="n">Sphinx</span><span class="o">==</span><span class="mf">1.5</span><span class="o">.</span><span class="mi">6</span>
</pre></div>
</div>
<p>To install the markdown support for Sphinx:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pip install recommonmark
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">recommonmark</span><span class="o">==</span><span class="mf">0.5</span><span class="o">.</span><span class="mi">0</span>
</pre></div>
</div>
<p>To install the rtd theme:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pip install sphinx_rtd_theme
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">sphinx_rtd_theme</span><span class="o">==</span><span class="mf">0.4</span><span class="o">.</span><span class="mi">3</span>
</pre></div>
</div>
<p>You can build the website by executing the following command from the doc folder:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ ./build.sh html
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">build</span><span class="o">.</span><span class="n">sh</span> <span class="n">html</span>
</pre></div>
</div>
-<p>Committers can update the <a class="reference external" href="http://singa.apache.org/en/index.html">SINGA website</a> by following these steps:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd _build
-$ svn co https://svn.apache.org/repos/asf/incubator/singa/site/trunk
-$ cp -r html/* trunk
-# svn add <newly added html files>
-$ svn commit -m "commit messages" --username <committer ID> --password <password>
+<p>Committers can update the <a class="reference external" href="http://singa.apache.org/en/index.html">SINGA website</a> by copying the updated files to the <a class="reference external" href="https://github.com/apache/incubator-singa-site">website repo</a> (suppose the site repo is ~/incubator-singa-sit)</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="n">_build</span>
+<span class="n">rsync</span> <span class="o">--</span><span class="n">checksum</span> <span class="o">-</span><span class="n">rvh</span> <span class="n">html</span><span class="o">/</span> <span class="o">~/</span><span class="n">incubator</span><span class="o">-</span><span class="n">singa</span><span class="o">-</span><span class="n">site</span><span class="o">/</span>
+<span class="n">cd</span> <span class="o">~/</span><span class="n">incubator</span><span class="o">-</span><span class="n">singa</span><span class="o">-</span><span class="n">site</span>
+<span class="n">git</span> <span class="n">commit</span> <span class="o">-</span><span class="n">m</span> <span class="s2">"update xxxx"</span>
+<span class="n">git</span> <span class="n">push</span>
</pre></div>
</div>
+<p>We fix the versions of the libs in order to generate the same (checksum) html file if the source file is not changed. Otherwise, everytime we build the documentation, the html file of the same source file could be different. As a result, many html files in the site repo need updating.</p>
+</div>
+<div class="section" id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Permalink to this headline">¶</a></h2>
</div>
<div class="section" id="cpp-api">
<h2>CPP API<a class="headerlink" href="#cpp-api" title="Permalink to this headline">¶</a></h2>
-<p>To generate docs, run “doxygen” from the doc folder (Doxygen >= 1.8 recommended)</p>
+<p>To generate docs, run “doxygen“ from the doc folder (Doxygen >= 1.8 recommended)</p>
+</div>
+<div class="section" id="using-visual-studio-code-vscode">
+<h2>Using Visual Studio Code (vscode)<a class="headerlink" href="#using-visual-studio-code-vscode" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="preview">
+<h3>Preview<a class="headerlink" href="#preview" title="Permalink to this headline">¶</a></h3>
+<p>The document files (rst and md files) can be previewed in vscode via the <a class="reference external" href="https://docs.restructuredtext.net/">reStructuredText Extension</a>.</p>
+<ol>
+<li><p class="first">Install the extension in vscode.</p>
+</li>
+<li><p class="first">Install the dependent libs. All libs required to build the website should be installed (see the above instructions). In addition, there are two more libs to be installed.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">pip</span> <span class="n">install</span> <span class="n">sphinx</span><span class="o">-</span><span class="n">autobuild</span><span class="o">=</span><span class="mf">0.7</span><span class="o">.</span><span class="mi">1</span>
+ <span class="n">pip</span> <span class="n">install</span> <span class="n">doc8</span><span class="o">=</span><span class="mf">0.8</span><span class="o">.</span><span class="mi">0</span>
+</pre></div>
+</div>
+</li>
+<li><p class="first">Configure the conf path for <code class="docutils literal"><span class="pre">restructuredtext.confPath</span></code> to the <a class="reference external" href="./conf.py">conf.py</a></p>
+</li>
+</ol>
+</div>
+<div class="section" id="docstring-snippet">
+<h3>Docstring Snippet<a class="headerlink" href="#docstring-snippet" title="Permalink to this headline">¶</a></h3>
+<p><a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring">autoDocstring</a> generates the docstring of functions, classes, etc. Choose the DocString Format to <code class="docutils literal"><span class="pre">google</span></code>.</p>
+</div>
+<div class="section" id="spell-check">
+<h3>Spell Check<a class="headerlink" href="#spell-check" title="Permalink to this headline">¶</a></h3>
+<p><a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker">Code Spell Checker</a> can be configured to check the comments of the code, or .md and .rst files.</p>
+<p>To do spell check only for comments of Python code, add the following snippet via <code class="docutils literal"><span class="pre">File</span> <span class="pre">-</span> <span class="pre">Preferences</span> <span class="pre">-</span> <span class="pre">User</span> <span class="pre">Snippets</span> <span class="pre">-</span> <span class="pre">python.json</span></code></p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="s2">"cspell check"</span> <span class="p">:</span> <span class="p">{</span>
+<span class="s2">"prefix"</span><span class="p">:</span> <span class="s2">"cspell"</span><span class="p">,</span>
+<span class="s2">"body"</span><span class="p">:</span> <span class="p">[</span>
+ <span class="s2">"# Directives for doing spell check only for python and c/cpp comments"</span><span class="p">,</span>
+ <span class="s2">"# cSpell:includeRegExp #.* "</span><span class="p">,</span>
+ <span class="s2">"# cSpell:includeRegExp (</span><span class="se">\"\"\"</span><span class="s2">|''')[^</span><span class="se">\1</span><span class="s2">]*</span><span class="se">\1</span><span class="s2">"</span><span class="p">,</span>
+ <span class="s2">"# cSpell: CStyleComment"</span><span class="p">,</span>
+<span class="p">],</span>
+<span class="s2">"description"</span><span class="p">:</span> <span class="s2">"# spell check only for python comments"</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>To do spell check only for comments of Cpp code, add the following snippet via <code class="docutils literal"><span class="pre">File</span> <span class="pre">-</span> <span class="pre">Preferences</span> <span class="pre">-</span> <span class="pre">User</span> <span class="pre">Snippets</span> <span class="pre">-</span> <span class="pre">cpp.json</span></code></p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="s2">"cspell check"</span> <span class="p">:</span> <span class="p">{</span>
+<span class="s2">"prefix"</span><span class="p">:</span> <span class="s2">"cspell"</span><span class="p">,</span>
+<span class="s2">"body"</span><span class="p">:</span> <span class="p">[</span>
+ <span class="s2">"// Directive for doing spell check only for cpp comments"</span><span class="p">,</span>
+ <span class="s2">"// cSpell:includeRegExp CStyleComment"</span><span class="p">,</span>
+<span class="p">],</span>
+<span class="s2">"description"</span><span class="p">:</span> <span class="s2">"# spell check only for cpp comments"</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
</div>
</div>
diff --git a/content/develop/how-contribute.html b/content/develop/how-contribute.html
index 3027745..8a6cbca 100644
--- a/content/develop/how-contribute.html
+++ b/content/develop/how-contribute.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,6 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="How to Contribute Code" href="contribute-code.html" />
- <link rel="prev" title="Development Schedule" href="schedule.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -106,10 +113,7 @@
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
-<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="schedule.html">Development Schedule</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
+<ul>
<li class="toctree-l1"><a class="reference internal" href="contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="how-to-release.html">How to prepare a release</a></li>
@@ -203,19 +207,11 @@
<h1>How to Contribute to SINGA<a class="headerlink" href="#how-to-contribute-to-singa" title="Permalink to this headline">¶</a></h1>
<p>As with any open source project, there are several ways you can help:</p>
<ul class="simple">
-<li><p>Join the <a class="reference external" href="http://singa.apache.org/en/community/mail-lists.html">mailing list</a> and answer other user’s questions.</p></li>
-<li><p><a class="reference external" href="http://singa.apache.org/en/docs/installation.html">Build SINGA</a> by yourself.</p></li>
-<li><p>Report bugs, feature requests and other issues in the <a class="reference external" href="http://singa.apache.org/en/community/issue-tracking.html">issue tracking</a> application.</p></li>
-<li><p>Check SINGA’s <a class="reference external" href="http://singa.apache.org/en/develop/schedule.html">development schedule</a> and <a class="reference external" href="http://singa.apache.org/en/develop/contribute-code.html">contribute code</a> by providing patches.</p></li>
-<li><p><a class="reference external" href="http://singa.apache.org/en/develop/contribute-docs.html">Help with the documentation</a> by updating webpages that are lacking or unclear.</p></li>
+<li>Join the <a class="reference external" href="http://singa.apache.org/en/community/mail-lists.html">mailing list</a> and answer other user‘s questions.</li>
+<li><a class="reference external" href="http://singa.apache.org/en/develop/contribute-docs.html">Help with the documentation</a> by updating webpages that are lacking or unclear.</li>
+<li><a class="reference external" href="http://singa.apache.org/en/develop/contribute-code.html">Contribute code to SINGA</a> by fixing errors or adding new features. <a class="reference external" href="http://singa.apache.org/en/community/issue-tracking.html">All issues are tracked</a> on the JIRA system.</li>
</ul>
</div>
-<div class="section" id="how-to-become-a-singa-committer">
-<h1>How to become a SINGA committer<a class="headerlink" href="#how-to-become-a-singa-committer" title="Permalink to this headline">¶</a></h1>
-<p>SINGA committers are members that have write access to SINGA code and documentation repositories. They can contribute by themselves and accept other contributions.</p>
-<p>Becoming a SINGA committer requires understanding the Apache Way and being an active member in the SINGA project. An active member participates on mailing lists, answers questions, contributes code, tests and documentation, presents SINGA in talks and seminars, verifies releases and report issues or feature requests.</p>
-<p>New committers can be suggested by current committers or PPMC members, and voted upon by the PPMC according to Apache guidelines. You can start by talking to other committers and ask for their advice and guidance.</p>
-</div>
</div>
@@ -223,15 +219,6 @@
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="contribute-code.html" class="btn btn-neutral float-right" title="How to Contribute Code" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="schedule.html" class="btn btn-neutral float-left" title="Development Schedule" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
diff --git a/content/develop/how-to-release.html b/content/develop/how-to-release.html
index 643a03d..13b699a 100644
--- a/content/develop/how-to-release.html
+++ b/content/develop/how-to-release.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -107,9 +116,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">How to prepare a release</a><ul>
@@ -205,16 +211,17 @@
<p>This is a guide for the release preparing process in SINGA.</p>
<div class="section" id="select-a-release-manager">
<h2>Select a release manager<a class="headerlink" href="#select-a-release-manager" title="Permalink to this headline">¶</a></h2>
-<p>The release manager (RM) is the coordinator for the release process. It is the RM’s signature (.asc) that is uploaded together with the release. The RM generates KEY (RSA 4096-bit) and uploads it to a public key server. The RM needs to get his key endorsed (signed) by other Apache user, to be connected to the web of trust. He should first ask the mentor to help signing his key. <a class="reference external" href="http://www.apache.org/dev/release-signing.html">http://www.apache.org/de [...]
-<dl class="simple">
-<dt>Check:</dt><dd><ul class="simple">
-<li><p>The codebase does not include third-party code which is not compatible to APL</p></li>
-<li><p>The dependencies are compatible with APL. GNU-like licenses are NOT compatible</p></li>
-<li><p>All source files written by us MUST include the Apache license header: <a class="reference external" href="http://www.apache.org/legal/src-headers.html">http://www.apache.org/legal/src-headers.html</a>. There’s a script in there which helps propagating the header to all files.</p></li>
-<li><p>The build process is error-free.</p></li>
-<li><p>Unit tests are included (as much as possible)</p></li>
-<li><p>The Jupyter notebooks are working with the new release</p></li>
-<li><p>The online documentation on the Apache website is up to date.</p></li>
+<p>The release manager (RM) is the coordinator for the release process. It is the RM’s signature (.asc) that is uploaded together with the release. The RM generates KEY (RSA 4096-bit) and uploads it to a public key server. The RM needs to get his key endorsed (signed) by other Apache user, to be connected to the web of trust. He should first ask the mentor to help signing his key. <a class="reference external" href="http://www.apache.org/dev/release-signing.html">http://www.apache. [...]
+<dl class="docutils">
+<dt>Check:</dt>
+<dd><ul class="first last simple">
+<li>The codebase does not include third-party code which is not compatible to APL</li>
+<li>The dependencies are compatible with APL. GNU-like licenses are NOT compatible</li>
+<li>All source files written by us MUST include the Apache license header: <a class="reference external" href="http://www.apache.org/legal/src-headers.html">http://www.apache.org/legal/src-headers.html</a>. There’s a script in there which helps propagating the header to all files.</li>
+<li>The build process is error-free.</li>
+<li>Unit tests are included (as much as possible)</li>
+<li>The Jupyter notebooks are working with the new release</li>
+<li>The online documentation on the Apache website is up to date.</li>
</ul>
</dd>
</dl>
@@ -227,9 +234,9 @@
<h2>Prepare NOTICE file<a class="headerlink" href="#prepare-notice-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
-<li><p>Use this template: <a class="reference external" href="http://apache.org/legal/src-headers.html#notice">http://apache.org/legal/src-headers.html#notice</a></p></li>
-<li><p>If we include any third party code in the release package which is not APL, must state it at the end of the NOTICE file.</p></li>
-<li><p>Example: <a class="reference external" href="http://apache.org/licenses/example-NOTICE.txt">http://apache.org/licenses/example-NOTICE.txt</a></p></li>
+<li>Use this template: <a class="reference external" href="http://apache.org/legal/src-headers.html#notice">http://apache.org/legal/src-headers.html#notice</a></li>
+<li>If we include any third party code in the release package which is not APL, must state it at the end of the NOTICE file.</li>
+<li>Example: <a class="reference external" href="http://apache.org/licenses/example-NOTICE.txt">http://apache.org/licenses/example-NOTICE.txt</a></li>
</ul>
</div></blockquote>
</div>
@@ -237,8 +244,8 @@
<h2>Prepare RELEASE_NOTES file<a class="headerlink" href="#prepare-release-notes-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
-<li><p>Introduction, Features, Bugs (link to JIRA), Changes (N/A for first erlease), Dependency list, Incompatibility issues.</p></li>
-<li><p>Follow this example: <a class="reference external" href="http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt">http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt</a></p></li>
+<li>Introduction, Features, Bugs (link to JIRA), Changes (N/A for first erlease), Dependency list, Incompatibility issues.</li>
+<li>Follow this example: <a class="reference external" href="http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt">http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt</a></li>
</ul>
</div></blockquote>
</div>
@@ -246,9 +253,9 @@
<h2>Prepare README file<a class="headerlink" href="#prepare-readme-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
-<li><p>How to build, run test, run examples</p></li>
-<li><p>List of dependencies.</p></li>
-<li><p>Mail list, website, etc. Any information useful for user to start.</p></li>
+<li>How to build, run test, run examples</li>
+<li>List of dependencies.</li>
+<li>Mail list, website, etc. Any information useful for user to start.</li>
</ul>
</div></blockquote>
</div>
@@ -256,33 +263,35 @@
<h2>Prepare DISCLAIMER file<a class="headerlink" href="#prepare-disclaimer-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
-<li><p>modify from <a class="reference external" href="http://incubator.apache.org/guides/branding.html#disclaimers">http://incubator.apache.org/guides/branding.html#disclaimers</a></p></li>
+<li>modify from <a class="reference external" href="http://incubator.apache.org/guides/branding.html#disclaimers">http://incubator.apache.org/guides/branding.html#disclaimers</a></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="package-the-release">
<h2>Package the release<a class="headerlink" href="#package-the-release" title="Permalink to this headline">¶</a></h2>
-<dl class="simple">
-<dt>The release should be packaged into<span class="classifier">apache-singa-incubating-xx.xx.xx.tar.gz</span></dt><dd><ul class="simple">
-<li><p>src/</p></li>
-<li><p>README</p></li>
-<li><p>LICENSE</p></li>
-<li><p>NOTICE</p></li>
-<li><p>RELEASE_NOTES</p></li>
-<li><p>DISCLAIMER</p></li>
-<li><p>…</p></li>
+<dl class="docutils">
+<dt>The release should be packaged into <span class="classifier-delimiter">:</span> <span class="classifier">apache-singa-incubating-xx.xx.xx.tar.gz</span></dt>
+<dd><ul class="first last simple">
+<li>src/</li>
+<li>README</li>
+<li>LICENSE</li>
+<li>NOTICE</li>
+<li>RELEASE_NOTES</li>
+<li>DISCLAIMER</li>
+<li>...</li>
</ul>
</dd>
</dl>
</div>
<div class="section" id="upload-the-release">
<h2>Upload the release<a class="headerlink" href="#upload-the-release" title="Permalink to this headline">¶</a></h2>
-<dl class="simple">
-<dt>The release is uploaded to the RM’s Apache page: people.apache.org/~ID/…</dt><dd><ul class="simple">
-<li><p>apache-singa-incubating-xx.xx.xx.tar.gz</p></li>
-<li><p>KEY</p></li>
-<li><p>XX.acs</p></li>
-<li><p>XX.md5</p></li>
+<dl class="docutils">
+<dt>The release is uploaded to the RM’s Apache page: people.apache.org/~ID/...</dt>
+<dd><ul class="first last simple">
+<li>apache-singa-incubating-xx.xx.xx.tar.gz</li>
+<li>KEY</li>
+<li>XX.acs</li>
+<li>XX.md5</li>
</ul>
</dd>
</dl>
@@ -316,8 +325,8 @@ apache-singa-X.Y.Z-incubating.tar.gz.sha256 XXXX</p>
apache-singa-X.Y.Z-incubating.tar.gz.asc</p>
<p>Please vote on releasing this package. The vote is open for at least 72 hours and passes if a majority of at least three +1 votes are cast.</p>
<p>[ ] +1 Release this package as Apache SINGA X.Y.Z-incubating
-[ ] 0 I don’t feel strongly about it, but I’m okay with the release
-[ ] -1 Do not release this package because…</p>
+[ ] 0 I don’t feel strongly about it, but I’m okay with the release
+[ ] -1 Do not release this package because...</p>
<p>Here is my vote:</p>
<p>+1</p>
<p>{SINGA Team Member Name}</p>
@@ -349,13 +358,13 @@ To: <a class="reference external" href="mailto:dev%40singa.incub
<p>No 0s or -1s.</p>
<p>I am delighted to announce that the proposal to release
Apache SINGA X.Y.Z-incubating has passed.</p>
-<p>I’ll now start a vote on the general list. Those of you in the IPMC, please recast your vote on the new thread.</p>
+<p>I’ll now start a vote on the general list. Those of you in the IPMC, please recast your vote on the new thread.</p>
<p>{SINGA Team Member Name}</p>
<p>Template for general@ voting - results</p>
<p>To: <a class="reference external" href="mailto:general%40incubator.apache.org">general<span>@</span>incubator<span>.</span>apache<span>.</span>org</a>
Subject: [RESULT] [VOTE] Release Apache SINGA X.Y.Z (incubating)</p>
<p>Thanks everyone for their votes and comments.</p>
-<p>I’m delighted to announce that this vote passes with the following results:</p>
+<p>I’m delighted to announce that this vote passes with the following results:</p>
<p>N binding +1s:
<names></p>
<p>N non-binding +1s:
diff --git a/content/develop/schedule.html b/content/develop/schedule.html
index a1e4f09..49fedbc 100644
--- a/content/develop/schedule.html
+++ b/content/develop/schedule.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,6 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="How to Contribute to SINGA" href="how-contribute.html" />
- <link rel="prev" title="Security" href="../security.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -106,10 +113,7 @@
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
-<ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
+<ul>
<li class="toctree-l1"><a class="reference internal" href="contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="how-to-release.html">How to prepare a release</a></li>
@@ -184,182 +188,182 @@
<div class="section" id="development-schedule">
<h1>Development Schedule<a class="headerlink" href="#development-schedule" title="Permalink to this headline">¶</a></h1>
-<table class="docutils align-center">
+<table border="1" class="docutils">
<colgroup>
-<col style="width: 33%" />
-<col style="width: 33%" />
-<col style="width: 33%" />
+<col width="33%" />
+<col width="33%" />
+<col width="33%" />
</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Release</p></th>
-<th class="head"><p>Module</p></th>
-<th class="head"><p>Feature</p></th>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">Release</th>
+<th class="head">Module</th>
+<th class="head">Feature</th>
</tr>
</thead>
-<tbody>
-<tr class="row-even"><td><p>v0.1 Sep 2015</p></td>
-<td><p>Neural Network</p></td>
-<td><p>Feed forward neural network, including CNN, MLP</p></td>
+<tbody valign="top">
+<tr class="row-even"><td>v0.1 Sep 2015</td>
+<td>Neural Network</td>
+<td>Feed forward neural network, including CNN, MLP</td>
</tr>
-<tr class="row-odd"><td></td>
-<td></td>
-<td><p>RBM-like model, including RBM</p></td>
+<tr class="row-odd"><td> </td>
+<td> </td>
+<td>RBM-like model, including RBM</td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Recurrent neural network, including standard RNN</p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Recurrent neural network, including standard RNN</td>
</tr>
-<tr class="row-odd"><td></td>
-<td><p>Architecture</p></td>
-<td><p>One worker group on single node (with data partition)</p></td>
+<tr class="row-odd"><td> </td>
+<td>Architecture</td>
+<td>One worker group on single node (with data partition)</td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Multi worker groups on single node using <a class="reference external" href="http://www.eecs.berkeley.edu/~brecht/papers/hogwildTR.pdf">Hogwild</a></p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Multi worker groups on single node using <a class="reference external" href="http://www.eecs.berkeley.edu/~brecht/papers/hogwildTR.pdf">Hogwild</a></td>
</tr>
-<tr class="row-odd"><td></td>
-<td></td>
-<td><p>Distributed Hogwild</p></td>
+<tr class="row-odd"><td> </td>
+<td> </td>
+<td>Distributed Hogwild</td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Multi groups across nodes, like <a class="reference external" href="http://papers.nips.cc/paper/4687-large-scale-distributed-deep-networks">Downpour</a></p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Multi groups across nodes, like <a class="reference external" href="http://papers.nips.cc/paper/4687-large-scale-distributed-deep-networks">Downpour</a></td>
</tr>
-<tr class="row-odd"><td></td>
-<td></td>
-<td><p>All-Reduce training architecture like <a class="reference external" href="http://arxiv.org/abs/1501.02876">DeepImage</a></p></td>
+<tr class="row-odd"><td> </td>
+<td> </td>
+<td>All-Reduce training architecture like <a class="reference external" href="http://arxiv.org/abs/1501.02876">DeepImage</a></td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Load-balance among servers</p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Load-balance among servers</td>
</tr>
-<tr class="row-odd"><td></td>
-<td><p>Failure recovery</p></td>
-<td><p>Checkpoint and restore</p></td>
+<tr class="row-odd"><td> </td>
+<td>Failure recovery</td>
+<td>Checkpoint and restore</td>
</tr>
-<tr class="row-even"><td></td>
-<td><p>Tools</p></td>
-<td><p>Installation with GNU auto Tools</p></td>
+<tr class="row-even"><td> </td>
+<td>Tools</td>
+<td>Installation with GNU auto Tools</td>
</tr>
-<tr class="row-odd"><td><p>v0.2 Jan 2016</p></td>
-<td><p>Neural Network</p></td>
-<td><p>Feed forward neural network, including AlexNet, cuDNN layers,Tools</p></td>
+<tr class="row-odd"><td>v0.2 Jan 2016</td>
+<td>Neural Network</td>
+<td>Feed forward neural network, including AlexNet, cuDNN layers,Tools</td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Recurrent neural network, including GRULayer and BPTT</p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Recurrent neural network, including GRULayer and BPTT</td>
</tr>
-<tr class="row-odd"><td></td>
-<td></td>
-<td><p>Model partition and hybrid partition</p></td>
+<tr class="row-odd"><td> </td>
+<td> </td>
+<td>Model partition and hybrid partition</td>
</tr>
-<tr class="row-even"><td></td>
-<td><p>Tools</p></td>
-<td><p>Integration with Mesos for resource management</p></td>
+<tr class="row-even"><td> </td>
+<td>Tools</td>
+<td>Integration with Mesos for resource management</td>
</tr>
-<tr class="row-odd"><td></td>
-<td></td>
-<td><p>Prepare Docker images for deployment</p></td>
+<tr class="row-odd"><td> </td>
+<td> </td>
+<td>Prepare Docker images for deployment</td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Visualization of neural net and debug information</p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Visualization of neural net and debug information</td>
</tr>
-<tr class="row-odd"><td></td>
-<td><p>Binding</p></td>
-<td><p>Python binding for major components</p></td>
+<tr class="row-odd"><td> </td>
+<td>Binding</td>
+<td>Python binding for major components</td>
</tr>
-<tr class="row-even"><td></td>
-<td><p>GPU</p></td>
-<td><p>Single node with multiple GPUs</p></td>
+<tr class="row-even"><td> </td>
+<td>GPU</td>
+<td>Single node with multiple GPUs</td>
</tr>
-<tr class="row-odd"><td><p>v0.3 April 2016</p></td>
-<td><p>GPU</p></td>
-<td><p>Multiple nodes, each with multiple GPUs</p></td>
+<tr class="row-odd"><td>v0.3 April 2016</td>
+<td>GPU</td>
+<td>Multiple nodes, each with multiple GPUs</td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Heterogeneous training using both GPU and CPU <a class="reference external" href="http://arxiv.org/abs/1504.04343">CcT</a></p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Heterogeneous training using both GPU and CPU <a class="reference external" href="http://arxiv.org/abs/1504.04343">CcT</a></td>
</tr>
-<tr class="row-odd"><td></td>
-<td></td>
-<td><p>Support cuDNN v4</p></td>
+<tr class="row-odd"><td> </td>
+<td> </td>
+<td>Support cuDNN v4</td>
</tr>
-<tr class="row-even"><td></td>
-<td><p>Installation</p></td>
-<td><p>Remove dependency on ZeroMQ, CZMQ, Zookeeper for single node training</p></td>
+<tr class="row-even"><td> </td>
+<td>Installation</td>
+<td>Remove dependency on ZeroMQ, CZMQ, Zookeeper for single node training</td>
</tr>
-<tr class="row-odd"><td></td>
-<td><p>Updater</p></td>
-<td><p>Add new SGD updaters including Adam, AdamMax and AdaDelta</p></td>
+<tr class="row-odd"><td> </td>
+<td>Updater</td>
+<td>Add new SGD updaters including Adam, AdamMax and AdaDelta</td>
</tr>
-<tr class="row-even"><td></td>
-<td><p>Binding</p></td>
-<td><p>Enhance Python binding for training</p></td>
+<tr class="row-even"><td> </td>
+<td>Binding</td>
+<td>Enhance Python binding for training</td>
</tr>
-<tr class="row-odd"><td><p>v1.0 Sep 2016</p></td>
-<td><p>Programming abstraction</p></td>
-<td><p>Tensor with linear algebra, neural net and random operations</p></td>
+<tr class="row-odd"><td>v1.0 Sep 2016</td>
+<td>Programming abstraction</td>
+<td>Tensor with linear algebra, neural net and random operations</td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Updater for distributed parameter updating</p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Updater for distributed parameter updating</td>
</tr>
-<tr class="row-odd"><td></td>
-<td><p>Hardware</p></td>
-<td><p>Use Cuda and Cudnn for Nvidia GPU</p></td>
+<tr class="row-odd"><td> </td>
+<td>Hardware</td>
+<td>Use Cuda and Cudnn for Nvidia GPU</td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Use OpenCL for AMD GPU or other devices</p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Use OpenCL for AMD GPU or other devices</td>
</tr>
-<tr class="row-odd"><td></td>
-<td><p>Cross-platform</p></td>
-<td><p>To extend from Linux to MacOS</p></td>
+<tr class="row-odd"><td> </td>
+<td>Cross-platform</td>
+<td>To extend from Linux to MacOS</td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Large image models, e.g., <a class="reference external" href="https://arxiv.org/pdf/1409.1556.pdf">VGG</a> and <a class="reference external" href="http://arxiv.org/abs/1512.03385">Residual Net</a></p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Large image models, e.g., <a class="reference external" href="https://arxiv.org/pdf/1409.1556.pdf">VGG</a> and <a class="reference external" href="http://arxiv.org/abs/1512.03385">Residual Net</a></td>
</tr>
-<tr class="row-odd"><td><p>v1.1 Jan 2017</p></td>
-<td><p>Model Zoo</p></td>
-<td><p>GoogleNet; Health-care models</p></td>
+<tr class="row-odd"><td>v1.1 Jan 2017</td>
+<td>Model Zoo</td>
+<td>GoogleNet; Health-care models</td>
</tr>
-<tr class="row-even"><td></td>
-<td><p>Caffe converter</p></td>
-<td><p>Use SINGA to train models configured in caffe proto files</p></td>
+<tr class="row-even"><td> </td>
+<td>Caffe converter</td>
+<td>Use SINGA to train models configured in caffe proto files</td>
</tr>
-<tr class="row-odd"><td></td>
-<td><p>Model components</p></td>
-<td><p>Add concat and slice layers; accept multiple inputs to the net</p></td>
+<tr class="row-odd"><td> </td>
+<td>Model components</td>
+<td>Add concat and slice layers; accept multiple inputs to the net</td>
</tr>
-<tr class="row-even"><td></td>
-<td><p>Compilation and installation</p></td>
-<td><p>Windows suppport</p></td>
+<tr class="row-even"><td> </td>
+<td>Compilation and installation</td>
+<td>Windows suppport</td>
</tr>
-<tr class="row-odd"><td></td>
-<td></td>
-<td><p>Simplify the installation by compiling protobuf and openblas together with SINGA</p></td>
+<tr class="row-odd"><td> </td>
+<td> </td>
+<td>Simplify the installation by compiling protobuf and openblas together with SINGA</td>
</tr>
-<tr class="row-even"><td></td>
-<td></td>
-<td><p>Build python wheel automatically using Jenkins</p></td>
+<tr class="row-even"><td> </td>
+<td> </td>
+<td>Build python wheel automatically using Jenkins</td>
</tr>
-<tr class="row-odd"><td></td>
-<td></td>
-<td><p>Install SINGA from Debian packages</p></td>
+<tr class="row-odd"><td> </td>
+<td> </td>
+<td>Install SINGA from Debian packages</td>
</tr>
-<tr class="row-even"><td><p>v1.2 June 2018</p></td>
-<td><p>AutoGrad</p></td>
-<td><p>AutoGrad for BP</p></td>
+<tr class="row-even"><td>v1.2 June 2018</td>
+<td>AutoGrad</td>
+<td>AutoGrad for BP</td>
</tr>
-<tr class="row-odd"><td></td>
-<td><p>Python 3</p></td>
-<td><p>Support Python 3 for PySinga</p></td>
+<tr class="row-odd"><td> </td>
+<td>Python 3</td>
+<td>Support Python 3 for PySinga</td>
</tr>
-<tr class="row-even"><td></td>
-<td><p>Models</p></td>
-<td><p>Add popular models, including VGG, ResNet, DenseNet, InceptionNet</p></td>
+<tr class="row-even"><td> </td>
+<td>Models</td>
+<td>Add popular models, including VGG, ResNet, DenseNet, InceptionNet</td>
</tr>
</tbody>
</table>
@@ -371,15 +375,6 @@
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="how-contribute.html" class="btn btn-neutral float-right" title="How to Contribute to SINGA" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="../security.html" class="btn btn-neutral float-left" title="Security" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
diff --git a/content/docs/autograd.html b/content/docs/autograd.html
index 2a9eb6d..3b571a0 100644
--- a/content/docs/autograd.html
+++ b/content/docs/autograd.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,8 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Data" href="data.html" />
- <link rel="prev" title="Optimizer" href="optimizer.html" />
+ <link rel="next" title="ONNX" href="onnx.html" />
+ <link rel="prev" title="Tensor" href="tensor.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -104,15 +113,8 @@
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Autograd in Singa</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#relevant-modules">Relevant Modules</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#tensor">Tensor</a></li>
@@ -127,11 +129,8 @@
</li>
</ul>
</li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
+<li class="toctree-l2"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
</ul>
</li>
@@ -140,9 +139,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -239,28 +235,28 @@
<p>There are two typical ways to implement autograd, via symbolic differentiation like <a class="reference external" href="http://deeplearning.net/software/theano/index.html">Theano</a> or reverse differentiation like <a class="reference external" href="https://pytorch.org/docs/stable/notes/autograd.html">Pytorch</a>. Singa follows Pytorch way, which records the computation graph and apply the backward propagation automatically after forward propagation. The autograd algorithm is explain [...]
<div class="section" id="relevant-modules">
<h2>Relevant Modules<a class="headerlink" href="#relevant-modules" title="Permalink to this headline">¶</a></h2>
-<p>There are three classes involved in autograd, namely <code class="docutils literal notranslate"><span class="pre">singa.tensor.Tensor</span></code> , <code class="docutils literal notranslate"><span class="pre">singa.autograd.Operation</span></code>, and <code class="docutils literal notranslate"><span class="pre">singa.autograd.Layer</span></code>. In the rest of this article, we use tensor, operation and layer to refer to an instance of the respective class.</p>
+<p>There are three classes involved in autograd, namely <code class="docutils literal"><span class="pre">singa.tensor.Tensor</span></code> , <code class="docutils literal"><span class="pre">singa.autograd.Operation</span></code>, and <code class="docutils literal"><span class="pre">singa.autograd.Layer</span></code>. In the rest of this article, we use tensor, operation and layer to refer to an instance of the respective class.</p>
<div class="section" id="tensor">
<h3>Tensor<a class="headerlink" href="#tensor" title="Permalink to this headline">¶</a></h3>
<p>Three attributes of Tensor are used by autograd,</p>
<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">.creator</span></code> is an <code class="docutils literal notranslate"><span class="pre">Operation</span></code> instance. It records the operation that generates the Tensor instance.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">.requires_grad</span></code> is a boolean variable. It is used to indicate that the autograd algorithm needs to compute the gradient of the tensor (i.e., the owner). For example, during backpropagation, the gradients of the tensors for the weight matrix of a linear layer and the feature maps of a convolution layer (not the bottom layer) should be computed.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">.stores_grad</span></code> is a boolean variable. It is used to indicate that the gradient of the owner tensor should be stored and output by the backward function. For example, the gradient of the feature maps is computed during backpropagation, but is not included in the output of the backward function.</p></li>
+<li><code class="docutils literal"><span class="pre">.creator</span></code> is an <code class="docutils literal"><span class="pre">Operation</span></code> instance. It records the operation that generates the Tensor instance.</li>
+<li><code class="docutils literal"><span class="pre">.requires_grad</span></code> is a boolean variable. It is used to indicate that the autograd algorithm needs to compute the gradient of the tensor (i.e., the owner). For example, during backpropagation, the gradients of the tensors for the weight matrix of a linear layer and the feature maps of a convolution layer (not the bottom layer) should be computed.</li>
+<li><code class="docutils literal"><span class="pre">.stores_grad</span></code> is a boolean variable. It is used to indicate that the gradient of the owner tensor should be stored and output by the backward function. For example, the gradient of the feature maps is computed during backpropagation, but is not included in the output of the backward function.</li>
</ul>
-<p>Programmers can change <code class="docutils literal notranslate"><span class="pre">requires_grad</span></code> and <code class="docutils literal notranslate"><span class="pre">stores_grad</span></code> of a Tensor instance. For example, if later is set to True, the corresponding gradient is included in the output of the backward function. It should be noted that if <code class="docutils literal notranslate"><span class="pre">stores_grad</span></code> is True, then <code class="docuti [...]
+<p>Programmers can change <code class="docutils literal"><span class="pre">requires_grad</span></code> and <code class="docutils literal"><span class="pre">stores_grad</span></code> of a Tensor instance. For example, if later is set to True, the corresponding gradient is included in the output of the backward function. It should be noted that if <code class="docutils literal"><span class="pre">stores_grad</span></code> is True, then <code class="docutils literal"><span class="pre">requir [...]
</div>
<div class="section" id="operation">
<h3>Operation<a class="headerlink" href="#operation" title="Permalink to this headline">¶</a></h3>
-<p>It takes one or more <code class="docutils literal notranslate"><span class="pre">Tensor</span></code> instances as input, and then outputs one or more <code class="docutils literal notranslate"><span class="pre">Tensor</span></code> instances. For example, ReLU can be implemented as a specific Operation subclass. When an <code class="docutils literal notranslate"><span class="pre">Operation</span></code> instance is called (after instantiation), the following two steps are executed:</p>
+<p>It takes one or more <code class="docutils literal"><span class="pre">Tensor</span></code> instances as input, and then outputs one or more <code class="docutils literal"><span class="pre">Tensor</span></code> instances. For example, ReLU can be implemented as a specific Operation subclass. When an <code class="docutils literal"><span class="pre">Operation</span></code> instance is called (after instantiation), the following two steps are executed:</p>
<ol class="simple">
-<li><p>record the source operations, i.e., the <code class="docutils literal notranslate"><span class="pre">creator</span></code>s of the input tensors. 2. do calculation by calling member function <code class="docutils literal notranslate"><span class="pre">.forward()</span></code></p></li>
+<li>record the source operations, i.e., the <code class="docutils literal"><span class="pre">creator</span></code>s of the input tensors. 2. do calculation by calling member function <code class="docutils literal"><span class="pre">.forward()</span></code></li>
</ol>
-<p>There are two member functions for forwarding and backwarding, i.e., <code class="docutils literal notranslate"><span class="pre">.forward()</span></code> and <code class="docutils literal notranslate"><span class="pre">.backward()</span></code>. They take <code class="docutils literal notranslate"><span class="pre">Tensor.data</span></code> as inputs (the type is <code class="docutils literal notranslate"><span class="pre">CTensor</span></code>), and output <code class="docutils lite [...]
+<p>There are two member functions for forwarding and backwarding, i.e., <code class="docutils literal"><span class="pre">.forward()</span></code> and <code class="docutils literal"><span class="pre">.backward()</span></code>. They take <code class="docutils literal"><span class="pre">Tensor.data</span></code> as inputs (the type is <code class="docutils literal"><span class="pre">CTensor</span></code>), and output <code class="docutils literal"><span class="pre">Ctensor</span></code>s. T [...]
</div>
<div class="section" id="layer">
<h3>Layer<a class="headerlink" href="#layer" title="Permalink to this headline">¶</a></h3>
-<p>For those operations that require parameters, we package them into a new class, <code class="docutils literal notranslate"><span class="pre">Layer</span></code>. For example, convolution operation is wrapped into a convolution layer. <code class="docutils literal notranslate"><span class="pre">Layer</span></code> manages (stores) the parameters and calls the corresponding <code class="docutils literal notranslate"><span class="pre">Operation</span></code>s to implement the transformat [...]
+<p>For those operations that require parameters, we package them into a new class, <code class="docutils literal"><span class="pre">Layer</span></code>. For example, convolution operation is wrapped into a convolution layer. <code class="docutils literal"><span class="pre">Layer</span></code> manages (stores) the parameters and calls the corresponding <code class="docutils literal"><span class="pre">Operation</span></code>s to implement the transformation.</p>
</div>
</div>
<div class="section" id="examples">
@@ -271,7 +267,7 @@
<p>The following codes implement a MLP model using only Operation instances (no Layer instances).</p>
<div class="section" id="import-packages">
<h4>Import packages<a class="headerlink" href="#import-packages" title="Permalink to this headline">¶</a></h4>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa.tensor</span> <span class="k">import</span> <span class="n">Tensor</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa.tensor</span> <span class="k">import</span> <span class="n">Tensor</span>
<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">autograd</span>
<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">opt</span>
</pre></div>
@@ -279,8 +275,8 @@
</div>
<div class="section" id="create-weight-matrix-and-bias-vector">
<h4>Create weight matrix and bias vector<a class="headerlink" href="#create-weight-matrix-and-bias-vector" title="Permalink to this headline">¶</a></h4>
-<p>The parameter tensors are created with both <code class="docutils literal notranslate"><span class="pre">requires_grad</span></code> and <code class="docutils literal notranslate"><span class="pre">stores_grad</span></code> set to True.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">w0</span> <span class="o">=</span> <span class="n">Tensor</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">requires_grad</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n [...]
+<p>The parameter tensors are created with both <code class="docutils literal"><span class="pre">requires_grad</span></code> and <code class="docutils literal"><span class="pre">stores_grad</span></code> set to True.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">w0</span> <span class="o">=</span> <span class="n">Tensor</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">requires_grad</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">stores_gra [...]
<span class="n">w0</span><span class="o">.</span><span class="n">gaussian</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">)</span>
<span class="n">b0</span> <span class="o">=</span> <span class="n">Tensor</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">requires_grad</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">stores_grad</span><span class="o">=</span><span class="kc">True</span><span class= [...]
<span class="n">b0</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="mf">0.0</span><span class="p">)</span>
@@ -294,7 +290,7 @@
</div>
<div class="section" id="training">
<h4>Training<a class="headerlink" href="#training" title="Permalink to this headline">¶</a></h4>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">inputs</span> <span class="o">=</span> <span class="n">Tensor</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">data</span><span class="p">)</span> <span class="c1"># data matrix</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">inputs</span> <span class="o">=</span> <span class="n">Tensor</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">data</span><span class="p">)</span> <span class="c1"># data matrix</span>
<span class="n">target</span> <span class="o">=</span> <span class="n">Tensor</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">label</span><span class="p">)</span> <span class="c1"># label vector</span>
<span class="n">autograd</span><span class="o">.</span><span class="n">training</span> <span class="o">=</span> <span class="kc">True</span> <span class="c1"># for training</span>
<span class="n">sgd</span> <span class="o">=</span> <span class="n">opt</span><span class="o">.</span><span class="n">SGD</span><span class="p">(</span><span class="mf">0.05</span><span class="p">)</span> <span class="c1"># optimizer</span>
@@ -320,7 +316,7 @@
<p>The following <a class="reference external" href="https://github.com/apache/incubator-singa/blob/master/examples/autograd/mnist_cnn.py">example</a> implements a CNN model using layers provided by the autograd module.</p>
<div class="section" id="create-the-layers">
<h4>Create the layers<a class="headerlink" href="#create-the-layers" title="Permalink to this headline">¶</a></h4>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conv1</span> <span class="o">=</span> <span class="n">autograd</span><span class="o">.</span><span class="n">Conv2d</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="mi">1</span><span class="p"> [...]
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">conv1</span> <span class="o">=</span> <span class="n">autograd</span><span class="o">.</span><span class="n">Conv2d</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <sp [...]
<span class="n">bn1</span> <span class="o">=</span> <span class="n">autograd</span><span class="o">.</span><span class="n">BatchNorm2d</span><span class="p">(</span><span class="mi">32</span><span class="p">)</span>
<span class="n">pooling1</span> <span class="o">=</span> <span class="n">autograd</span><span class="o">.</span><span class="n">MaxPool2d</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">conv21</span> <span class="o">=</span> <span class="n">autograd</span><span class="o">.</span><span class="n">Conv2d</span><span class="p">(</span><span class="mi">32</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
@@ -334,7 +330,7 @@
<div class="section" id="define-the-forward-function">
<h4>Define the forward function<a class="headerlink" href="#define-the-forward-function" title="Permalink to this headline">¶</a></h4>
<p>The operations in the forward pass will be recorded automatically for backward propagation.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">forward</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">t</span><span class="p">):</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">forward</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">t</span><span class="p">):</span>
<span class="c1"># x is the input data (a batch of images)</span>
<span class="c1"># t the the label vector (a batch of integers)</span>
<span class="n">y</span> <span class="o">=</span> <span class="n">conv1</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="c1"># Conv layer </span>
@@ -359,7 +355,7 @@
</div>
<div class="section" id="id1">
<h4>Training<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h4>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">autograd</span><span class="o">.</span><span class="n">training</span> <span class="o">=</span> <span class="kc">True</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">autograd</span><span class="o">.</span><span class="n">training</span> <span class="o">=</span> <span class="kc">True</span>
<span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">epochs</span><span class="p">):</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">batch_number</span><span class="p">):</span>
<span class="n">inputs</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">Tensor</span><span class="p">(</span><span class="n">device</span><span class="o">=</span><span class="n">dev</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="n">x_train</span><span class="p">[</span>
@@ -386,10 +382,10 @@
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
- <a href="data.html" class="btn btn-neutral float-right" title="Data" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+ <a href="onnx.html" class="btn btn-neutral float-right" title="ONNX" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="optimizer.html" class="btn btn-neutral float-left" title="Optimizer" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="tensor.html" class="btn btn-neutral float-left" title="Tensor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
diff --git a/content/docs/benchmark.html b/content/docs/benchmark.html
index ea20021..daa62b8 100644
--- a/content/docs/benchmark.html
+++ b/content/docs/benchmark.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,8 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Device" href="device.html" />
- <link rel="prev" title="Software Stack" href="software_stack.html" />
+ <link rel="next" title="Model Zoo" href="model_zoo/index.html" />
+ <link rel="prev" title="ONNX" href="onnx.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -104,21 +113,11 @@
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
+<li class="toctree-l2"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
</ul>
</li>
@@ -127,9 +126,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -238,10 +234,10 @@
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
- <a href="device.html" class="btn btn-neutral float-right" title="Device" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+ <a href="model_zoo/index.html" class="btn btn-neutral float-right" title="Model Zoo" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="software_stack.html" class="btn btn-neutral float-left" title="Software Stack" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="onnx.html" class="btn btn-neutral float-left" title="ONNX" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
diff --git a/content/docs/cnn.html b/content/docs/cnn.html
index 68ef6b3..83c8bc4 100644
--- a/content/docs/cnn.html
+++ b/content/docs/cnn.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -204,26 +210,26 @@
<h2>Running instructions for CPP version<a class="headerlink" href="#running-instructions-for-cpp-version" title="Permalink to this headline">¶</a></h2>
<p>Please refer to <a class="reference external" href="installation.html">Installation</a> page for how to install SINGA. Currently, we CNN requires CUDNN, hence both CUDA and CUDNN should be installed and SINGA should be compiled with CUDA and CUDNN.</p>
<p>The Cifar10 dataset could be downloaded by running</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># switch to cifar10 directory
+<div class="highlight-default"><div class="highlight"><pre><span></span># switch to cifar10 directory
$ cd ../examples/cifar10
# download data for CPP version
$ python download_data.py bin
</pre></div>
</div>
-<p>‘bin’ is for downloading binary version of Cifar10 data.</p>
+<p>‘bin‘ is for downloading binary version of Cifar10 data.</p>
<p>During downloading, you should see the detailed output like</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> Downloading CIFAR10 from http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
+<div class="highlight-default"><div class="highlight"><pre><span></span> Downloading CIFAR10 from http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
The tar file does exist. Extracting it now..
Finished!
</pre></div>
</div>
-<p>Now you have prepared the data for this Cifar10 example, the final step is to execute the <code class="docutils literal notranslate"><span class="pre">run.sh</span></code> script,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># in SINGA_ROOT/examples/cifar10/
+<p>Now you have prepared the data for this Cifar10 example, the final step is to execute the <code class="docutils literal"><span class="pre">run.sh</span></code> script,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span># in SINGA_ROOT/examples/cifar10/
$ ./run.sh
</pre></div>
</div>
-<p>You should see the detailed output as follows: first read the data files in order, show the statistics of training and testing data, then show the details of neural net structure with some parameter information, finally illustrate the performance details during training and validation process. The number of epochs can be specified in <code class="docutils literal notranslate"><span class="pre">run.sh</span></code> file.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Start</span> <span class="n">training</span>
+<p>You should see the detailed output as follows: first read the data files in order, show the statistics of training and testing data, then show the details of neural net structure with some parameter information, finally illustrate the performance details during training and validation process. The number of epochs can be specified in <code class="docutils literal"><span class="pre">run.sh</span></code> file.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">Start</span> <span class="n">training</span>
<span class="n">Reading</span> <span class="n">file</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="nb">bin</span><span class="o">/</span><span class="n">data_batch_1</span><span class="o">.</span><span class="n">bin</span>
<span class="n">Reading</span> <span class="n">file</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="nb">bin</span><span class="o">/</span><span class="n">data_batch_2</span><span class="o">.</span><span class="n">bin</span>
<span class="n">Reading</span> <span class="n">file</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="nb">bin</span><span class="o">/</span><span class="n">data_batch_3</span><span class="o">.</span><span class="n">bin</span>
@@ -264,35 +270,35 @@ $ ./run.sh
<span class="n">Epoch</span> <span class="mi">3</span><span class="p">,</span> <span class="n">val</span> <span class="n">loss</span> <span class="o">=</span> <span class="mf">1.175346</span><span class="p">,</span> <span class="n">metric</span> <span class="o">=</span> <span class="mf">0.582000</span>
</pre></div>
</div>
-<p>The training details are stored in <code class="docutils literal notranslate"><span class="pre">train_perf</span></code> file in the same directory and the validation details in <code class="docutils literal notranslate"><span class="pre">val_perf</span></code> file.</p>
+<p>The training details are stored in <code class="docutils literal"><span class="pre">train_perf</span></code> file in the same directory and the validation details in <code class="docutils literal"><span class="pre">val_perf</span></code> file.</p>
</div>
<div class="section" id="running-instructions-for-python-version">
<h2>Running instructions for Python version<a class="headerlink" href="#running-instructions-for-python-version" title="Permalink to this headline">¶</a></h2>
<p>To run CNN example in Python version, we need to compile SINGA with Python binding,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ mkdir build && cd build
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ mkdir build && cd build
$ cmake -DUSE_PYTHON=ON ..
$ make
</pre></div>
</div>
<p>Now download the Cifar10 dataset,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># switch to cifar10 directory
+<div class="highlight-default"><div class="highlight"><pre><span></span># switch to cifar10 directory
$ cd ../examples/cifar10
# download data for Python version
$ python download_data.py py
</pre></div>
</div>
<p>During downloading, you should see the detailed output like</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> Downloading CIFAR10 from http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
+<div class="highlight-default"><div class="highlight"><pre><span></span> Downloading CIFAR10 from http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
The tar file does exist. Extracting it now..
Finished!
</pre></div>
</div>
-<p>Then execute the <code class="docutils literal notranslate"><span class="pre">train.py</span></code> script to build the model</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ python train.py
+<p>Then execute the <code class="docutils literal"><span class="pre">train.py</span></code> script to build the model</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ python train.py
</pre></div>
</div>
<p>You should see the output as follows including the details of neural net structure with some parameter information, reading data files, and the performance details during training and testing process.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="mi">32</span><span class="n">L</span><span class="p">,</span> <span class="mi">32</span><span class="n">L</span><span class="p">,</span> <span class="mi">32</span><span class="n">L</span><span class="p">)</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="p">(</span><span class="mi">32</span><span class="n">L</span><span class="p">,</span> <span class="mi">32</span><span class="n">L</span><span class="p">,</span> <span class="mi">32</span><span class="n">L</span><span class="p">)</span>
<span class="p">(</span><span class="mi">32</span><span class="n">L</span><span class="p">,</span> <span class="mi">16</span><span class="n">L</span><span class="p">,</span> <span class="mi">16</span><span class="n">L</span><span class="p">)</span>
<span class="p">(</span><span class="mi">32</span><span class="n">L</span><span class="p">,</span> <span class="mi">16</span><span class="n">L</span><span class="p">,</span> <span class="mi">16</span><span class="n">L</span><span class="p">)</span>
<span class="p">(</span><span class="mi">32</span><span class="n">L</span><span class="p">,</span> <span class="mi">16</span><span class="n">L</span><span class="p">,</span> <span class="mi">16</span><span class="n">L</span><span class="p">)</span>
@@ -334,8 +340,8 @@ $ python download_data.py py
<span class="n">test</span> <span class="n">loss</span> <span class="o">=</span> <span class="mf">1.211573</span><span class="p">,</span> <span class="n">test</span> <span class="n">accuracy</span> <span class="o">=</span> <span class="mf">0.567600</span>
</pre></div>
</div>
-<p>This script will call <code class="docutils literal notranslate"><span class="pre">alexnet.py</span></code> file to build the alexnet model. After the training is finished, SINGA will save the model parameters into a checkpoint file <code class="docutils literal notranslate"><span class="pre">model.bin</span></code> in the same directory. Then we can use this <code class="docutils literal notranslate"><span class="pre">model.bin</span></code> file for prediction.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ python predict.py
+<p>This script will call <code class="docutils literal"><span class="pre">alexnet.py</span></code> file to build the alexnet model. After the training is finished, SINGA will save the model parameters into a checkpoint file <code class="docutils literal"><span class="pre">model.bin</span></code> in the same directory. Then we can use this <code class="docutils literal"><span class="pre">model.bin</span></code> file for prediction.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ python predict.py
</pre></div>
</div>
</div>
diff --git a/content/docs/converter.html b/content/docs/converter.html
index 6b14791..9ec1c46 100644
--- a/content/docs/converter.html
+++ b/content/docs/converter.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,6 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Utils" href="utils.html" />
- <link rel="prev" title="Snapshot" href="snapshot.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -100,36 +107,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -185,8 +169,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Caffe Converter</li>
@@ -204,8 +186,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="module-singa.converter">
-<span id="caffe-converter"></span><h1>Caffe Converter<a class="headerlink" href="#module-singa.converter" title="Permalink to this headline">¶</a></h1>
+ <div class="section" id="caffe-converter">
+<h1>Caffe Converter<a class="headerlink" href="#caffe-converter" title="Permalink to this headline">¶</a></h1>
</div>
@@ -214,15 +196,6 @@
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="utils.html" class="btn btn-neutral float-right" title="Utils" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="snapshot.html" class="btn btn-neutral float-left" title="Snapshot" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
diff --git a/content/docs/data.html b/content/docs/data.html
index ac2d40f..b56be4a 100644
--- a/content/docs/data.html
+++ b/content/docs/data.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,6 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Image Tool" href="image_tool.html" />
- <link rel="prev" title="Autograd in Singa" href="autograd.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -100,36 +107,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -185,8 +169,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Data</li>
@@ -204,66 +186,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="module-singa.data">
-<span id="data"></span><h1>Data<a class="headerlink" href="#module-singa.data" title="Permalink to this headline">¶</a></h1>
-<p>This module includes classes for loading and prefetching data batches.</p>
-<p>Example usage:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">image_tool</span>
-<span class="kn">from</span> <span class="nn">PIL</span> <span class="k">import</span> <span class="n">Image</span>
-
-<span class="n">tool</span> <span class="o">=</span> <span class="n">image_tool</span><span class="o">.</span><span class="n">ImageTool</span><span class="p">()</span>
-
-<span class="k">def</span> <span class="nf">image_transform</span><span class="p">(</span><span class="n">img_path</span><span class="p">):</span>
- <span class="k">global</span> <span class="n">tool</span>
- <span class="k">return</span> <span class="n">tool</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">img_path</span><span class="p">)</span><span class="o">.</span><span class="n">resize_by_range</span><span class="p">(</span>
- <span class="p">(</span><span class="mi">112</span><span class="p">,</span> <span class="mi">128</span><span class="p">))</span><span class="o">.</span><span class="n">random_crop</span><span class="p">(</span>
- <span class="p">(</span><span class="mi">96</span><span class="p">,</span> <span class="mi">96</span><span class="p">))</span><span class="o">.</span><span class="n">flip</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
-
-<span class="n">data</span> <span class="o">=</span> <span class="n">ImageBatchIter</span><span class="p">(</span><span class="s1">'train.txt'</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span>
- <span class="n">image_transform</span><span class="p">,</span> <span class="n">shuffle</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="s1">','</span><span class="p">,</span>
- <span class="n">image_folder</span><span class="o">=</span><span class="s1">'images/'</span><span class="p">,</span>
- <span class="n">capacity</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
-<span class="n">data</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
-<span class="c1"># imgs is a numpy array for a batch of images,</span>
-<span class="c1"># shape: batch_size, 3 (RGB), height, width</span>
-<span class="n">imgs</span><span class="p">,</span> <span class="n">labels</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-
-<span class="c1"># convert numpy array back into images</span>
-<span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">imgs</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span>
- <span class="n">img</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">fromarray</span><span class="p">(</span><span class="n">imgs</span><span class="p">[</span><span class="n">idx</span><span class="p">]</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">uint8</span><span class="p">)</span><span class="o">.</span><span class="n">transpose [...]
- <span class="s1">'RGB'</span><span class="p">)</span>
- <span class="n">img</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s1">'img</span><span class="si">%d</span><span class="s1">.png'</span> <span class="o">%</span> <span class="n">idx</span><span class="p">)</span>
-<span class="n">data</span><span class="o">.</span><span class="n">end</span><span class="p">()</span>
-</pre></div>
-</div>
-<dl class="class">
-<dt id="singa.data.ImageBatchIter">
-<em class="property">class </em><code class="descclassname">singa.data.</code><code class="descname">ImageBatchIter</code><span class="sig-paren">(</span><em>img_list_file</em>, <em>batch_size</em>, <em>image_transform</em>, <em>shuffle=True</em>, <em>delimiter=' '</em>, <em>image_folder=None</em>, <em>capacity=10</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.data.ImageBatchIter" title="Permalink to this definition">¶</a></dt>
-<dd><p>Utility for iterating over an image dataset to get mini-batches.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>img_list_file</strong> (<em>str</em>) – name of the file containing image meta data; each
-line consists of image_path_suffix delimiter meta_info,
-where meta info could be label index or label strings, etc.
-meta_info should not contain the delimiter. If the meta_info
-of each image is just the label index, then we will parse the
-label index into a numpy array with length=batchsize
-(for compatibility); otherwise, we return a list of meta_info;
-if meta info is available, we return a list of None.</p></li>
-<li><p><strong>batch_size</strong> (<em>int</em>) – num of samples in one mini-batch</p></li>
-<li><p><strong>image_transform</strong> – a function for image augmentation; it accepts the full
-image path and outputs a list of augmented images.</p></li>
-<li><p><strong>shuffle</strong> (<em>boolean</em>) – True for shuffling images in the list</p></li>
-<li><p><strong>delimiter</strong> (<em>char</em>) – delimiter between image_path_suffix and label, e.g.,
-space or comma</p></li>
-<li><p><strong>image_folder</strong> (<em>boolean</em>) – prefix of the image path</p></li>
-<li><p><strong>capacity</strong> (<em>int</em>) – the max num of mini-batches in the internal queue.</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
+ <div class="section" id="data">
+<h1>Data<a class="headerlink" href="#data" title="Permalink to this headline">¶</a></h1>
</div>
@@ -272,15 +196,6 @@ space or comma</p></li>
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="image_tool.html" class="btn btn-neutral float-right" title="Image Tool" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="autograd.html" class="btn btn-neutral float-left" title="Autograd in Singa" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
diff --git a/content/docs/dependencies.html b/content/docs/dependencies.html
index a559590..f8565ef 100644
--- a/content/docs/dependencies.html
+++ b/content/docs/dependencies.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -206,7 +212,7 @@ windows system from source codes. The following instructions ONLY work for Visua
previous VS does not support <a class="reference external" href="https://msdn.microsoft.com/en-us/library/hh567368.aspx">C++11 features</a> well (including generic lambdas, auto, non-static
data member initializers). If you intend to generate a 32-bit/64-bit singa solution, please configure all the
VS projects for the dependent libraries as 32-bit/64-bit. This can be done by
-“Configuration Manager” in VS 2015 or use corresponding generator in cmake. When compiling the following libraries, you
+“Configuration Manager“ in VS 2015 or use corresponding generator in cmake. When compiling the following libraries, you
may get system-specific warnings/errors. Please fix them according to the
prompts by VS.</p>
<div class="section" id="google-logging">
@@ -214,12 +220,12 @@ prompts by VS.</p>
<p>The glog library is an optional library for singa project. But it is currently necessary for Window compilation.
Since the latest release version of glog will encounter error C2084 on sprintf function
under VS2015, we test the compilation and installation using the master branch from <a class="reference external" href="https://github.com/google/glog">github</a>.</p>
-<p>Step 1: Download and decompress the source code. Or use <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">clone</span> <span class="pre">https://github.com/google/glog</span></code> to get the code.</p>
-<p>Step 2: Open “glog.sln” file under project folder. You will get a conversion
+<p>Step 1: Download and decompress the source code. Or use <code class="docutils literal"><span class="pre">git</span> <span class="pre">clone</span> <span class="pre">https://github.com/google/glog</span></code> to get the code.</p>
+<p>Step 2: Open “glog.sln“ file under project folder. You will get a conversion
dialog and please finish it by the prompts. Compile all the projects in the solution after
-proper configuration, especially “libglog” and “libglog_static” projects.</p>
-<p>Step 3: Copy all the header files and the entire directory named “glog” under
-“src\windows” folder into the installation include folder (or system folder).
+proper configuration, especially “libglog“ and “libglog_static“ projects.</p>
+<p>Step 3: Copy all the header files and the entire directory named “glog“ under
+“src\windows“ folder into the installation include folder (or system folder).
Copy all the generated library files into the installation library folder (or
system folder).</p>
<p>Step 4: Done.</p>
@@ -228,16 +234,16 @@ system folder).</p>
<h3>Google protobuf<a class="headerlink" href="#google-protobuf" title="Permalink to this headline">¶</a></h3>
<p>Tested on version 2.6.1:</p>
<p>Step 1: Download and decompress the source code.</p>
-<p>Step 2: Open “protobuf.sln” file under “vsprojects” folder. You will get a conversion
+<p>Step 2: Open “protobuf.sln“ file under “vsprojects“ folder. You will get a conversion
dialog and please finish it by the prompts. Compile all the projects in the solution after proper
-configuration. Especially “libprotobuf”, “libprotobuf-lite”, “libprotoc” and
-“protoc” projects.</p>
-<p>Step 3: Run “extract_includes.bat” script under “vsprojects” folder, you will
-get a new “include” folder with all the headers.</p>
-<p>Step 4: Copy the library files, such as “libprotobuf.lib”,
-“libprotobuf-lite.lib”, “libprotoc.lib”, etc., into your installation library folder (or
-system folder). Copy the binary file “protoc” into your installation binary
-folder (or system folder). Copy all the headers and folders in “include” folder into your
+configuration. Especially “libprotobuf“, “libprotobuf-lite“, “libprotoc“ and
+“protoc“ projects.</p>
+<p>Step 3: Run “extract_includes.bat“ script under “vsprojects“ folder, you will
+get a new “include“ folder with all the headers.</p>
+<p>Step 4: Copy the library files, such as “libprotobuf.lib“,
+“libprotobuf-lite.lib“, “libprotoc.lib“, etc., into your installation library folder (or
+system folder). Copy the binary file “protoc“ into your installation binary
+folder (or system folder). Copy all the headers and folders in “include“ folder into your
installation include folder (or system folder).</p>
<p>Step 5: Done.</p>
</div>
@@ -249,14 +255,14 @@ OpenBLAS with version 0.2.18 as test:</p>
<p>Step 1: Download and decompress the source code.</p>
<p>Step 2: Start a cmd window under the OpenBLAS folder then run the following
commands to generate the solution:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ md build $$ cd build
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ md build $$ cd build
$ cmake -G "Visual Studio 14" ..
</pre></div>
</div>
-<p>Or run <code class="docutils literal notranslate"><span class="pre">cmake</span> <span class="pre">-G</span> <span class="pre">"Visual</span> <span class="pre">Studio</span> <span class="pre">14</span> <span class="pre">Win64"</span></code> as you wish.</p>
-<p>Step 3: Install Perl into your system and put perl.exe on your path. Open “OpenBlas.sln” and build the solution, especially “libopenblas”
+<p>Or run <code class="docutils literal"><span class="pre">cmake</span> <span class="pre">-G</span> <span class="pre">"Visual</span> <span class="pre">Studio</span> <span class="pre">14</span> <span class="pre">Win64"</span></code> as you wish.</p>
+<p>Step 3: Install Perl into your system and put perl.exe on your path. Open “OpenBlas.sln“ and build the solution, especially “libopenblas“
project.</p>
-<p>Step 4: Copy the library files under “build\lib” folder and all header files
+<p>Step 4: Copy the library files under “build\lib“ folder and all header files
under OpenBLAS folder into installation library and include folders (or system
folders).</p>
<p>Step 5: Done.</p>
@@ -265,11 +271,11 @@ folders).</p>
<div class="section" id="faq">
<h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h2>
<ol>
-<li><p>Error C2375 ‘snprintf’: redefinition; different linkage</p>
+<li><p class="first">Error C2375 ‘snprintf‘: redefinition; different linkage</p>
<p>Add “HAVE_SNPRINTF” to “C/C++ - Preprocessor - Preprocessor definitions”</p>
</li>
-<li><p>Error due to hash map</p>
-<p>Add “_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS” to Preprocessor Definitions.</p>
+<li><p class="first">Error due to hash map</p>
+<p>Add “_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS“ to Preprocessor Definitions.</p>
</li>
</ol>
</div>
diff --git a/content/docs/device.html b/content/docs/device.html
index a9a007d..dc222f8 100644
--- a/content/docs/device.html
+++ b/content/docs/device.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -37,7 +46,7 @@
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Tensor" href="tensor.html" />
- <link rel="prev" title="Benchmark for Distributed training" href="benchmark.html" />
+ <link rel="prev" title="Software Stack" href="software_stack.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -104,26 +113,16 @@
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Device</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#specific-devices">Specific devices</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#module-singa.device">Python API</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#python-api">Python API</a></li>
<li class="toctree-l3"><a class="reference internal" href="#cpp-api">CPP API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
+<li class="toctree-l2"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
</ul>
</li>
@@ -132,9 +131,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -213,58 +209,21 @@
<h1>Device<a class="headerlink" href="#device" title="Permalink to this headline">¶</a></h1>
<p>The Device abstract represents any hardware device with memory and compuation units.
All [Tensor operations](tensor.html) are scheduled by the resident device for execution.
-Tensor memory is also managed by the device’s memory manager. Therefore, optimization
+Tensor memory is also managed by the device’s memory manager. Therefore, optimization
of memory and execution are implemented in the Device class.</p>
<div class="section" id="specific-devices">
<h2>Specific devices<a class="headerlink" href="#specific-devices" title="Permalink to this headline">¶</a></h2>
<p>Currently, SINGA has three Device implmentations,</p>
<ol class="arabic simple">
-<li><p>CudaGPU for an Nvidia GPU card which runs Cuda code</p></li>
-<li><p>CppCPU for a CPU which runs Cpp code</p></li>
-<li><p>OpenclGPU for a GPU card which runs OpenCL code</p></li>
+<li>CudaGPU for an Nvidia GPU card which runs Cuda code</li>
+<li>CppCPU for a CPU which runs Cpp code</li>
+<li>OpenclGPU for a GPU card which runs OpenCL code</li>
</ol>
</div>
-<div class="section" id="module-singa.device">
-<span id="python-api"></span><h2>Python API<a class="headerlink" href="#module-singa.device" title="Permalink to this headline">¶</a></h2>
-<p>This script includes Device class and its subclasses for python users
-to call singa::Device and its methods.</p>
-<p>TODO(wangwei) implement py CudaGPU class.</p>
-<dl class="function">
-<dt id="singa.device.create_cuda_gpus">
-<code class="descclassname">singa.device.</code><code class="descname">create_cuda_gpus</code><span class="sig-paren">(</span><em>num</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.device.create_cuda_gpus" title="Permalink to this definition">¶</a></dt>
-<dd><p>Create a list of CudaGPU devices.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>num</strong> (<em>int</em>) – number of device to create.</p>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a list of swig converted CudaGPU devices.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.device.create_cuda_gpus_on">
-<code class="descclassname">singa.device.</code><code class="descname">create_cuda_gpus_on</code><span class="sig-paren">(</span><em>device_ids</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.device.create_cuda_gpus_on" title="Permalink to this definition">¶</a></dt>
-<dd><p>Create a list of CudaGPU devices.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>device_ids</strong> (<em>list</em>) – a list of GPU card IDs.</p>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a list of swig converted CudaGPU devices.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.device.get_default_device">
-<code class="descclassname">singa.device.</code><code class="descname">get_default_device</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.device.get_default_device" title="Permalink to this definition">¶</a></dt>
-<dd><p>Get the default host device which is a CppCPU device</p>
-</dd></dl>
-
+<div class="section" id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Permalink to this headline">¶</a></h2>
<p>The following code provides examples of creating devices:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">device</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">device</span>
<span class="n">cuda</span> <span class="o">=</span> <span class="n">device</span><span class="o">.</span><span class="n">create_cuda_gpu_on</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="c1"># use GPU card of ID 0</span>
<span class="n">host</span> <span class="o">=</span> <span class="n">device</span><span class="o">.</span><span class="n">get_default_device</span><span class="p">()</span> <span class="c1"># get the default host device (a CppCPU)</span>
<span class="n">ary1</span> <span class="o">=</span> <span class="n">device</span><span class="o">.</span><span class="n">create_cuda_gpus</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c1"># create 2 devices, starting from ID 0</span>
@@ -288,7 +247,7 @@ to call singa::Device and its methods.</p>
<a href="tensor.html" class="btn btn-neutral float-right" title="Tensor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="benchmark.html" class="btn btn-neutral float-left" title="Benchmark for Distributed training" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="software_stack.html" class="btn btn-neutral float-left" title="Software Stack" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
diff --git a/content/docs/docker.html b/content/docs/docker.html
index 0a36616..1efc762 100644
--- a/content/docs/docker.html
+++ b/content/docs/docker.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -202,52 +208,52 @@
<div class="section" id="available-tags">
<h2>Available tags<a class="headerlink" href="#available-tags" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">devel</span></code>, with SINGA and the development packages installed on Ubuntu16.04 (no GPU)</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">devel-cuda</span></code>, with SINGA, CUDA8.0, CUDNN5, and other development packages installed on Ubuntu16.04</p></li>
+<li><code class="docutils literal"><span class="pre">devel</span></code>, with SINGA and the development packages installed on Ubuntu16.04 (no GPU)</li>
+<li><code class="docutils literal"><span class="pre">devel-cuda</span></code>, with SINGA, CUDA8.0, CUDNN5, and other development packages installed on Ubuntu16.04</li>
</ul>
</div>
<div class="section" id="use-the-existing-docker-images">
<h2>Use the existing Docker images<a class="headerlink" href="#use-the-existing-docker-images" title="Permalink to this headline">¶</a></h2>
<p>Users can pull the Docker images from Dockerhub via</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">pull</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="n">devel</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">pull</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="n">devel</span>
<span class="c1"># or</span>
<span class="n">docker</span> <span class="n">pull</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="n">devel</span><span class="o">-</span><span class="n">cuda</span>
</pre></div>
</div>
<p>Run the docker container using</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">it</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="n">devel</span> <span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">bash</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">it</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="n">devel</span> <span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">bash</span>
<span class="c1"># or</span>
<span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">it</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="n">devel</span><span class="o">-</span><span class="n">cuda</span> <span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">bash</span>
</pre></div>
</div>
-<p>The latest SINGA code is under the <code class="docutils literal notranslate"><span class="pre">incubator-singa</span></code> folder.</p>
+<p>The latest SINGA code is under the <code class="docutils literal"><span class="pre">incubator-singa</span></code> folder.</p>
</div>
<div class="section" id="create-new-docker-images-from-dockerfile">
<h2>Create new Docker images from Dockerfile<a class="headerlink" href="#create-new-docker-images-from-dockerfile" title="Permalink to this headline">¶</a></h2>
<p>New Docker images could be created by executing the following command within the
Dockerfile folder, e.g., tool/docker/devel/</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">build</span> <span class="o">-</span><span class="n">t</span> <span class="n">singa</span><span class="p">:</span><span class="o"><</span><span class="n">TAG</span><span class="o">></span> <span class="o">-</span><span class="n">f</span> <span class="n">Dockerfile</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">build</span> <span class="o">-</span><span class="n">t</span> <span class="n">singa</span><span class="p">:</span><span class="o"><</span><span class="n">TAG</span><span class="o">></span> <span class="o">-</span><span class="n">f</span> <span class="n">Dockerfile</span>
</pre></div>
</div>
-<p>The <code class="docutils literal notranslate"><span class="pre"><TAG></span></code> is named as</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">devel</span><span class="o">|</span><span class="n">runtime</span><span class="p">[</span><span class="o">-</span><span class="n">CUDA</span><span class="o">|</span><span class="n">CPU</span><span class="p">][</span><span class="o">-</span><span class="n">CUDNN</span><span class="p">]</span>
+<p>The <code class="docutils literal"><span class="pre"><TAG></span></code> is named as</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">devel</span><span class="o">|</span><span class="n">runtime</span><span class="p">[</span><span class="o">-</span><span class="n">CUDA</span><span class="o">|</span><span class="n">CPU</span><span class="p">][</span><span class="o">-</span><span class="n">CUDNN</span><span class="p">]</span>
</pre></div>
</div>
<ul class="simple">
-<li><p>devel: development images with all dependent libs’ header files installed and SINGA’s source code; runtime: the minimal images which can run SINGA programs.</p></li>
-<li><p>CUDA: cuda10.0, cuda9.0</p></li>
-<li><p>CUDNN: cudnn7</p></li>
+<li>devel: development images with all dependent libs‘ header files installed and SINGA‘s source code; runtime: the minimal images which can run SINGA programs.</li>
+<li>CUDA: cuda10.0, cuda9.0</li>
+<li>CUDNN: cudnn7</li>
</ul>
<p>Here are some example tags:</p>
-<p><code class="docutils literal notranslate"><span class="pre">devel-cuda9-cudnn7</span></code>, <code class="docutils literal notranslate"><span class="pre">devel-cuda9-cudnn7</span></code>, <code class="docutils literal notranslate"><span class="pre">devel-cuda10-cudnn7</span></code>, <code class="docutils literal notranslate"><span class="pre">devel-cpu</span></code>, <code class="docutils literal notranslate"><span class="pre">runtime-gpu</span></code> and <code class="docutils lite [...]
+<p><code class="docutils literal"><span class="pre">devel-cuda9-cudnn7</span></code>, <code class="docutils literal"><span class="pre">devel-cuda9-cudnn7</span></code>, <code class="docutils literal"><span class="pre">devel-cuda10-cudnn7</span></code>, <code class="docutils literal"><span class="pre">devel-cpu</span></code>, <code class="docutils literal"><span class="pre">runtime-gpu</span></code> and <code class="docutils literal"><span class="pre">runtime-cpu</span></code></p>
<p>Please follow the existing Dockefiles under tool/docker/ to create other Dockefiles.
The folder structure is like</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">level1</span><span class="p">:</span> <span class="n">devel</span><span class="o">|</span><span class="n">runtime</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">level1</span><span class="p">:</span> <span class="n">devel</span><span class="o">|</span><span class="n">runtime</span>
<span class="n">level2</span><span class="p">:</span> <span class="n">Dockerfile</span><span class="p">,</span> <span class="n">OS</span>
<span class="n">level3</span><span class="p">:</span> <span class="n">Dockerfile</span><span class="p">,</span> <span class="n">CUDA</span><span class="o">|</span><span class="n">MKLDNN</span>
</pre></div>
</div>
-<p>For example, the path of the Dockerfile for <code class="docutils literal notranslate"><span class="pre">devel-cuda9-cudnn7</span></code> is <code class="docutils literal notranslate"><span class="pre">tool/docker/devel/ubuntu/cuda9/Dockerfile</span></code>.</p>
+<p>For example, the path of the Dockerfile for <code class="docutils literal"><span class="pre">devel-cuda9-cudnn7</span></code> is <code class="docutils literal"><span class="pre">tool/docker/devel/ubuntu/cuda9/Dockerfile</span></code>.</p>
</div>
</div>
diff --git a/content/docs/image_tool.html b/content/docs/image_tool.html
index 2bf3228..76bfee4 100644
--- a/content/docs/image_tool.html
+++ b/content/docs/image_tool.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,6 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Snapshot" href="snapshot.html" />
- <link rel="prev" title="Data" href="data.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -100,36 +107,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -185,8 +169,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Image Tool</li>
@@ -204,281 +186,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="module-singa.image_tool">
-<span id="image-tool"></span><h1>Image Tool<a class="headerlink" href="#module-singa.image_tool" title="Permalink to this headline">¶</a></h1>
-<p>An utility model for image augmentation.</p>
-<p>Example usage:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">image_tool</span>
-
-<span class="n">tool</span> <span class="o">=</span> <span class="n">image_tool</span><span class="o">.</span><span class="n">ImageTool</span><span class="p">()</span>
-<span class="n">imgs</span> <span class="o">=</span> <span class="n">tool</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="s1">'input.png'</span><span class="p">)</span><span class="o">.</span> <span class="n">resize_by_list</span><span class="p">([</span><span class="mi">112</span><span class="p">])</span><span class="o">.</span><span class="n">crop5</span><span class="p">((</span><span class="mi">96</span><span class="p">,</sp [...]
-<span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">img</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">imgs</span><span class="p">):</span>
- <span class="n">img</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s1">'</span><span class="si">%d</span><span class="s1">.png'</span> <span class="o">%</span> <span class="n">idx</span><span class="p">)</span>
-</pre></div>
-</div>
-<dl class="class">
-<dt id="singa.image_tool.ImageTool">
-<em class="property">class </em><code class="descclassname">singa.image_tool.</code><code class="descname">ImageTool</code><a class="headerlink" href="#singa.image_tool.ImageTool" title="Permalink to this definition">¶</a></dt>
-<dd><p>A tool for image augmentation.</p>
-<p>For operations with inplace=True, the returned value is the ImageTool
-instance self, which is for chaining multiple operations; Otherwise, the
-preprocessed images would be returned.</p>
-<p>For operations that has countable pre-processing cases, argument num_case
-could be set to decide the number of pre-processing cases to apply.
-Typically, it is set to 1 for training phases and to the max for test
-phases.</p>
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.color_cast">
-<code class="descname">color_cast</code><span class="sig-paren">(</span><em>offset=20</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.color_cast" title="Permalink to this definition">¶</a></dt>
-<dd><p>Add a random value from [-offset, offset] to each channel</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>offset</strong> – cast offset, >0 and <255</p></li>
-<li><p><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.crop3">
-<code class="descname">crop3</code><span class="sig-paren">(</span><em>patch</em>, <em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.crop3" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crop a max square patch of the input image at given position and
-scale it into given size.</p>
-<p>According to img size, crop position could be either
-(left, center, right) or (top, middle, bottom).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>patch</strong> (<em>tuple</em>) – the width and height the output image</p></li>
-<li><p><strong>num_case</strong> – num of cases, must be in [1,3]</p></li>
-<li><p><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.crop5">
-<code class="descname">crop5</code><span class="sig-paren">(</span><em>patch</em>, <em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.crop5" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crop at positions from [left_top, left_bottom, right_top,
-right_bottom, and center].</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>patch</strong> (<em>tuple</em>) – width and height of the result image.</p></li>
-<li><p><strong>num_case</strong> – num of cases, must be in [1,5]</p></li>
-<li><p><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.crop8">
-<code class="descname">crop8</code><span class="sig-paren">(</span><em>patch</em>, <em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.crop8" title="Permalink to this definition">¶</a></dt>
-<dd><p>This is a union of patch_5 and patch_and_scale.</p>
-<p>You can follow this example to union any num of cases of imgtool methods</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.enhance">
-<code class="descname">enhance</code><span class="sig-paren">(</span><em>scale=0.2</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.enhance" title="Permalink to this definition">¶</a></dt>
-<dd><p>Apply random enhancement for Color,Contrast,Brightness,Sharpness.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>scale</strong> (<em>float</em>) – enhancement degree is from [1-scale, 1+scale]</p></li>
-<li><p><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.flip">
-<code class="descname">flip</code><span class="sig-paren">(</span><em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.flip" title="Permalink to this definition">¶</a></dt>
-<dd><p>Randomly flip a img left to right.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>num_case</strong> – num of cases, must be in {1,2}; if 2, then add the orignal
-and flipped img</p></li>
-<li><p><strong>inplace</strong> – inplace imgs or not (return new_imgs)</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.flip_down">
-<code class="descname">flip_down</code><span class="sig-paren">(</span><em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.flip_down" title="Permalink to this definition">¶</a></dt>
-<dd><p>Randomly flip a img top to bottom.
-:param num_case: num of cases, must be in {1,2}; if 2, then add the orignal</p>
-<blockquote>
-<div><p>and flip_down img</p>
-</div></blockquote>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>inplace</strong> – inplace imgs or not (return new_imgs)</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.num_augmentation">
-<code class="descname">num_augmentation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.num_augmentation" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return the total number of augmentations to each image</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.random_crop">
-<code class="descname">random_crop</code><span class="sig-paren">(</span><em>patch</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.random_crop" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crop the image at random offset to get a patch of the given size.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>patch</strong> (<em>tuple</em>) – width and height of the patch</p></li>
-<li><p><strong>inplace</strong> (<em>Boolean</em>) – replace the internal images list with the patches
-if True; otherwise, return the patches.</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.random_crop_resize">
-<code class="descname">random_crop_resize</code><span class="sig-paren">(</span><em>patch</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.random_crop_resize" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="simple">
-<dt>Crop of the image at a random size between 0.08 to 1 of input image</dt><dd><p>and random aspect ratio between 3/4 to 4/3.
-This crop is then resized to the given patch size.</p>
-</dd>
-</dl>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>patch</strong> (<em>tuple</em>) – width and height of the patch</p></li>
-<li><p><strong>inplace</strong> (<em>Boolean</em>) – replace the internal images list with the patches
-if True; otherwise, return the patches.</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.resize_by_list">
-<code class="descname">resize_by_list</code><span class="sig-paren">(</span><em>size_list</em>, <em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.resize_by_list" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>num_case</strong> – num of resize cases, must be <= the length of size_list</p></li>
-<li><p><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.resize_by_range">
-<code class="descname">resize_by_range</code><span class="sig-paren">(</span><em>rng</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.resize_by_range" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>rng</strong> – a tuple (begin,end), include begin, exclude end</p></li>
-<li><p><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.rotate_by_list">
-<code class="descname">rotate_by_list</code><span class="sig-paren">(</span><em>angle_list</em>, <em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.rotate_by_list" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>num_case</strong> – num of rotate cases, must be <= the length of angle_list</p></li>
-<li><p><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.rotate_by_range">
-<code class="descname">rotate_by_range</code><span class="sig-paren">(</span><em>rng</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.rotate_by_range" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>rng</strong> – a tuple (begin,end) in degree, include begin, exclude end</p></li>
-<li><p><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.color_cast">
-<code class="descclassname">singa.image_tool.</code><code class="descname">color_cast</code><span class="sig-paren">(</span><em>img</em>, <em>offset</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.color_cast" title="Permalink to this definition">¶</a></dt>
-<dd><p>Add a random value from [-offset, offset] to each channel</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.crop">
-<code class="descclassname">singa.image_tool.</code><code class="descname">crop</code><span class="sig-paren">(</span><em>img</em>, <em>patch</em>, <em>position</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.crop" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crop the input image into given size at given position.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>patch</strong> (<em>tuple</em>) – width and height of the patch</p></li>
-<li><p><strong>position</strong> (<em>list</em><em>(</em><em>str</em><em>)</em>) – left_top, left_bottom, right_top, right_bottom</p></li>
-<li><p><strong>center.</strong> (<em>and</em>) – </p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.crop_and_resize">
-<code class="descclassname">singa.image_tool.</code><code class="descname">crop_and_resize</code><span class="sig-paren">(</span><em>img</em>, <em>patch</em>, <em>position</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.crop_and_resize" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crop a max square patch of the input image at given position and resize
-it into given size.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>patch</strong> (<em>tuple</em>) – width, height</p></li>
-<li><p><strong>position</strong> (<em>list</em><em>(</em><em>str</em><em>)</em>) – left, center, right, top, middle, bottom.</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.enhance">
-<code class="descclassname">singa.image_tool.</code><code class="descname">enhance</code><span class="sig-paren">(</span><em>img</em>, <em>scale</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.enhance" title="Permalink to this definition">¶</a></dt>
-<dd><p>Apply random enhancement for Color,Contrast,Brightness,Sharpness.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>scale</strong> (<em>float</em>) – enhancement degree is from [1-scale, 1+scale]</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.load_img">
-<code class="descclassname">singa.image_tool.</code><code class="descname">load_img</code><span class="sig-paren">(</span><em>path</em>, <em>grayscale=False</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.load_img" title="Permalink to this definition">¶</a></dt>
-<dd><p>Read the image from a give path</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.resize">
-<code class="descclassname">singa.image_tool.</code><code class="descname">resize</code><span class="sig-paren">(</span><em>img</em>, <em>small_size</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.resize" title="Permalink to this definition">¶</a></dt>
-<dd><p>Resize the image to make the smaller side be at the given size</p>
-</dd></dl>
-
+ <div class="section" id="image-tool">
+<h1>Image Tool<a class="headerlink" href="#image-tool" title="Permalink to this headline">¶</a></h1>
</div>
@@ -487,15 +196,6 @@ it into given size.</p>
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="snapshot.html" class="btn btn-neutral float-right" title="Snapshot" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="data.html" class="btn btn-neutral float-left" title="Data" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
diff --git a/content/docs/index.html b/content/docs/index.html
index f5a82e6..c7551c3 100644
--- a/content/docs/index.html
+++ b/content/docs/index.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -104,21 +113,11 @@
<li class="toctree-l1 current"><a class="current reference internal" href="#">Documentation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
+<li class="toctree-l2"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
</ul>
</li>
@@ -127,9 +126,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -208,21 +204,8 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="installation.html#from-conda">From Conda</a></li>
-<li class="toctree-l2"><a class="reference internal" href="installation.html#from-source">From source</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="installation.html#use-conda-to-build-singa">Use Conda to build SINGA</a></li>
-<li class="toctree-l3"><a class="reference internal" href="installation.html#use-native-tools-to-build-singa-on-ubuntu">Use native tools to build SINGA on Ubuntu</a></li>
-<li class="toctree-l3"><a class="reference internal" href="installation.html#compile-singa-on-windows">Compile SINGA on Windows</a></li>
-<li class="toctree-l3"><a class="reference internal" href="installation.html#more-details-about-the-compilation-options">More details about the compilation options</a></li>
-<li class="toctree-l3"><a class="reference internal" href="installation.html#use-modules">USE_MODULES</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="installation.html#use-python">USE_PYTHON</a></li>
-<li class="toctree-l4"><a class="reference internal" href="installation.html#use-cuda">USE_CUDA</a></li>
-<li class="toctree-l4"><a class="reference internal" href="installation.html#use-opencl">USE_OPENCL</a></li>
-<li class="toctree-l4"><a class="reference internal" href="installation.html#use-mkldnn">USE_MKLDNN</a></li>
-<li class="toctree-l4"><a class="reference internal" href="installation.html#package">PACKAGE</a></li>
-</ul>
-</li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#using-docker">Using Docker</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#from-source">From source</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation.html#faq">FAQ</a></li>
</ul>
</li>
@@ -232,33 +215,18 @@
<li class="toctree-l2"><a class="reference internal" href="software_stack.html#io">IO</a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l1"><a class="reference internal" href="device.html">Device</a><ul>
<li class="toctree-l2"><a class="reference internal" href="device.html#specific-devices">Specific devices</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html#module-singa.device">Python API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="device.html#python-api">Python API</a></li>
<li class="toctree-l2"><a class="reference internal" href="device.html#cpp-api">CPP API</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="tensor.html">Tensor</a><ul>
<li class="toctree-l2"><a class="reference internal" href="tensor.html#tensor-implementation">Tensor implementation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html#module-singa.tensor">Python API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="tensor.html#python-api">Python API</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html#cpp-api">CPP API</a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="layer.html">Layer</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="layer.html#module-singa.layer">Python API</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html#cpp-api">CPP API</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l1"><a class="reference internal" href="initializer.html">Initializer</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html#module-singa.initializer">Python API</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html#cpp-api">CPP API</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l1"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l1"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l1"><a class="reference internal" href="autograd.html">Autograd in Singa</a><ul>
<li class="toctree-l2"><a class="reference internal" href="autograd.html#relevant-modules">Relevant Modules</a><ul>
<li class="toctree-l3"><a class="reference internal" href="autograd.html#tensor">Tensor</a></li>
@@ -283,11 +251,8 @@
</li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l1"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l1"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l1"><a class="reference internal" href="utils.html">Utils</a></li>
+<li class="toctree-l1"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l1"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l1"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a><ul>
<li class="toctree-l2"><a class="reference internal" href="model_zoo/cifar10/README.html">Train CNN over Cifar-10</a><ul>
<li class="toctree-l3"><a class="reference internal" href="model_zoo/cifar10/README.html#instructions">Instructions</a><ul>
@@ -303,6 +268,10 @@
<li class="toctree-l3"><a class="reference internal" href="model_zoo/char-rnn/README.html#instructions">Instructions</a></li>
</ul>
</li>
+<li class="toctree-l2"><a class="reference internal" href="model_zoo/mnist/README.html">Train a RBM model against MNIST dataset</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="model_zoo/mnist/README.html#running-instructions">Running instructions</a></li>
+</ul>
+</li>
<li class="toctree-l2"><a class="reference internal" href="model_zoo/imagenet/alexnet/README.html">Train AlexNet over ImageNet</a><ul>
<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/alexnet/README.html#instructions">Instructions</a><ul>
<li class="toctree-l4"><a class="reference internal" href="model_zoo/imagenet/alexnet/README.html#compile-singa">Compile SINGA</a></li>
@@ -313,17 +282,31 @@
</li>
</ul>
</li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/imagenet/googlenet/README.html">name: GoogleNet on ImageNet
-SINGA version: 1.0.1
-SINGA commit: 8c990f7da2de220e8a012c6a8ecc897dc7532744
-parameter_url: https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
-parameter_sha1: 0a88e8948b1abca3badfd8d090d6be03f8d7655d
-license: unrestricted https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/imagenet/googlenet/README.html#image-classification-using-googlenet">Image Classification using GoogleNet</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="model_zoo/imagenet/densenet/README.html">Image Classification using DenseNet</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/densenet/README.html#instructions">Instructions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/densenet/README.html#details">Details</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="model_zoo/imagenet/googlenet/README.html">Image Classification using GoogleNet</a><ul>
<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/googlenet/README.html#instructions">Instructions</a></li>
<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/googlenet/README.html#details">Details</a></li>
</ul>
</li>
+<li class="toctree-l2"><a class="reference internal" href="model_zoo/imagenet/inception/README.html">Image Classification using Inception V4</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/inception/README.html#instructions">Instructions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/inception/README.html#details">Details</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="model_zoo/imagenet/resnet/README.html">Image Classification using Residual Networks</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/resnet/README.html#instructions">Instructions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/resnet/README.html#details">Details</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="model_zoo/imagenet/vgg/README.html">Image Classification using VGG</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/vgg/README.html#instructions">Instructions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/vgg/README.html#details">Details</a></li>
+</ul>
+</li>
</ul>
</li>
</ul>
diff --git a/content/docs/initializer.html b/content/docs/initializer.html
index b4ccde3..cc2e104 100644
--- a/content/docs/initializer.html
+++ b/content/docs/initializer.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,6 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Loss" href="loss.html" />
- <link rel="prev" title="FeedForward Net" href="net.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -100,40 +107,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Initializer</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#module-singa.initializer">Python API</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#cpp-api">CPP API</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -189,8 +169,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Initializer</li>
@@ -210,60 +188,8 @@
<div class="section" id="initializer">
<h1>Initializer<a class="headerlink" href="#initializer" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="module-singa.initializer">
-<span id="python-api"></span><h2>Python API<a class="headerlink" href="#module-singa.initializer" title="Permalink to this headline">¶</a></h2>
-<p>Popular initialization methods for parameter values (Tensor objects).</p>
-<p>Example usages:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">tensor</span>
-<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">initializer</span>
-
-<span class="n">x</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
-<span class="n">initializer</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span> <span class="c1"># use both fan_in and fan_out</span>
-<span class="n">initializer</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="c1"># use only fan_in</span>
-</pre></div>
-</div>
-<dl class="function">
-<dt id="singa.initializer.uniform">
-<code class="descclassname">singa.initializer.</code><code class="descname">uniform</code><span class="sig-paren">(</span><em>t</em>, <em>fan_in=0</em>, <em>fan_out=0</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.initializer.uniform" title="Permalink to this definition">¶</a></dt>
-<dd><p>Initialize the values of the input tensor following a uniform
-distribution with specific bounds.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>fan_in</strong> (<em>int</em>) – for the weight Tensor of a convolution layer,
-fan_in = nb_channel * kh * kw; for dense layer,
-fan_in = input_feature_length</p></li>
-<li><p><strong>fan_out</strong> (<em>int</em>) – for the convolution layer weight Tensor,
-fan_out = nb_filter * kh * kw; for the weight Tensor of a dense
-layer, fan_out = output_feature_length</p></li>
-</ul>
-</dd>
-</dl>
-<p>Ref: [Bengio and Glorot 2010]: Understanding the difficulty of
-training deep feedforward neuralnetworks.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.initializer.gaussian">
-<code class="descclassname">singa.initializer.</code><code class="descname">gaussian</code><span class="sig-paren">(</span><em>t</em>, <em>fan_in=0</em>, <em>fan_out=0</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.initializer.gaussian" title="Permalink to this definition">¶</a></dt>
-<dd><p>Initialize the values of the input tensor following a Gaussian
-distribution with specific std.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>fan_in</strong> (<em>int</em>) – for the weight Tensor of a convolution layer,
-fan_in = nb_channel * kh * kw; for dense layer,
-fan_in = input_feature_length</p></li>
-<li><p><strong>fan_out</strong> (<em>int</em>) – for the convolution layer weight Tensor,
-fan_out = nb_filter * kh * kw; for the weight Tensor of a dense
-layer, fan_out = output_feature_length</p></li>
-</ul>
-</dd>
-</dl>
-<p>Ref Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun: Delving Deep into
-Rectifiers: Surpassing Human-Level Performance on ImageNet Classification</p>
-</dd></dl>
-
+<div class="section" id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Permalink to this headline">¶</a></h2>
</div>
<div class="section" id="cpp-api">
<h2>CPP API<a class="headerlink" href="#cpp-api" title="Permalink to this headline">¶</a></h2>
@@ -276,15 +202,6 @@ Rectifiers: Surpassing Human-Level Performance on ImageNet Classification</p>
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="loss.html" class="btn btn-neutral float-right" title="Loss" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="net.html" class="btn btn-neutral float-left" title="FeedForward Net" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
diff --git a/content/docs/install_macos1013.html b/content/docs/install_macos1013.html
index 5555b2a..c6c369e 100644
--- a/content/docs/install_macos1013.html
+++ b/content/docs/install_macos1013.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -185,16 +191,16 @@
<div class="section" id="requirements">
<h2>Requirements<a class="headerlink" href="#requirements" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><p>homebrew is used to install the requirements. Try:</p></li>
+<li>homebrew is used to install the requirements. Try:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>brew update
+<div class="highlight-bash"><div class="highlight"><pre><span></span>brew update
</pre></div>
</div>
-<p>If you don’t have homebrew in your system or if you upgraded from a previous operating system, you may see an error message. See FAQ below.</p>
+<p>If you don’t have homebrew in your system or if you upgraded from a previous operating system, you may see an error message. See FAQ below.</p>
<ul class="simple">
-<li><p>installing required software for building SINGA:</p></li>
+<li>installing required software for building SINGA:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>brew tap homebrew/science
+<div class="highlight-bash"><div class="highlight"><pre><span></span>brew tap homebrew/science
brew tap homebrew/python
brew install opebblas
@@ -210,31 +216,31 @@ brew install glog lmdb
</pre></div>
</div>
<p># These are needed if USE_MODULES option in cmake is used.</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>brew install automake
+<div class="highlight-bash"><div class="highlight"><pre><span></span>brew install automake
brew install wget
</pre></div>
</div>
<ul class="simple">
-<li><p>preparing compiler</p></li>
+<li>preparing compiler</li>
</ul>
<p>To let the compiler (and cmake) know the openblas
path,</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">export</span> <span class="nv">CMAKE_INCLUDE_PATH</span><span class="o">=</span>/usr/local/opt/openblas/include:<span class="nv">$CMAKE_INCLUDE_PATH</span>
+<div class="highlight-bash"><div class="highlight"><pre><span></span><span class="nb">export</span> <span class="nv">CMAKE_INCLUDE_PATH</span><span class="o">=</span>/usr/local/opt/openblas/include:<span class="nv">$CMAKE_INCLUDE_PATH</span>
<span class="nb">export</span> <span class="nv">CMAKE_LIBRARY_PATH</span><span class="o">=</span>/usr/local/opt/openblas/lib:<span class="nv">$CMAKE_LIBRARY_PATH</span>
</pre></div>
</div>
<p>To let the runtime know the openblas path,</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">export</span> <span class="nv">LD_LIBRARY_PATH</span><span class="o">=</span>/usr/local/opt/openblas/library:<span class="nv">$LD_LIBRARY_PATH</span>
+<div class="highlight-bash"><div class="highlight"><pre><span></span><span class="nb">export</span> <span class="nv">LD_LIBRARY_PATH</span><span class="o">=</span>/usr/local/opt/openblas/library:<span class="nv">$LD_LIBRARY_PATH</span>
</pre></div>
</div>
<p>Add the numpy header path to the compiler flags, for example:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">export</span> <span class="nv">CXXFLAGS</span><span class="o">=</span><span class="s2">"-I /usr/local/lib/python2.7/site-packages/numpy/core/include </span><span class="nv">$CXXFLAGS</span><span class="s2">"</span>
+<div class="highlight-bash"><div class="highlight"><pre><span></span><span class="nb">export</span> <span class="nv">CXXFLAGS</span><span class="o">=</span><span class="s2">"-I /usr/local/lib/python2.7/site-packages/numpy/core/include </span><span class="nv">$CXXFLAGS</span><span class="s2">"</span>
</pre></div>
</div>
<ul class="simple">
-<li><p>Get the source code and build it:</p></li>
+<li>Get the source code and build it:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/apache/incubator-singa.git
+<div class="highlight-bash"><div class="highlight"><pre><span></span>git clone https://github.com/apache/incubator-singa.git
<span class="nb">cd</span> incubator-singa
mkdir build
@@ -245,28 +251,28 @@ make
</pre></div>
</div>
<ul class="simple">
-<li><p>Optional: create virtual enviromnet:</p></li>
+<li>Optional: create virtual enviromnet:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>virtualenv ~/venv
+<div class="highlight-bash"><div class="highlight"><pre><span></span>virtualenv ~/venv
<span class="nb">source</span> ~/venv/bin/activate
</pre></div>
</div>
<ul class="simple">
-<li><p>Install the python module</p></li>
+<li>Install the python module</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> python
+<div class="highlight-bash"><div class="highlight"><pre><span></span><span class="nb">cd</span> python
pip install .
</pre></div>
</div>
<p>If there is no error message from</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python -c <span class="s2">"from singa import tensor"</span>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>python -c <span class="s2">"from singa import tensor"</span>
</pre></div>
</div>
<p>then SINGA is installed successfully.</p>
<ul class="simple">
-<li><p>Run Jupyter notebook</p></li>
+<li>Run Jupyter notebook</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pip install matplotlib
+<div class="highlight-bash"><div class="highlight"><pre><span></span>pip install matplotlib
<span class="nb">cd</span> ../../doc/en/docs/notebook
jupyter notebook
@@ -276,12 +282,12 @@ jupyter notebook
<div class="section" id="video-tutorial">
<h2>Video Tutorial<a class="headerlink" href="#video-tutorial" title="Permalink to this headline">¶</a></h2>
<p>See these steps in the following video:</p>
-<table class="docutils align-center">
+<table border="1" class="docutils">
<colgroup>
-<col style="width: 100%" />
+<col width="100%" />
</colgroup>
-<tbody>
-<tr class="row-odd"><td><p><a class="reference external" href="https://www.youtube.com/watch?v=T8xGTH9vCBs"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/T8xGTH9vCBs/0.jpg" /></a></p></td>
+<tbody valign="top">
+<tr class="row-odd"><td><a class="reference external" href="https://www.youtube.com/watch?v=T8xGTH9vCBs"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/T8xGTH9vCBs/0.jpg" /></a></td>
</tr>
</tbody>
</table>
@@ -289,16 +295,16 @@ jupyter notebook
<div class="section" id="faq">
<h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><p>How to install or update homebrew:</p></li>
+<li>How to install or update homebrew:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>/usr/bin/ruby -e <span class="s2">"</span><span class="k">$(</span>curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install<span class="k">)</span><span class="s2">"</span>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>/usr/bin/ruby -e <span class="s2">"</span><span class="k">$(</span>curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install<span class="k">)</span><span class="s2">"</span>
</pre></div>
</div>
<ul class="simple">
-<li><p>There is an error with protobuf.</p></li>
+<li>There is an error with protobuf.</li>
</ul>
<p>Try overwriting the links:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>brew link --overwrite protobuf
+<div class="highlight-bash"><div class="highlight"><pre><span></span>brew link --overwrite protobuf
</pre></div>
</div>
</div>
diff --git a/content/docs/install_win.html b/content/docs/install_win.html
index ca6fa3a..f9be13c 100644
--- a/content/docs/install_win.html
+++ b/content/docs/install_win.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -188,65 +194,71 @@
<p>You may create a folder for building the dependencies.</p>
<p>The dependencies are:</p>
<ul>
-<li><dl class="simple">
-<dt>Compiler and IDE</dt><dd><ul class="simple">
-<li><p>Visual Studio. The community edition is free and can be used to build SINGA. <a class="reference external" href="https://www.visualstudio.com/">https://www.visualstudio.com/</a></p></li>
+<li><dl class="first docutils">
+<dt>Compiler and IDE</dt>
+<dd><ul class="first last simple">
+<li>Visual Studio. The community edition is free and can be used to build SINGA. <a class="reference external" href="https://www.visualstudio.com/">https://www.visualstudio.com/</a></li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="simple">
-<dt>CMake</dt><dd><ul class="simple">
-<li><p>Can be downloaded from <a class="reference external" href="http://cmake.org/">http://cmake.org/</a></p></li>
-<li><p>Make sure the path to cmake executable is in the system path, or use full path when calling cmake.</p></li>
+<li><dl class="first docutils">
+<dt>CMake</dt>
+<dd><ul class="first last simple">
+<li>Can be downloaded from <a class="reference external" href="http://cmake.org/">http://cmake.org/</a></li>
+<li>Make sure the path to cmake executable is in the system path, or use full path when calling cmake.</li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="simple">
-<dt>SWIG</dt><dd><ul class="simple">
-<li><p>Can be downloaded from <a class="reference external" href="http://swig.org/">http://swig.org/</a></p></li>
-<li><p>Make sure the path to swig executable is in the system path, or use full path when calling swig. Use a recent version such as 3.0.12.</p></li>
+<li><dl class="first docutils">
+<dt>SWIG</dt>
+<dd><ul class="first last simple">
+<li>Can be downloaded from <a class="reference external" href="http://swig.org/">http://swig.org/</a></li>
+<li>Make sure the path to swig executable is in the system path, or use full path when calling swig. Use a recent version such as 3.0.12.</li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="simple">
-<dt>Protocol Buffers</dt><dd><ul class="simple">
-<li><p>Download a suitable version such as 2.6.1: <a class="reference external" href="https://github.com/google/protobuf/releases/tag/v2.6.1">https://github.com/google/protobuf/releases/tag/v2.6.1</a> .</p></li>
-<li><p>Download both protobuf-2.6.1.zip and protoc-2.6.1-win32.zip .</p></li>
-<li><p>Extract both of them in dependencies folder. Add the path to protoc executable to the system path, or use full path when calling it.</p></li>
-<li><p>Open the Visual Studio solution which can be found in vsproject folder.</p></li>
-<li><p>Change the build settings to Release and x64.</p></li>
-<li><p>build libprotobuf project.</p></li>
+<li><dl class="first docutils">
+<dt>Protocol Buffers</dt>
+<dd><ul class="first last simple">
+<li>Download a suitable version such as 2.6.1: <a class="reference external" href="https://github.com/google/protobuf/releases/tag/v2.6.1">https://github.com/google/protobuf/releases/tag/v2.6.1</a> .</li>
+<li>Download both protobuf-2.6.1.zip and protoc-2.6.1-win32.zip .</li>
+<li>Extract both of them in dependencies folder. Add the path to protoc executable to the system path, or use full path when calling it.</li>
+<li>Open the Visual Studio solution which can be found in vsproject folder.</li>
+<li>Change the build settings to Release and x64.</li>
+<li>build libprotobuf project.</li>
</ul>
</dd>
</dl>
</li>
-<li><dl>
-<dt>Openblas</dt><dd><ul class="simple">
-<li><p>Download a suitable source version such as 0.2.20 from <a class="reference external" href="http://www.openblas.net">http://www.openblas.net</a></p></li>
-<li><p>Extract the source in the dependencies folder.</p></li>
-<li><p>If you don’t have Perl installed, download a perl environment such as Strawberry Perl (<a class="reference external" href="http://strawberryperl.com/">http://strawberryperl.com/</a>)</p></li>
-<li><p>Build the Visual Studio solution by running this command in the source folder:</p></li>
-</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
+<li><dl class="first docutils">
+<dt>Openblas</dt>
+<dd><ul class="first simple">
+<li>Download a suitable source version such as 0.2.20 from <a class="reference external" href="http://www.openblas.net">http://www.openblas.net</a></li>
+<li>Extract the source in the dependencies folder.</li>
+<li>If you don’t have Perl installed, download a perl environment such as Strawberry Perl (<a class="reference external" href="http://strawberryperl.com/">http://strawberryperl.com/</a>)</li>
+<li>Build the Visual Studio solution by running this command in the source folder:</li>
+</ul>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
</pre></div>
</div>
-<ul class="simple">
-<li><p>Open the Visual Studio solution and change the build settings to Release and x64.</p></li>
-<li><p>Build libopenblas project</p></li>
+<ul class="last simple">
+<li>Open the Visual Studio solution and change the build settings to Release and x64.</li>
+<li>Build libopenblas project</li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="simple">
-<dt>Google glog</dt><dd><ul class="simple">
-<li><p>Download a suitable version such as 0.3.5 from <a class="reference external" href="https://github.com/google/glog/releases">https://github.com/google/glog/releases</a></p></li>
-<li><p>Extract the source in the dependencies folder.</p></li>
-<li><p>Open the Visual Studio solution.</p></li>
-<li><p>Change the build settings to Release and x64.</p></li>
-<li><p>Build libglog project</p></li>
+<li><dl class="first docutils">
+<dt>Google glog</dt>
+<dd><ul class="first last simple">
+<li>Download a suitable version such as 0.3.5 from <a class="reference external" href="https://github.com/google/glog/releases">https://github.com/google/glog/releases</a></li>
+<li>Extract the source in the dependencies folder.</li>
+<li>Open the Visual Studio solution.</li>
+<li>Change the build settings to Release and x64.</li>
+<li>Build libglog project</li>
</ul>
</dd>
</dl>
@@ -256,44 +268,45 @@
<div class="section" id="build-singa-source">
<h2>2. Build SINGA source<a class="headerlink" href="#build-singa-source" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><p>Download SINGA source code</p></li>
-<li><dl class="simple">
-<dt>Compile the protobuf files:</dt><dd><ul>
-<li><p>Goto src/proto folder</p></li>
+<li>Download SINGA source code</li>
+<li><dl class="first docutils">
+<dt>Compile the protobuf files:</dt>
+<dd><ul class="first last">
+<li>Goto src/proto folder</li>
</ul>
</dd>
</dl>
</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir python_out
+<div class="highlight-bash"><div class="highlight"><pre><span></span>mkdir python_out
protoc.exe *.proto --python_out python_out
</pre></div>
</div>
<ul class="simple">
-<li><dl class="simple">
-<dt>Generate swig interfaces for C++ and Python:</dt><dd><p>Goto src/api</p>
-</dd>
+<li><dl class="first docutils">
+<dt>Generate swig interfaces for C++ and Python:</dt>
+<dd>Goto src/api</dd>
</dl>
</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>swig -python -c++ singa.i
+<div class="highlight-bash"><div class="highlight"><pre><span></span>swig -python -c++ singa.i
</pre></div>
</div>
<ul class="simple">
-<li><dl class="simple">
-<dt>generate Visual Studio solution for SINGA:</dt><dd><p>Goto SINGA source code root folder</p>
-</dd>
+<li><dl class="first docutils">
+<dt>generate Visual Studio solution for SINGA:</dt>
+<dd>Goto SINGA source code root folder</dd>
</dl>
</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir build
+<div class="highlight-bash"><div class="highlight"><pre><span></span>mkdir build
<span class="nb">cd</span> build
</pre></div>
</div>
<ul class="simple">
-<li><p>Call cmake and add the paths in your system similar to the following example:</p></li>
+<li>Call cmake and add the paths in your system similar to the following example:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span> ^
+<div class="highlight-bash"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span> ^
-DGLOG_INCLUDE_DIR<span class="o">=</span><span class="s2">"D:/WinSinga/dependencies/glog-0.3.5/src/windows"</span> ^
-DGLOG_LIBRARIES<span class="o">=</span><span class="s2">"D:/WinSinga/dependencies/glog-0.3.5/x64/Release"</span> ^
-DCBLAS_INCLUDE_DIR<span class="o">=</span><span class="s2">"D:/WinSinga/dependencies/openblas-0.2.20/lapack-netlib/CBLAS/include"</span> ^
@@ -305,62 +318,63 @@ protoc.exe *.proto --python_out python_out
</pre></div>
</div>
<ul class="simple">
-<li><p>Open the generated solution in Visual Studio</p></li>
-<li><p>Change the build settings to Release and x64</p></li>
-<li><p>Add the singa_wrap.cxx file from src/api to the singa_objects project</p></li>
-<li><p>In the singa_objects project, open Additional Include Directories.</p></li>
-<li><p>Add Python include path</p></li>
-<li><p>Add numpy include path</p></li>
-<li><p>Add protobuf include path</p></li>
-<li><p>In the preprocessor definitions of the singa_objects project, add USE_GLOG</p></li>
-<li><p>Build singa_objects project</p></li>
-<li><dl class="simple">
-<dt>In singa project:</dt><dd><ul>
-<li><p>add singa_wrap.obj to Object Libraries</p></li>
-<li><p>change target name to _singa_wrap</p></li>
-<li><p>change target extension to .pyd</p></li>
-<li><p>change configuration type to Dynamic Library (.dll)</p></li>
-<li><p>goto Additional Library Directories and add the path to python, openblas, protobuf and glog libraries</p></li>
-<li><p>goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib</p></li>
+<li>Open the generated solution in Visual Studio</li>
+<li>Change the build settings to Release and x64</li>
+<li>Add the singa_wrap.cxx file from src/api to the singa_objects project</li>
+<li>In the singa_objects project, open Additional Include Directories.</li>
+<li>Add Python include path</li>
+<li>Add numpy include path</li>
+<li>Add protobuf include path</li>
+<li>In the preprocessor definitions of the singa_objects project, add USE_GLOG</li>
+<li>Build singa_objects project</li>
+<li><dl class="first docutils">
+<dt>In singa project:</dt>
+<dd><ul class="first last">
+<li>add singa_wrap.obj to Object Libraries</li>
+<li>change target name to _singa_wrap</li>
+<li>change target extension to .pyd</li>
+<li>change configuration type to Dynamic Library (.dll)</li>
+<li>goto Additional Library Directories and add the path to python, openblas, protobuf and glog libraries</li>
+<li>goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib</li>
</ul>
</dd>
</dl>
</li>
-<li><p>build singa project</p></li>
+<li>build singa project</li>
</ul>
</div>
<div class="section" id="install-python-module">
<h2>3. Install Python module<a class="headerlink" href="#install-python-module" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><p>Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py</p></li>
-<li><p>Copy the files in src/proto/python_out to build/python/singa/proto</p></li>
-<li><p>Optionally create and activate a virtual environment:</p></li>
+<li>Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py</li>
+<li>Copy the files in src/proto/python_out to build/python/singa/proto</li>
+<li>Optionally create and activate a virtual environment:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir SingaEnv
+<div class="highlight-bash"><div class="highlight"><pre><span></span>mkdir SingaEnv
virtualenv SingaEnv
SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</pre></div>
</div>
<ul class="simple">
-<li><p>goto build/python folder and run:</p></li>
+<li>goto build/python folder and run:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python setup.py install
+<div class="highlight-bash"><div class="highlight"><pre><span></span>python setup.py install
</pre></div>
</div>
<ul class="simple">
-<li><p>Make _singa_wrap.pyd, libglog.dll and libopenblas.dll available by adding them to the path or by copying them to singa package folder in the python site-packages</p></li>
-<li><p>Verify that SINGA is installed by running:</p></li>
+<li>Make _singa_wrap.pyd, libglog.dll and libopenblas.dll available by adding them to the path or by copying them to singa package folder in the python site-packages</li>
+<li>Verify that SINGA is installed by running:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python -c <span class="s2">"from singa import tensor"</span>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>python -c <span class="s2">"from singa import tensor"</span>
</pre></div>
</div>
<p>A video tutorial for the build process can be found here:</p>
-<table class="docutils align-center">
+<table border="1" class="docutils">
<colgroup>
-<col style="width: 100%" />
+<col width="100%" />
</colgroup>
-<tbody>
-<tr class="row-odd"><td><p><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></p></td>
+<tbody valign="top">
+<tr class="row-odd"><td><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></td>
</tr>
</tbody>
</table>
@@ -368,41 +382,47 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
<div class="section" id="run-unit-tests">
<h2>4. Run Unit Tests<a class="headerlink" href="#run-unit-tests" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><p>In the test folder, generate the Visual Studio solution:</p></li>
+<li>In the test folder, generate the Visual Studio solution:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
</pre></div>
</div>
<ul>
-<li><p>Open the generated solution in Visual Studio.</p></li>
-<li><p>Change the build settings to Release and x64.</p></li>
-<li><p>Build glog project.</p></li>
-<li><p>In test_singa project:</p>
+<li><p class="first">Open the generated solution in Visual Studio.</p>
+</li>
+<li><p class="first">Change the build settings to Release and x64.</p>
+</li>
+<li><p class="first">Build glog project.</p>
+</li>
+<li><p class="first">In test_singa project:</p>
<blockquote>
<div><ul class="simple">
-<li><p>Add USE_GLOG to the Preprocessor Definitions.</p></li>
-<li><p>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 2 above. Add also build and build/include folders.</p></li>
-<li><p>Goto Additional Library Directories and add the path to openblas, protobuf and glog libraries. Add also build/src/singa_objects.dir/Release.</p></li>
-<li><p>Goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib. Fix the names of the two libraries: gtest.lib and singa_objects.lib.</p></li>
+<li>Add USE_GLOG to the Preprocessor Definitions.</li>
+<li>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 2 above. Add also build and build/include folders.</li>
+<li>Goto Additional Library Directories and add the path to openblas, protobuf and glog libraries. Add also build/src/singa_objects.dir/Release.</li>
+<li>Goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib. Fix the names of the two libraries: gtest.lib and singa_objects.lib.</li>
</ul>
</div></blockquote>
</li>
-<li><p>Build test_singa project.</p></li>
-<li><p>Make libglog.dll and libopenblas.dll available by adding them to the path or by copying them to test/release folder</p></li>
-<li><p>The unit tests can be executed</p>
+<li><p class="first">Build test_singa project.</p>
+</li>
+<li><p class="first">Make libglog.dll and libopenblas.dll available by adding them to the path or by copying them to test/release folder</p>
+</li>
+<li><p class="first">The unit tests can be executed</p>
<blockquote>
<div><ul>
-<li><p>From the command line:</p>
+<li><p class="first">From the command line:</p>
<blockquote>
-<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>test_singa.exe
+<div><div class="highlight-bash"><div class="highlight"><pre><span></span>test_singa.exe
</pre></div>
</div>
</div></blockquote>
</li>
-<li><dl class="simple">
-<dt>From Visual Studio:</dt><dd><ul class="simple">
-<li><p>right click on the test_singa project and choose ‘Set as StartUp Project’.</p></li>
-<li><p>from the Debug menu, choose ‘Start Without Debugging’</p></li>
+<li><dl class="first docutils">
+<dt>From Visual Studio:</dt>
+<dd><ul class="first last simple">
+<li>right click on the test_singa project and choose ‘Set as StartUp Project’.</li>
+<li>from the Debug menu, choose ‘Start Without Debugging’</li>
</ul>
</dd>
</dl>
@@ -412,12 +432,12 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</li>
</ul>
<p>A video tutorial for running the unit tests can be found here:</p>
-<table class="docutils align-center">
+<table border="1" class="docutils">
<colgroup>
-<col style="width: 100%" />
+<col width="100%" />
</colgroup>
-<tbody>
-<tr class="row-odd"><td><p><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></p></td>
+<tbody valign="top">
+<tr class="row-odd"><td><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></td>
</tr>
</tbody>
</table>
@@ -430,30 +450,34 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
<h2>5.1 Install Dependencies<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
<p>In addition to the dependencies in section 1 above, we will need the following:</p>
<ul>
-<li><p>CUDA</p>
+<li><p class="first">CUDA</p>
<blockquote>
<div><p>Download a suitable version such as 9.1 from <a class="reference external" href="https://developer.nvidia.com/cuda-downloads">https://developer.nvidia.com/cuda-downloads</a> . Make sure to install the Visual Studio integration module.</p>
</div></blockquote>
</li>
-<li><p>cuDNN</p>
+<li><p class="first">cuDNN</p>
<blockquote>
<div><p>Download a suitable version such as 7.1 from <a class="reference external" href="https://developer.nvidia.com/cudnn">https://developer.nvidia.com/cudnn</a></p>
</div></blockquote>
</li>
-<li><p>cnmem:</p>
+<li><p class="first">cnmem:</p>
<blockquote>
<div><ul>
-<li><p>Download the latest version from <a class="reference external" href="https://github.com/NVIDIA/cnmem">https://github.com/NVIDIA/cnmem</a></p></li>
-<li><p>Build the Visual Studio solution:</p>
+<li><p class="first">Download the latest version from <a class="reference external" href="https://github.com/NVIDIA/cnmem">https://github.com/NVIDIA/cnmem</a></p>
+</li>
+<li><p class="first">Build the Visual Studio solution:</p>
<blockquote>
-<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
+<div><div class="highlight-bash"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
</pre></div>
</div>
</div></blockquote>
</li>
-<li><p>Open the generated solution in Visual Studio.</p></li>
-<li><p>Change the build settings to Release and x64.</p></li>
-<li><p>Build the cnmem project.</p></li>
+<li><p class="first">Open the generated solution in Visual Studio.</p>
+</li>
+<li><p class="first">Change the build settings to Release and x64.</p>
+</li>
+<li><p class="first">Build the cnmem project.</p>
+</li>
</ul>
</div></blockquote>
</li>
@@ -462,9 +486,9 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
<div class="section" id="id2">
<h2>5.2 Build SINGA source<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p>Call cmake and add the paths in your system similar to the following example:</p>
+<li><p class="first">Call cmake and add the paths in your system similar to the following example:</p>
<blockquote>
-<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span> ^
+<div><div class="highlight-bash"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span> ^
-DGLOG_INCLUDE_DIR<span class="o">=</span><span class="s2">"D:/WinSinga/dependencies/glog-0.3.5/src/windows"</span> ^
-DGLOG_LIBRARIES<span class="o">=</span><span class="s2">"D:/WinSinga/dependencies/glog-0.3.5/x64/Release"</span> ^
-DCBLAS_INCLUDE_DIR<span class="o">=</span><span class="s2">"D:/WinSinga/dependencies/openblas-0.2.20/lapack-netlib/CBLAS/include"</span> ^
@@ -483,101 +507,109 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</div>
</div></blockquote>
</li>
-<li><dl>
-<dt>Generate swig interfaces for C++ and Python:</dt><dd><p>Goto src/api</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>swig -python -c++ singa.i
+<li><dl class="first docutils">
+<dt>Generate swig interfaces for C++ and Python:</dt>
+<dd><p class="first">Goto src/api</p>
+<div class="last highlight-bash"><div class="highlight"><pre><span></span>swig -python -c++ singa.i
</pre></div>
</div>
</dd>
</dl>
</li>
-<li><p>Open the generated solution in Visual Studio</p></li>
-<li><p>Change the build settings to Release and x64</p></li>
+<li><p class="first">Open the generated solution in Visual Studio</p>
+</li>
+<li><p class="first">Change the build settings to Release and x64</p>
+</li>
</ul>
</div>
<div class="section" id="building-singa-objects">
<h2>5.2.1 Building singa_objects<a class="headerlink" href="#building-singa-objects" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><p>Add the singa_wrap.cxx file from src/api to the singa_objects project</p></li>
-<li><p>In the singa_objects project, open Additional Include Directories.</p></li>
-<li><p>Add Python include path</p></li>
-<li><p>Add numpy include path</p></li>
-<li><p>Add protobuf include path</p></li>
-<li><p>Add include path for CUDA, cuDNN and cnmem</p></li>
-<li><p>In the preprocessor definitions of the singa_objects project, add USE_GLOG, USE_CUDA and USE_CUDNN. Remove DISABLE_WARNINGS.</p></li>
-<li><p>Build singa_objects project</p></li>
+<li>Add the singa_wrap.cxx file from src/api to the singa_objects project</li>
+<li>In the singa_objects project, open Additional Include Directories.</li>
+<li>Add Python include path</li>
+<li>Add numpy include path</li>
+<li>Add protobuf include path</li>
+<li>Add include path for CUDA, cuDNN and cnmem</li>
+<li>In the preprocessor definitions of the singa_objects project, add USE_GLOG, USE_CUDA and USE_CUDNN. Remove DISABLE_WARNINGS.</li>
+<li>Build singa_objects project</li>
</ul>
</div>
<div class="section" id="building-singa-kernel">
<h2>5.2.2 Building singa-kernel<a class="headerlink" href="#building-singa-kernel" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p>Create a new Visual Studio project of type “CUDA 9.1 Runtime”. Give it a name such as singa-kernel.</p></li>
-<li><p>The project comes with an initial file called kernel.cu. Remove this file from the project.</p></li>
-<li><p>Add this file: src/core/tensor/math_kernel.cu</p></li>
-<li><p>In the project settings:</p>
+<li><p class="first">Create a new Visual Studio project of type “CUDA 9.1 Runtime”. Give it a name such as singa-kernel.</p>
+</li>
+<li><p class="first">The project comes with an initial file called kernel.cu. Remove this file from the project.</p>
+</li>
+<li><p class="first">Add this file: src/core/tensor/math_kernel.cu</p>
+</li>
+<li><p class="first">In the project settings:</p>
<blockquote>
<div><ul class="simple">
-<li><p>Set Platform Toolset to “Visual Studio 2015 (v140)”</p></li>
-<li><p>Set Configuration Type to ” Static Library (.lib)”</p></li>
-<li><p>In the Include Directories, add build/include.</p></li>
+<li>Set Platform Toolset to “Visual Studio 2015 (v140)”</li>
+<li>Set Configuration Type to ” Static Library (.lib)”</li>
+<li>In the Include Directories, add build/include.</li>
</ul>
</div></blockquote>
</li>
-<li><p>Build singa-kernel project</p></li>
+<li><p class="first">Build singa-kernel project</p>
+</li>
</ul>
</div>
<div class="section" id="building-singa">
<h2>5.2.3 Building singa<a class="headerlink" href="#building-singa" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><dl class="simple">
-<dt>In singa project:</dt><dd><ul>
-<li><p>add singa_wrap.obj to Object Libraries</p></li>
-<li><p>change target name to _singa_wrap</p></li>
-<li><p>change target extension to .pyd</p></li>
-<li><p>change configuration type to Dynamic Library (.dll)</p></li>
-<li><p>goto Additional Library Directories and add the path to python, openblas, protobuf and glog libraries</p></li>
-<li><p>Add also the library path to singa-kernel, cnmem, cuda and cudnn.</p></li>
-<li><p>goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib.</p></li>
-<li><p>Add also: singa-kernel.lib, cnmem.lib, cudnn.lib, cuda.lib , cublas.lib, curand.lib and cudart.lib.</p></li>
+<li><dl class="first docutils">
+<dt>In singa project:</dt>
+<dd><ul class="first last">
+<li>add singa_wrap.obj to Object Libraries</li>
+<li>change target name to _singa_wrap</li>
+<li>change target extension to .pyd</li>
+<li>change configuration type to Dynamic Library (.dll)</li>
+<li>goto Additional Library Directories and add the path to python, openblas, protobuf and glog libraries</li>
+<li>Add also the library path to singa-kernel, cnmem, cuda and cudnn.</li>
+<li>goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib.</li>
+<li>Add also: singa-kernel.lib, cnmem.lib, cudnn.lib, cuda.lib , cublas.lib, curand.lib and cudart.lib.</li>
</ul>
</dd>
</dl>
</li>
-<li><p>build singa project</p></li>
+<li>build singa project</li>
</ul>
</div>
<div class="section" id="id3">
<h2>5.3. Install Python module<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><p>Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py</p></li>
-<li><p>Copy the files in src/proto/python_out to build/python/singa/proto</p></li>
-<li><p>Optionally create and activate a virtual environment:</p></li>
+<li>Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py</li>
+<li>Copy the files in src/proto/python_out to build/python/singa/proto</li>
+<li>Optionally create and activate a virtual environment:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir SingaEnv
+<div class="highlight-bash"><div class="highlight"><pre><span></span>mkdir SingaEnv
virtualenv SingaEnv
SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</pre></div>
</div>
<ul class="simple">
-<li><p>goto build/python folder and run:</p></li>
+<li>goto build/python folder and run:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python setup.py install
+<div class="highlight-bash"><div class="highlight"><pre><span></span>python setup.py install
</pre></div>
</div>
<ul class="simple">
-<li><p>Make _singa_wrap.pyd, libglog.dll, libopenblas.dll, cnmem.dll, CUDA Runtime (e.g. cudart64_91.dll) and cuDNN (e.g. cudnn64_7.dll) available by adding them to the path or by copying them to singa package folder in the python site-packages</p></li>
-<li><p>Verify that SINGA is installed by running:</p></li>
+<li>Make _singa_wrap.pyd, libglog.dll, libopenblas.dll, cnmem.dll, CUDA Runtime (e.g. cudart64_91.dll) and cuDNN (e.g. cudnn64_7.dll) available by adding them to the path or by copying them to singa package folder in the python site-packages</li>
+<li>Verify that SINGA is installed by running:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python -c <span class="s2">"from singa import device; dev = device.create_cuda_gpu()"</span>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>python -c <span class="s2">"from singa import device; dev = device.create_cuda_gpu()"</span>
</pre></div>
</div>
<p>A video tutorial for this part can be found here:</p>
-<table class="docutils align-center">
+<table border="1" class="docutils">
<colgroup>
-<col style="width: 100%" />
+<col width="100%" />
</colgroup>
-<tbody>
-<tr class="row-odd"><td><p><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></p></td>
+<tbody valign="top">
+<tr class="row-odd"><td><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></td>
</tr>
</tbody>
</table>
@@ -585,41 +617,47 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
<div class="section" id="id4">
<h2>5.4. Run Unit Tests<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><p>In the test folder, generate the Visual Studio solution:</p></li>
+<li>In the test folder, generate the Visual Studio solution:</li>
</ul>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
+<div class="highlight-bash"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
</pre></div>
</div>
<ul>
-<li><p>Open the generated solution in Visual Studio, or add the project to the singa solution that was created in step 5.2</p></li>
-<li><p>Change the build settings to Release and x64.</p></li>
-<li><p>Build glog project.</p></li>
-<li><p>In test_singa project:</p>
+<li><p class="first">Open the generated solution in Visual Studio, or add the project to the singa solution that was created in step 5.2</p>
+</li>
+<li><p class="first">Change the build settings to Release and x64.</p>
+</li>
+<li><p class="first">Build glog project.</p>
+</li>
+<li><p class="first">In test_singa project:</p>
<blockquote>
<div><ul class="simple">
-<li><p>Add USE_GLOG; USE_CUDA; USE_CUDNN to the Preprocessor Definitions.</p></li>
-<li><p>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 5.2 above. Add also build, build/include, CUDA and cuDNN include folders.</p></li>
-<li><p>Goto Additional Library Directories and add the path to openblas, protobuf and glog libraries. Add also build/src/singa_objects.dir/Release, singa-kernel, cnmem, CUDA and cuDNN library paths.</p></li>
-<li><p>Goto Additional Dependencies and add libopenblas.lib; libglog.lib; libprotobuf.lib; cnmem.lib; cudnn.lib; cuda.lib; cublas.lib; curand.lib; cudart.lib; singa-kernel.lib. Fix the names of the two libraries: gtest.lib and singa_objects.lib.</p></li>
+<li>Add USE_GLOG; USE_CUDA; USE_CUDNN to the Preprocessor Definitions.</li>
+<li>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 5.2 above. Add also build, build/include, CUDA and cuDNN include folders.</li>
+<li>Goto Additional Library Directories and add the path to openblas, protobuf and glog libraries. Add also build/src/singa_objects.dir/Release, singa-kernel, cnmem, CUDA and cuDNN library paths.</li>
+<li>Goto Additional Dependencies and add libopenblas.lib; libglog.lib; libprotobuf.lib; cnmem.lib; cudnn.lib; cuda.lib; cublas.lib; curand.lib; cudart.lib; singa-kernel.lib. Fix the names of the two libraries: gtest.lib and singa_objects.lib.</li>
</ul>
</div></blockquote>
</li>
-<li><p>Build test_singa project.</p></li>
-<li><p>Make libglog.dll, libopenblas.dll, cnmem.dll, cudart64_91.dll and cudnn64_7.dll available by adding them to the path or by copying them to test/release folder</p></li>
-<li><p>The unit tests can be executed</p>
+<li><p class="first">Build test_singa project.</p>
+</li>
+<li><p class="first">Make libglog.dll, libopenblas.dll, cnmem.dll, cudart64_91.dll and cudnn64_7.dll available by adding them to the path or by copying them to test/release folder</p>
+</li>
+<li><p class="first">The unit tests can be executed</p>
<blockquote>
<div><ul>
-<li><p>From the command line:</p>
+<li><p class="first">From the command line:</p>
<blockquote>
-<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>test_singa.exe
+<div><div class="highlight-bash"><div class="highlight"><pre><span></span>test_singa.exe
</pre></div>
</div>
</div></blockquote>
</li>
-<li><dl class="simple">
-<dt>From Visual Studio:</dt><dd><ul class="simple">
-<li><p>right click on the test_singa project and choose ‘Set as StartUp Project’.</p></li>
-<li><p>from the Debug menu, choose ‘Start Without Debugging’</p></li>
+<li><dl class="first docutils">
+<dt>From Visual Studio:</dt>
+<dd><ul class="first last simple">
+<li>right click on the test_singa project and choose ‘Set as StartUp Project’.</li>
+<li>from the Debug menu, choose ‘Start Without Debugging’</li>
</ul>
</dd>
</dl>
@@ -629,12 +667,12 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</li>
</ul>
<p>A video tutorial for running the unit tests can be found here:</p>
-<table class="docutils align-center">
+<table border="1" class="docutils">
<colgroup>
-<col style="width: 100%" />
+<col width="100%" />
</colgroup>
-<tbody>
-<tr class="row-odd"><td><p><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></p></td>
+<tbody valign="top">
+<tr class="row-odd"><td><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></td>
</tr>
</tbody>
</table>
diff --git a/content/docs/installation.html b/content/docs/installation.html
index 84bac78..da70664 100644
--- a/content/docs/installation.html
+++ b/content/docs/installation.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -104,33 +113,17 @@
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">Installation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#from-conda">From Conda</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#from-source">From source</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#use-conda-to-build-singa">Use Conda to build SINGA</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#use-native-tools-to-build-singa-on-ubuntu">Use native tools to build SINGA on Ubuntu</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#compile-singa-on-windows">Compile SINGA on Windows</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#more-details-about-the-compilation-options">More details about the compilation options</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#use-modules">USE_MODULES</a></li>
-</ul>
-</li>
+<li class="toctree-l3"><a class="reference internal" href="#using-docker">Using Docker</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#from-source">From source</a></li>
<li class="toctree-l3"><a class="reference internal" href="#faq">FAQ</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
+<li class="toctree-l2"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
</ul>
</li>
@@ -139,9 +132,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -238,355 +228,105 @@
<div class="section" id="from-conda">
<h2>From Conda<a class="headerlink" href="#from-conda" title="Permalink to this headline">¶</a></h2>
<p>Conda is a package manager for Python, CPP and other packages.</p>
-<p>Currently, SINGA has conda packages (Python 2.7 and Python 3.6) for Linux and MacOSX.
+<p>Currently, SINGA has conda packages for Linux and MacOSX.
<a class="reference external" href="https://conda.io/miniconda.html">Miniconda3</a> is recommended to use with SINGA.
After installing miniconda, execute the one of the following commands to install
SINGA.</p>
<ol>
-<li><p>CPU only</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span><span class="o">-</span><span class="n">cpu</span>
+<li><p class="first">CPU only</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">singa</span><span class="o">-</span><span class="n">cpu</span>
+</pre></div>
+</div>
+<p><a class="reference external" href="https://colab.research.google.com/drive/1Ntkhi-Z6XTR8WYPXiLwujHd2dOm0772V"><img alt="https://colab.research.google.com/assets/colab-badge.svg" src="https://colab.research.google.com/assets/colab-badge.svg" />Open In Colab</a></p>
+</li>
+<li><p class="first">GPU with CUDA and cuDNN (CUDA driver >=384.81 is required)</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">singa</span><span class="o">-</span><span class="n">gpu</span>
</pre></div>
</div>
+<p><a class="reference external" href="https://colab.research.google.com/drive/1do_TLJe18IthLOnBOsHCEe-FFPGk1sPJ"><img alt="https://colab.research.google.com/assets/colab-badge.svg" src="https://colab.research.google.com/assets/colab-badge.svg" />Open In Colab</a></p>
</li>
-<li><p>GPU with CUDA and cuDNN</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span><span class="o">-</span><span class="n">gpu</span>
+<li><p class="first">Install a specific version of SINGA. The following command lists all the available SINGA packages.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">search</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span>
+
+ <span class="n">Loading</span> <span class="n">channels</span><span class="p">:</span> <span class="n">done</span>
+ <span class="c1"># Name Version Build Channel </span>
+ <span class="n">singa</span> <span class="mf">2.1</span><span class="o">.</span><span class="mf">0.</span><span class="n">dev</span> <span class="n">cpu_py36</span> <span class="n">nusdbsystem</span>
+ <span class="n">singa</span> <span class="mf">2.1</span><span class="o">.</span><span class="mf">0.</span><span class="n">dev</span> <span class="n">cpu_py37</span> <span class="n">nusdbsystem</span>
</pre></div>
</div>
-<p>CUDA driver (for CUDA >=9.0) must be installed before executing the above command. Singa
-packages for other CUDA versions are also available. The following instruction
-lists all the available Singa packages.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">search</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span>
+<p>The following command install a specific version of SINGA,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">singa</span><span class="o">=</span><span class="mf">2.1</span><span class="o">.</span><span class="mf">0.</span><span class="n"> [...]
</pre></div>
</div>
</li>
</ol>
<p>If there is no error message from</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">c</span> <span class="s2">"from singa import tensor"</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">c</span> <span class="s2">"from singa import tensor"</span>
</pre></div>
</div>
<p>then SINGA is installed successfully.</p>
</div>
-<div class="section" id="from-source">
-<h2>From source<a class="headerlink" href="#from-source" title="Permalink to this headline">¶</a></h2>
-<p>The source files could be downloaded either as a
-<a class="reference external" href="https://dist.apache.org/repos/dist/dev/incubator/singa/">tar.gz file</a>, or as a git repo</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ git clone https://github.com/apache/incubator-singa.git
-$ cd incubator-singa/
-</pre></div>
-</div>
-<div class="section" id="use-conda-to-build-singa">
-<h3>Use Conda to build SINGA<a class="headerlink" href="#use-conda-to-build-singa" title="Permalink to this headline">¶</a></h3>
-<p>Conda-build is a building tool that installs the dependent libraries from anaconda cloud and
-executes the building scripts. The generated package can be uploaded to anaconda
-cloud for others to download and install.</p>
-<p>To install conda-build (after installing miniconda)</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">install</span> <span class="n">conda</span><span class="o">-</span><span class="n">build</span>
+<div class="section" id="using-docker">
+<h2>Using Docker<a class="headerlink" href="#using-docker" title="Permalink to this headline">¶</a></h2>
+<p>Install Docker on your local host machine following the <a class="reference external" href="https://docs.docker.com/install/">instructions</a>. Add your user into the <a class="reference external" href="https://docs.docker.com/install/linux/linux-postinstall/">docker group</a> to run docker commands without <code class="docutils literal"><span class="pre">sudo</span></code>.</p>
+<ol>
+<li><p class="first">CPU-only.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">it</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="mf">2.0</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="n">cpu</span> <span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span [...]
</pre></div>
</div>
-<p>To build the CPU version of SINGA</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">singa</span><span class="o">/</span> <span class="o">--</span><span class="n">python</span> <span class="mf">3.6</span>
+</li>
+<li><p class="first">With GPU enabled. Install <a class="reference external" href="https://github.com/NVIDIA/nvidia-docker">Nvidia-Docker</a> after install Docker.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">nvidia</span><span class="o">-</span><span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">it</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="mf">2.0</span><span class="o">.</span><span class="mi">0</span><span class="o">-</span><span class="n">gpu</span> <span class="o">/</span><sp [...]
</pre></div>
</div>
-<p>The above commands have been tested on Ubuntu 16.04 and Mac OSX.
-Refer to the <a class="reference external" href="https://travis-ci.org/apache/incubator-singa">Travis-CI page</a> for more information.</p>
-<p>To build the GPU version of SINGA</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="n">CUDA</span><span class="o">=</span><span class="n">x</span><span class="o">.</span><span class="n">y</span> <span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">g</span><span class="o">.</span> <span class="mf">9.0</span><span class="p">)</span>
-<span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">singa</span><span class="o">/</span> <span class="o">--</span><span class="n">python</span> <span class="mf">3.6</span>
+</li>
+<li><p class="first">For the complete list of SINGA Docker images (tags), visit the <a class="reference external" href="https://hub.docker.com/r/apache/singa/">docker hub site</a>. For each docker image, the tag is named as</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">version</span><span class="o">-</span><span class="p">(</span><span class="n">cpu</span><span class="o">|</span><span class="n">gpu</span><span class="p">)[</span><span class="o">-</span><span class="n">devel</span><span class="p">]</span>
</pre></div>
</div>
-<p>The commands for building on GPU platforms have been tested on Ubuntu 16.04 (cuDNN>=7 and CUDA>=9).
-<a class="reference external" href="https://hub.docker.com/r/nvidia/cuda/">Nvidia’s Docker image</a> provides the building
-environment with cuDNN and CUDA.</p>
-<p>The location of the generated package file is shown on the screen.
-Refer to <a class="reference external" href="https://conda.io/docs/commands/conda-install.html">conda install</a> for
-the instructions of installing the package from the local file.</p>
-</div>
-<div class="section" id="use-native-tools-to-build-singa-on-ubuntu">
-<h3>Use native tools to build SINGA on Ubuntu<a class="headerlink" href="#use-native-tools-to-build-singa-on-ubuntu" title="Permalink to this headline">¶</a></h3>
-<p>The following libraries are required to compile and run SINGA.
-Refer to SINGA <a class="reference external" href="https://github.com/apache/incubator-singa/blob/master/tool/docker/">Dockerfiles</a>
-for the instructions of installing them on Ubuntu 16.04.</p>
-<ul class="simple">
-<li><p>cmake (>=2.8)</p></li>
-<li><p>gcc (>=4.8.1)</p></li>
-<li><p>google protobuf (>=2.5)</p></li>
-<li><p>blas (tested with openblas >=0.2.10)</p></li>
-<li><p>swig(>=3.0.10) for compiling PySINGA</p></li>
-<li><p>numpy(>=1.11.0) for compiling PySINGA</p></li>
-</ul>
-<ol class="simple">
-<li><p>create a <code class="docutils literal notranslate"><span class="pre">build</span></code> folder inside incubator-singa and go into that folder</p></li>
-<li><p>run <code class="docutils literal notranslate"><span class="pre">cmake</span> <span class="pre">[options]</span> <span class="pre">..</span></code>
-by default all options are OFF except <code class="docutils literal notranslate"><span class="pre">USE_PYTHON</span></code></p>
-<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">USE_MODULES=ON</span></code>, used if protobuf and blas are not installed a prior</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">USE_CUDA=ON</span></code>, used if CUDA and cuDNN is available</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">USE_PYTHON3=ON</span></code>, used for compiling with Python 3 support. (The default is Python 2)</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">USE_OPENCL=ON</span></code>, used for compiling with OpenCL support</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">USE_MKLDNN=ON</span></code>, used for compiling with Intel MKL-dnn support</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">PACKAGE=ON</span></code>, used for building the Debian package</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">ENABLE_TEST</span></code>, used for compiling unit test cases</p></li>
-</ul>
+<p>| Tag | Description| Example value|
+| — | — | — |
+| <code class="docutils literal"><span class="pre">version</span></code>| SINGA version | ‘nightly‘, ‘2.0.0‘, ‘1.2.0‘|
+| <code class="docutils literal"><span class="pre">cpu</span></code> | the image cannot run on GPUs | ‘cpu‘ |
+| <code class="docutils literal"><span class="pre">gpu</span></code> | the image can run on Nvidia GPUs| ‘gpu‘, or ‘cudax.x-cudnnx.x‘ e.g., ‘cuda10.0-cudnn7.3‘|
+| <code class="docutils literal"><span class="pre">devel</span></code>| indicator for development|if absent SINGA Python package is installed for runtime only; if present, the building environment is also created, you can recompile SINGA from source at ‘/root/incubator-singa‘</p>
</li>
-<li><p>compile the code, <code class="docutils literal notranslate"><span class="pre">make</span></code></p></li>
-<li><p>goto python folder</p></li>
-<li><p>run <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">.</span></code> or <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-e</span> <span class="pre">.</span></code> The second command creates symlinks instead of copying files into python site-package folder.</p></li>
</ol>
-<p>Execute step 4 and 5 are to install PySINGA when USE_PYTHON=ON.</p>
-<p>After compiling SINGA with ENABLE_TEST=ON, you can run the unit tests by</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ ./bin/test_singa
-</pre></div>
-</div>
-<p>You can see all the testing cases with testing results. If SINGA passes all
-tests, then you have successfully installed SINGA.</p>
-</div>
-<div class="section" id="compile-singa-on-windows">
-<h3>Compile SINGA on Windows<a class="headerlink" href="#compile-singa-on-windows" title="Permalink to this headline">¶</a></h3>
-<p>Instructions for building on Windows with Python support can be found <a class="reference external" href="install_win.html">here</a>.</p>
-</div>
-<div class="section" id="more-details-about-the-compilation-options">
-<h3>More details about the compilation options<a class="headerlink" href="#more-details-about-the-compilation-options" title="Permalink to this headline">¶</a></h3>
-</div>
-<div class="section" id="use-modules">
-<h3>USE_MODULES<a class="headerlink" href="#use-modules" title="Permalink to this headline">¶</a></h3>
-<p>If protobuf and openblas are not installed, you can compile SINGA together with them</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ In SINGA ROOT folder
-$ mkdir build
-$ cd build
-$ cmake -DUSE_MODULES=ON ..
-$ make
-</pre></div>
-</div>
-<p>cmake would download OpenBlas and Protobuf (2.6.1) and compile them together
-with SINGA.</p>
-<p>You can use <code class="docutils literal notranslate"><span class="pre">ccmake</span> <span class="pre">..</span></code> to configure the compilation options.
-If some dependent libraries are not in the system default paths, you need to export
-the following environment variables</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="n">CMAKE_INCLUDE_PATH</span><span class="o">=<</span><span class="n">path</span> <span class="n">to</span> <span class="n">the</span> <span class="n">header</span> <span class="n">file</span> <span class="n">folder</span><span class="o">></span>
-<span class="n">export</span> <span class="n">CMAKE_LIBRARY_PATH</span><span class="o">=<</span><span class="n">path</span> <span class="n">to</span> <span class="n">the</span> <span class="n">lib</span> <span class="n">file</span> <span class="n">folder</span><span class="o">></span>
-</pre></div>
-</div>
-<div class="section" id="use-python">
-<h4>USE_PYTHON<a class="headerlink" href="#use-python" title="Permalink to this headline">¶</a></h4>
-<p>Similar to compile CPP code, PySINGA is compiled by</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cmake -DUSE_PYTHON=ON ..
-$ make
-$ cd python
-$ pip install .
-</pre></div>
-</div>
-</div>
-<div class="section" id="use-cuda">
-<h4>USE_CUDA<a class="headerlink" href="#use-cuda" title="Permalink to this headline">¶</a></h4>
-<p>Users are encouraged to install the CUDA and
-<a class="reference external" href="https://developer.nvidia.com/cudnn">cuDNN</a> for running SINGA on GPUs to
-get better performance.</p>
-<p>SINGA has been tested over CUDA 9, and cuDNN 7. If cuDNN is
-installed into non-system folder, e.g. /home/bob/local/cudnn/, the following
-commands should be executed for cmake and the runtime to find it</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ export CMAKE_INCLUDE_PATH=/home/bob/local/cudnn/include:$CMAKE_INCLUDE_PATH
-$ export CMAKE_LIBRARY_PATH=/home/bob/local/cudnn/lib64:$CMAKE_LIBRARY_PATH
-$ export LD_LIBRARY_PATH=/home/bob/local/cudnn/lib64:$LD_LIBRARY_PATH
-</pre></div>
-</div>
-<p>The cmake options for CUDA and cuDNN should be switched on</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># Dependent libs are install already
-$ cmake -DUSE_CUDA=ON ..
-$ make
-</pre></div>
-</div>
-</div>
-<div class="section" id="use-opencl">
-<h4>USE_OPENCL<a class="headerlink" href="#use-opencl" title="Permalink to this headline">¶</a></h4>
-<p>SINGA uses opencl-headers and viennacl (version 1.7.1 or newer) for OpenCL support, which
-can be installed using via</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># On Ubuntu 16.04
-$ sudo apt-get install opencl-headers, libviennacl-dev
-# On Fedora
-$ sudo yum install opencl-headers, viennacl
-</pre></div>
-</div>
-<p>Additionally, you will need the OpenCL Installable Client Driver (ICD) for the platforms that you want to run OpenCL on.</p>
<ul class="simple">
-<li><p>For AMD and nVidia GPUs, the driver package should also install the correct OpenCL ICD.</p></li>
-<li><p>For Intel CPUs and/or GPUs, get the driver from the <a class="reference external" href="https://software.intel.com/en-us/articles/opencl-drivers">Intel website.</a> Note that the drivers provided on that website only supports recent CPUs and Iris GPUs.</p></li>
-<li><p>For older Intel CPUs, you can use the <code class="docutils literal notranslate"><span class="pre">beignet-opencl-icd</span></code> package.</p></li>
+<li>Please note that using the nightly built images is not recommended excpet for SINGA development and testing. Using an official release is recommended. Official releases have version numbers such as ‘2.0.0‘ and ‘1.2.0‘.</li>
</ul>
-<p>Note that running OpenCL on CPUs is not currently recommended because it is slow.
-Memory transfer is on the order of whole seconds (1000’s of ms on CPUs as compared to 1’s of ms on GPUs).</p>
-<p>More information on setting up a working OpenCL environment may be found <a class="reference external" href="https://wiki.tiker.net/OpenCLHowTo">here</a>.</p>
-<p>If the package version of ViennaCL is not at least 1.7.1, you will need to build it from source:</p>
-<p>Clone <a class="reference external" href="https://github.com/viennacl/viennacl-dev">the repository from here</a>, checkout the <code class="docutils literal notranslate"><span class="pre">release-1.7.1</span></code> tag and build it.
-Remember to add its directory to <code class="docutils literal notranslate"><span class="pre">PATH</span></code> and the built libraries to <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code>.</p>
-<p>To build SINGA with OpenCL support (tested on SINGA 1.1):</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cmake -DUSE_OPENCL=ON ..
-$ make
-</pre></div>
-</div>
-</div>
-<div class="section" id="use-mkldnn">
-<h4>USE_MKLDNN<a class="headerlink" href="#use-mkldnn" title="Permalink to this headline">¶</a></h4>
-<p>User can enable MKL-DNN to enhance the performance of CPU computation.</p>
-<p>Installation guide of MKL-DNN could be found <a class="reference external" href="https://github.com/intel/mkl-dnn#installation">here</a>.</p>
-<p>SINGA has been tested over MKL-DNN v0.17.2.</p>
-<p>To build SINGA with MKL-DNN support:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># Dependent libs are installed already
-$ cmake -DUSE_MKLDNN=ON ..
-$ make
-</pre></div>
-</div>
-</div>
-<div class="section" id="package">
-<h4>PACKAGE<a class="headerlink" href="#package" title="Permalink to this headline">¶</a></h4>
-<p>This setting is used to build the Debian package. Set PACKAGE=ON and build the package with make command like this:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cmake -DPACKAGE=ON
-$ make package
-</pre></div>
-</div>
-</div>
</div>
+<div class="section" id="from-source">
+<h2>From source<a class="headerlink" href="#from-source" title="Permalink to this headline">¶</a></h2>
+<p>You can <a class="reference internal" href="../develop/build.html"><span class="doc">build and install SINGA</span></a> from the source code using native building tools or conda-build, on local host OS or in a Docker container.</p>
</div>
<div class="section" id="faq">
<h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p>Q: Error from ‘import singa’ using PySINGA installed from wheel.</p>
-<p>A: Please check the detailed error from <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-c</span> <span class="pre">"from</span> <span class="pre">singa</span> <span class="pre">import</span> <span class="pre">_singa_wrap"</span></code>. Sometimes it is
-caused by the dependent libraries, e.g. there are multiple versions of protobuf, missing of cudnn, numpy version mismatch. Following
-steps show the solutions for different cases</p>
-<ol>
-<li><p>Check the cudnn and cuda and gcc versions, cudnn5 and cuda7.5 and gcc4.8/4.9 are preferred. if gcc is 5.0, then downgrade it.
-If cudnn is missing or not match with the wheel version, you can download the correct version of cudnn into ~/local/cudnn/ and</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/cudnn/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
-</pre></div>
-</div>
-</li>
-<li><p>If it is the problem related to protobuf, then download the newest whl files which have <a class="reference external" href="https://issues.apache.org/jira/browse/SINGA-255">compiled protobuf and openblas into the whl</a> file of PySINGA.
-Or you can install protobuf from source into a local folder, say ~/local/;
-Decompress the tar file, and then</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ ./configure --prefix=/home/<yourname>local
- $ make && make install
- $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
- $ source ~/.bashrc
-</pre></div>
-</div>
-</li>
-<li><p>If it cannot find other libs including python, then create virtual env using pip or conda;</p></li>
-<li><p>If it is not caused by the above reasons, go to the folder of <code class="docutils literal notranslate"><span class="pre">_singa_wrap.so</span></code>,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ python
- >> import importlib
- >> importlib.import_module('_singa_wrap')
-</pre></div>
-</div>
-</li>
-</ol>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Check</span> <span class="n">the</span> <span class="n">error</span> <span class="n">message</span><span class="o">.</span> <span class="n">For</span> <span class="n">example</span><span class="p">,</span> <span class="k">if</span> <span class="n">the</span> <span class="n">numpy</span> <span class="n">version</span> <span class="n">mismatches</span><span class="p">,</span> <span class="n" [...]
-
- <span class="ne">RuntimeError</span><span class="p">:</span> <span class="n">module</span> <span class="n">compiled</span> <span class="n">against</span> <span class="n">API</span> <span class="n">version</span> <span class="mh">0xb</span> <span class="n">but</span> <span class="n">this</span> <span class="n">version</span> <span class="n">of</span> <span class="n">numpy</span> <span class="ow">is</span> <span class="mh">0xa</span>
-
-<span class="n">Then</span> <span class="n">you</span> <span class="n">need</span> <span class="n">to</span> <span class="n">upgrade</span> <span class="n">the</span> <span class="n">numpy</span><span class="o">.</span>
-</pre></div>
-</div>
-</li>
-<li><p>Q: Error from running <code class="docutils literal notranslate"><span class="pre">cmake</span> <span class="pre">..</span></code>, which cannot find the dependent libraries.</p>
-<p>A: If you haven’t installed the libraries, install them. If you installed
-the libraries in a folder that is outside of the system folder, e.g. /usr/local,
-you need to export the following variables</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export CMAKE_INCLUDE_PATH=<path to your header file folder>
- $ export CMAKE_LIBRARY_PATH=<path to your lib file folder>
-</pre></div>
-</div>
-</li>
-<li><p>Q: Error from <code class="docutils literal notranslate"><span class="pre">make</span></code>, e.g. the linking phase</p>
-<p>A: If your libraries are in other folders than system default paths, you need
-to export the following varaibles</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export LIBRARY_PATH=<path to your lib file folder>
- $ export LD_LIBRARY_PATH=<path to your lib file folder>
-</pre></div>
-</div>
-</li>
-<li><p>Q: Error from header files, e.g. ‘cblas.h no such file or directory exists’</p>
-<p>A: You need to include the folder of the cblas.h into CPLUS_INCLUDE_PATH,
-e.g.,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export CPLUS_INCLUDE_PATH=/opt/OpenBLAS/include:$CPLUS_INCLUDE_PATH
+<li><p class="first">Q: Error from <code class="docutils literal"><span class="pre">from</span> <span class="pre">singa</span> <span class="pre">import</span> <span class="pre">tensor</span></code></p>
+<p>A: Check the detailed error from</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">c</span> <span class="s2">"from singa import _singa_wrap"</span>
+<span class="c1"># go to the folder of _singa_wrap.so</span>
+<span class="n">ldd</span> <span class="n">path</span> <span class="n">to</span> <span class="n">_singa_wrap</span><span class="o">.</span><span class="n">so</span>
+<span class="n">python</span>
+<span class="o">>></span> <span class="kn">import</span> <span class="nn">importlib</span>
+<span class="o">>></span> <span class="n">importlib</span><span class="o">.</span><span class="n">import_module</span><span class="p">(</span><span class="s1">'_singa_wrap'</span><span class="p">)</span>
</pre></div>
</div>
-</li>
-<li><p>Q:While compiling SINGA, I get error <code class="docutils literal notranslate"><span class="pre">SSE2</span> <span class="pre">instruction</span> <span class="pre">set</span> <span class="pre">not</span> <span class="pre">enabled</span></code></p>
-<p>A:You can try following command:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ make CFLAGS='-msse2' CXXFLAGS='-msse2'
-</pre></div>
-</div>
-</li>
-<li><p>Q:I get <code class="docutils literal notranslate"><span class="pre">ImportError:</span> <span class="pre">cannot</span> <span class="pre">import</span> <span class="pre">name</span> <span class="pre">enum_type_wrapper</span></code> from google.protobuf.internal when I try to import .py files.</p>
-<p>A: You need to install the python binding of protobuf, which could be installed via</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ sudo apt-get install protobuf
-</pre></div>
-</div>
-<p>or from source</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ cd /PROTOBUF/SOURCE/FOLDER
- $ cd python
- $ python setup.py build
- $ python setup.py install
-</pre></div>
-</div>
-</li>
-<li><p>Q: When I build OpenBLAS from source, I am told that I need a Fortran compiler.</p>
-<p>A: You can compile OpenBLAS by</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ make ONLY_CBLAS=1
-</pre></div>
-</div>
-<p>or install it using</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ sudo apt-get install libopenblas-dev
-</pre></div>
-</div>
-</li>
-<li><p>Q: When I build protocol buffer, it reports that GLIBC++_3.4.20 not found in /usr/lib64/libstdc++.so.6.</p>
-<p>A: This means the linker found libstdc++.so.6 but that library
-belongs to an older version of GCC than was used to compile and link the
-program. The program depends on code defined in
-the newer libstdc++ that belongs to the newer version of GCC, so the linker
-must be told how to find the newer libstdc++ shared library.
-The simplest way to fix this is to find the correct libstdc++ and export it to
-LD_LIBRARY_PATH. For example, if GLIBC++_3.4.20 is listed in the output of the
-following command,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ strings /usr/local/lib64/libstdc++.so.6|grep GLIBC++
-</pre></div>
-</div>
-<p>then you just set your environment variable as</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
-</pre></div>
-</div>
-</li>
-<li><p>Q: When I build glog, it reports that “src/logging_unittest.cc:83:20: error: ‘gflags’ is not a namespace-name”</p>
-<p>A: It maybe that you have installed gflags with a different namespace such as “google”. so glog can’t find ‘gflags’ namespace.
-Because it is not necessary to have gflags to build glog. So you can change the configure.ac file to ignore gflags.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="mf">1.</span> <span class="n">cd</span> <span class="n">to</span> <span class="n">glog</span> <span class="n">src</span> <span class="n">directory</span>
- <span class="mf">2.</span> <span class="n">change</span> <span class="n">line</span> <span class="mi">125</span> <span class="n">of</span> <span class="n">configure</span><span class="o">.</span><span class="n">ac</span> <span class="n">to</span> <span class="s2">"AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=0, ac_cv_have_libgflags=0)"</span>
- <span class="mf">3.</span> <span class="n">autoreconf</span>
+<p>The folder of <code class="docutils literal"><span class="pre">_singa_wrap.so</span></code> is like ‘ ~/miniconda3/lib/python3.7/site-packages/singa‘.
+Normally, the error is caused by the mismatch or missing of dependent libraries, e.g. cuDNN or protobuf. The solution is to create a new virtual environment and install SINGA in that environment, e.g.,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">create</span> <span class="o">-</span><span class="n">n</span> <span class="n">singa</span>
+ <span class="n">conda</span> <span class="n">activate</span> <span class="n">singa</span>
+ <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">singa</span><span class="o">-</span><span class="n">cpu</span>
</pre></div>
</div>
-<p>After this, you can build glog again.</p>
-</li>
-<li><p>Q: When using virtual environment, everytime I run pip install, it would reinstall numpy. However, the numpy would not be used when I <code class="docutils literal notranslate"><span class="pre">import</span> <span class="pre">numpy</span></code></p>
-<p>A: It could be caused by the <code class="docutils literal notranslate"><span class="pre">PYTHONPATH</span></code> which should be set to empty when you are using virtual environment to avoid the conflicts with the path of
-the virtual environment.</p>
</li>
-<li><p>Q: When compiling PySINGA from source, there is a compilation error due to the missing of <numpy/objectarray.h></p>
-<p>A: Please install numpy and export the path of numpy header files as</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export CPLUS_INCLUDE_PATH=`python -c "import numpy; print numpy.get_include()"`:$CPLUS_INCLUDE_PATH
-</pre></div>
-</div>
+<li><p class="first">Q: When using virtual environment, every time I install SINGA, numpy would be reinstalled. However, the numpy is not used when I run <code class="docutils literal"><span class="pre">import</span> <span class="pre">numpy</span></code></p>
+<p>A: It could be caused by the <code class="docutils literal"><span class="pre">PYTHONPATH</span></code> environment variable which should be set to empty when you are using virtual environment to avoid the conflicts with the path of the virtual environment.</p>
</li>
-<li><p>Q: When I run PySINGA in Mac OS X, I got the error “Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6”</p>
-<p>A: This error happens typically when you have multiple version of Python on your system and you installed SINGA via pip (this problem is resolved for installation via conda),
-e.g, the one comes with the OS and the one installed by Homebrew. The Python linked by PySINGA must be the same as the Python interpreter.
-You can check your interpreter by <code class="docutils literal notranslate"><span class="pre">which</span> <span class="pre">python</span></code> and check the Python linked by PySINGA via <code class="docutils literal notranslate"><span class="pre">otool</span> <span class="pre">-L</span> <span class="pre"><path</span> <span class="pre">to</span> <span class="pre">_singa_wrap.so></span></code>.
-To fix this error, compile SINGA with the correct version of Python.
-In particular, if you build PySINGA from source, you need to specify the paths when invoking <a class="reference external" href="http://stackoverflow.com/questions/15291500/i-have-2-versions-of-python-installed-but-cmake-is-using-older-version-how-do">cmake</a></p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ cmake -DPYTHON_LIBRARY=`python-config --prefix`/lib/libpython2.7.dylib -DPYTHON_INCLUDE_DIR=`python-config --prefix`/include/python2.7/ ..
-</pre></div>
-</div>
-<p>If installed PySINGA from binary packages, e.g. debian or wheel, then you need to change the python interpreter, e.g., reset the $PATH to put the correct path of Python at the front position.</p>
+<li><p class="first">Q: When I run SINGA in Mac OS X, I got the error “Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6“</p>
+<p>A: This error happens typically when you have multiple versions of Python in your system, e.g, the one comes with the OS and the one installed by Homebrew. The Python linked by SINGA must be the same as the Python interpreter. You can check your interpreter by <code class="docutils literal"><span class="pre">which</span> <span class="pre">python</span></code> and check the Python linked by SINGA via <code class="docutils literal"><span class="pre">otool</span> <span class="pre">-L</sp [...]
+This problem should be resolved if SINGA is installation via conda.</p>
</li>
</ul>
</div>
diff --git a/content/docs/layer.html b/content/docs/layer.html
index 3d02e6b..6d576c3 100644
--- a/content/docs/layer.html
+++ b/content/docs/layer.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,6 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="FeedForward Net" href="net.html" />
- <link rel="prev" title="Tensor" href="tensor.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -100,40 +107,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Layer</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#module-singa.layer">Python API</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#cpp-api">CPP API</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -189,8 +169,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Layer</li>
@@ -210,949 +188,8 @@
<div class="section" id="layer">
<h1>Layer<a class="headerlink" href="#layer" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="module-singa.layer">
-<span id="python-api"></span><h2>Python API<a class="headerlink" href="#module-singa.layer" title="Permalink to this headline">¶</a></h2>
-<p>Python layers wrap the C++ layers to provide simpler construction APIs.</p>
-<p>Example usages:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">layer</span>
-<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">tensor</span>
-<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">device</span>
-
-<span class="n">layer</span><span class="o">.</span><span class="n">engine</span> <span class="o">=</span> <span class="s1">'cudnn'</span> <span class="c1"># to use cudnn layers</span>
-<span class="n">dev</span> <span class="o">=</span> <span class="n">device</span><span class="o">.</span><span class="n">create_cuda_gpu</span><span class="p">()</span>
-
-<span class="c1"># create a convolution layer</span>
-<span class="n">conv</span> <span class="o">=</span> <span class="n">layer</span><span class="o">.</span><span class="n">Conv2D</span><span class="p">(</span><span class="s1">'conv'</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">pad</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">inpu [...]
-
-<span class="c1"># init param values</span>
-<span class="n">w</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="n">conv</span><span class="o">.</span><span class="n">param_values</span><span class="p">()</span>
-<span class="n">w</span><span class="o">.</span><span class="n">guassian</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mf">0.01</span><span class="p">)</span>
-<span class="n">b</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
-<span class="n">conv</span><span class="o">.</span><span class="n">to_device</span><span class="p">(</span><span class="n">dev</span><span class="p">)</span> <span class="c1"># move the layer data onto a CudaGPU device</span>
-
-<span class="n">x</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">3</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">32</span><span class="p">),</span> <span class="n">dev</span><span class="p">)</span>
-<span class="n">x</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
-<span class="n">y</span> <span class="o">=</span> <span class="n">conv</span><span class="o">.</span><span class="n">foward</span><span class="p">(</span><span class="kc">True</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
-
-<span class="n">dy</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">Tensor</span><span class="p">()</span>
-<span class="n">dy</span><span class="o">.</span><span class="n">reset_like</span><span class="p">(</span><span class="n">y</span><span class="p">)</span>
-<span class="n">dy</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="mf">0.1</span><span class="p">)</span>
-<span class="c1"># dp is a list of tensors for parameter gradients</span>
-<span class="n">dx</span><span class="p">,</span> <span class="n">dp</span> <span class="o">=</span> <span class="n">conv</span><span class="o">.</span><span class="n">backward</span><span class="p">(</span><span class="n">kTrain</span><span class="p">,</span> <span class="n">dy</span><span class="p">)</span>
-</pre></div>
-</div>
-<dl class="data">
-<dt id="singa.layer.engine">
-<code class="descclassname">singa.layer.</code><code class="descname">engine</code><em class="property"> = 'cudnn'</em><a class="headerlink" href="#singa.layer.engine" title="Permalink to this definition">¶</a></dt>
-<dd><p>engine is the prefix of layer identifier.</p>
-<p>The value could be one of [<strong>‘cudnn’, ‘singacpp’, ‘singacuda’, ‘singacl’</strong>], for
-layers implemented using the cudnn library, Cpp, Cuda and OpenCL respectively.
-For example, CudnnConvolution layer is identified by ‘cudnn_convolution’;
-‘singacpp_convolution’ is for Convolution layer;
-Some layers’ implementation use only Tensor functions, thererfore they are
-transparent to the underlying devices. For threse layers, they would have
-multiple identifiers, e.g., singacpp_dropout, singacuda_dropout and
-singacl_dropout are all for the Dropout layer. In addition, it has an extra
-identifier ‘singa’, i.e. ‘singa_dropout’ also stands for the Dropout layer.</p>
-<p>engine is case insensitive. Each python layer would create the correct specific
-layer using the engine attribute.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Layer">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Layer</code><span class="sig-paren">(</span><em>name</em>, <em>conf=None</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
-<p>Base Python layer class.</p>
-<dl class="simple">
-<dt>Typically, the life cycle of a layer instance includes:</dt><dd><ol class="arabic simple">
-<li><p>construct layer without input_sample_shapes, goto 2;
-construct layer with input_sample_shapes, goto 3;</p></li>
-<li><p>call setup to create the parameters and setup other meta fields</p></li>
-<li><p>call forward or access layer members</p></li>
-<li><p>call backward and get parameters for update</p></li>
-</ol>
-</dd>
-</dl>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>name</strong> (<em>str</em>) – layer name</p>
-</dd>
-</dl>
-<dl class="method">
-<dt id="singa.layer.Layer.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>in_shapes</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Call the C++ setup function to create params and set some meta data.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>in_shapes</strong> – if the layer accepts a single input Tensor, in_shapes is
-a single tuple specifying the inpute Tensor shape; if the layer
-accepts multiple input Tensor (e.g., the concatenation layer),
-in_shapes is a tuple of tuples, each for one input Tensor</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.caffe_layer">
-<code class="descname">caffe_layer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.caffe_layer" title="Permalink to this definition">¶</a></dt>
-<dd><p>Create a singa layer based on caffe layer configuration.</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.param_names">
-<code class="descname">param_names</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.param_names" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a list of strings, one for the name of one parameter Tensor</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.param_values">
-<code class="descname">param_values</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.param_values" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return param value tensors.</p>
-<p>Parameter tensors are not stored as layer members because cpp Tensor
-could be moved onto diff devices due to the change of layer device,
-which would result in inconsistency.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a list of tensors, one for each paramter</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Forward propagate through this layer.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> – True (kTrain) for training (kEval); False for evaluating;
-other values for furture use.</p></li>
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a><em> or </em><em>list<Tensor></em>) – an input tensor if the layer is
-connected from a single layer; a list of tensors if the layer
-is connected from multiple layers.</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a tensor if the layer is connected to a single layer; a list of
-tensors if the layer is connected to multiple layers;</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>dy</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Backward propagate gradients through this layer.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> (<em>int</em>) – for future use.</p></li>
-<li><p><strong>dy</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a><em> or </em><em>list<Tensor></em>) – the gradient tensor(s) y w.r.t the
-objective loss</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p><dx, <dp1, dp2..>>, dx is a (set of) tensor(s) for the gradient of x
-, dpi is the gradient of the i-th parameter</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.to_device">
-<code class="descname">to_device</code><span class="sig-paren">(</span><em>device</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.to_device" title="Permalink to this definition">¶</a></dt>
-<dd><p>Move layer state tensors onto the given device.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>device</strong> – swig converted device, created using singa.device</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.as_type">
-<code class="descname">as_type</code><span class="sig-paren">(</span><em>dtype</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.as_type" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Dummy">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Dummy</code><span class="sig-paren">(</span><em>name</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dummy" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>A dummy layer that does nothing but just forwards/backwards the data
-(the input/output is a single tensor).</p>
-<dl class="method">
-<dt id="singa.layer.Dummy.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dummy.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Dummy.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>input_sample_shape</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dummy.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Call the C++ setup function to create params and set some meta data.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>in_shapes</strong> – if the layer accepts a single input Tensor, in_shapes is
-a single tuple specifying the inpute Tensor shape; if the layer
-accepts multiple input Tensor (e.g., the concatenation layer),
-in_shapes is a tuple of tuples, each for one input Tensor</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Dummy.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dummy.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return the input x</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Dummy.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>falg</em>, <em>dy</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dummy.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return dy, []</p>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Conv2D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Conv2D</code><span class="sig-paren">(</span><em>name</em>, <em>nb_kernels</em>, <em>kernel=3</em>, <em>stride=1</em>, <em>border_mode='same'</em>, <em>cudnn_prefer='fastest'</em>, <em>workspace_byte_limit=1024</em>, <em>data_format='NCHW'</em>, <em>use_bias=True</em>, <em>W_specs=None</em>, <em>b_specs=None</em>, <em>pad=None</em>, <em>input_sample_shape=None</em><span class="sig-paren" [...]
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Construct a layer for 2D convolution.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>nb_kernels</strong> (<em>int</em>) – num of the channels (kernels) of the input Tensor</p></li>
-<li><p><strong>kernel</strong> – an integer or a pair of integers for kernel height and width</p></li>
-<li><p><strong>stride</strong> – an integer or a pair of integers for stride height and width</p></li>
-<li><p><strong>border_mode</strong> (<em>string</em>) – padding mode, case in-sensitive,
-‘valid’ -> padding is 0 for height and width
-‘same’ -> padding is half of the kernel (floor), the kernel must be
-odd number.</p></li>
-<li><p><strong>cudnn_prefer</strong> (<em>string</em>) – the preferred algorithm for cudnn convolution
-which could be ‘fastest’, ‘autotune’, ‘limited_workspace’ and
-‘no_workspace’</p></li>
-<li><p><strong>workspace_byte_limit</strong> (<em>int</em>) – max workspace size in MB (default is 512MB)</p></li>
-<li><p><strong>data_format</strong> (<em>string</em>) – either ‘NCHW’ or ‘NHWC’</p></li>
-<li><p><strong>use_bias</strong> (<em>bool</em>) – True or False</p></li>
-<li><p><strong>pad</strong> – an integer or a pair of integers for padding height and width</p></li>
-<li><p><strong>W_specs</strong> (<em>dict</em>) – used to specify the weight matrix specs, fields
-include,
-‘name’ for parameter name
-‘lr_mult’ for learning rate multiplier
-‘decay_mult’ for weight decay multiplier
-‘init’ for init method, which could be ‘gaussian’, ‘uniform’,
-‘xavier’ and ‘’
-‘std’, ‘mean’, ‘high’, ‘low’ for corresponding init methods
-TODO(wangwei) ‘clamp’ for gradient constraint, value is scalar
-‘regularizer’ for regularization, currently support ‘l2’</p></li>
-<li><p><strong>b_specs</strong> (<em>dict</em>) – hyper-parameters for bias vector, similar as W_specs</p></li>
-<li><p><strong>name</strong> (<em>string</em>) – layer name.</p></li>
-<li><p><strong>input_sample_shape</strong> – 3d tuple for the shape of the input Tensor
-without the batchsize, e.g., (channel, height, width) or
-(height, width, channel)</p></li>
-</ul>
-</dd>
-</dl>
-<dl class="method">
-<dt id="singa.layer.Conv2D.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>in_shape</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Conv2D.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Set up the kernel, stride and padding; then call the C++ setup
-function to create params and set some meta data.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>is a tuple of int for the input sample shape</strong> (<em>in_shapes</em>) – </p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Conv1D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Conv1D</code><span class="sig-paren">(</span><em>name</em>, <em>nb_kernels</em>, <em>kernel=3</em>, <em>stride=1</em>, <em>border_mode='same'</em>, <em>cudnn_prefer='fastest'</em>, <em>workspace_byte_limit=1024</em>, <em>use_bias=True</em>, <em>W_specs={'init': 'Xavier'}</em>, <em>b_specs={'init': 'Constant'</em>, <em>'value': 0}</em>, <em>pad=None</em>, <em>input_sample_shape=None</em>< [...]
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Conv2D" title="singa.layer.Conv2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Conv2D</span></code></a></p>
-<p>Construct a layer for 1D convolution.</p>
-<p>Most of the args are the same as those for Conv2D except the kernel,
-stride, pad, which is a scalar instead of a tuple.
-input_sample_shape is a tuple with a single value for the input feature
-length</p>
-<dl class="method">
-<dt id="singa.layer.Conv1D.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Conv1D.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Pooling2D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Pooling2D</code><span class="sig-paren">(</span><em>name</em>, <em>mode</em>, <em>kernel=3</em>, <em>stride=2</em>, <em>border_mode='same'</em>, <em>pad=None</em>, <em>data_format='NCHW'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Pooling2D" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>2D pooling layer providing max/avg pooling.</p>
-<p>All args are the same as those for Conv2D, except the following one</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>mode</strong> – pooling type, model_pb2.PoolingConf.MAX or
-model_pb2.PoolingConf.AVE</p>
-</dd>
-</dl>
-<dl class="method">
-<dt id="singa.layer.Pooling2D.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>in_shape</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Pooling2D.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Set up the kernel, stride and padding; then call the C++ setup
-function to create params and set some meta data.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>is a tuple of int for the input sample shape</strong> (<em>in_shapes</em>) – </p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.MaxPooling2D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">MaxPooling2D</code><span class="sig-paren">(</span><em>name</em>, <em>kernel=3</em>, <em>stride=2</em>, <em>border_mode='same'</em>, <em>pad=None</em>, <em>data_format='NCHW'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.MaxPooling2D" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Pooling2D" title="singa.layer.Pooling2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Pooling2D</span></code></a></p>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.AvgPooling2D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">AvgPooling2D</code><span class="sig-paren">(</span><em>name</em>, <em>kernel=3</em>, <em>stride=2</em>, <em>border_mode='same'</em>, <em>pad=None</em>, <em>data_format='NCHW'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.AvgPooling2D" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Pooling2D" title="singa.layer.Pooling2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Pooling2D</span></code></a></p>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.MaxPooling1D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">MaxPooling1D</code><span class="sig-paren">(</span><em>name</em>, <em>kernel=3</em>, <em>stride=2</em>, <em>border_mode='same'</em>, <em>pad=None</em>, <em>data_format='NCHW'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.MaxPooling1D" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.MaxPooling2D" title="singa.layer.MaxPooling2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.MaxPooling2D</span></code></a></p>
-<dl class="method">
-<dt id="singa.layer.MaxPooling1D.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.MaxPooling1D.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.AvgPooling1D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">AvgPooling1D</code><span class="sig-paren">(</span><em>name</em>, <em>kernel=3</em>, <em>stride=2</em>, <em>border_mode='same'</em>, <em>pad=None</em>, <em>data_format='NCHW'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.AvgPooling1D" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.AvgPooling2D" title="singa.layer.AvgPooling2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.AvgPooling2D</span></code></a></p>
-<dl class="method">
-<dt id="singa.layer.AvgPooling1D.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.AvgPooling1D.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.BatchNormalization">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">BatchNormalization</code><span class="sig-paren">(</span><em>name</em>, <em>momentum=0.9</em>, <em>beta_specs=None</em>, <em>gamma_specs=None</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.BatchNormalization" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Batch-normalization.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>momentum</strong> (<em>float</em>) – for running average mean and variance.</p></li>
-<li><p><strong>beta_specs</strong> (<em>dict</em>) – dictionary includes the fields for the beta
-param:
-‘name’ for parameter name
-‘lr_mult’ for learning rate multiplier
-‘decay_mult’ for weight decay multiplier
-‘init’ for init method, which could be ‘gaussian’, ‘uniform’,
-‘xavier’ and ‘’
-‘std’, ‘mean’, ‘high’, ‘low’ for corresponding init methods
-‘clamp’ for gradient constraint, value is scalar
-‘regularizer’ for regularization, currently support ‘l2’</p></li>
-<li><p><strong>gamma_specs</strong> (<em>dict</em>) – similar to beta_specs, but for the gamma param.</p></li>
-<li><p><strong>name</strong> (<em>string</em>) – layer name</p></li>
-<li><p><strong>input_sample_shape</strong> (<em>tuple</em>) – with at least one integer</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.L2Norm">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">L2Norm</code><span class="sig-paren">(</span><em>name</em>, <em>input_sample_shape</em>, <em>epsilon=1e-08</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.L2Norm" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Normalize each sample to have L2 norm = 1</p>
-<dl class="method">
-<dt id="singa.layer.L2Norm.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.L2Norm.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.L2Norm.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>is_train</em>, <em>x</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.L2Norm.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Forward propagate through this layer.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> – True (kTrain) for training (kEval); False for evaluating;
-other values for furture use.</p></li>
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a><em> or </em><em>list<Tensor></em>) – an input tensor if the layer is
-connected from a single layer; a list of tensors if the layer
-is connected from multiple layers.</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a tensor if the layer is connected to a single layer; a list of
-tensors if the layer is connected to multiple layers;</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.L2Norm.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>is_train</em>, <em>dy</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.L2Norm.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Backward propagate gradients through this layer.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> (<em>int</em>) – for future use.</p></li>
-<li><p><strong>dy</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a><em> or </em><em>list<Tensor></em>) – the gradient tensor(s) y w.r.t the
-objective loss</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p><dx, <dp1, dp2..>>, dx is a (set of) tensor(s) for the gradient of x
-, dpi is the gradient of the i-th parameter</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.LRN">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">LRN</code><span class="sig-paren">(</span><em>name</em>, <em>size=5</em>, <em>alpha=1</em>, <em>beta=0.75</em>, <em>mode='cross_channel'</em>, <em>k=1</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.LRN" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Local response normalization.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>size</strong> (<em>int</em>) – # of channels to be crossed
-normalization.</p></li>
-<li><p><strong>mode</strong> (<em>string</em>) – ‘cross_channel’</p></li>
-<li><p><strong>input_sample_shape</strong> (<em>tuple</em>) – 3d tuple, (channel, height, width)</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Dense">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Dense</code><span class="sig-paren">(</span><em>name</em>, <em>num_output</em>, <em>use_bias=True</em>, <em>W_specs=None</em>, <em>b_specs=None</em>, <em>W_transpose=False</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dense" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Apply linear/affine transformation, also called inner-product or
-fully connected layer.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>num_output</strong> (<em>int</em>) – output feature length.</p></li>
-<li><p><strong>use_bias</strong> (<em>bool</em>) – add a bias vector or not to the transformed feature</p></li>
-<li><p><strong>W_specs</strong> (<em>dict</em>) – specs for the weight matrix
-‘name’ for parameter name
-‘lr_mult’ for learning rate multiplier
-‘decay_mult’ for weight decay multiplier
-‘init’ for init method, which could be ‘gaussian’, ‘uniform’,
-‘xavier’ and ‘’
-‘std’, ‘mean’, ‘high’, ‘low’ for corresponding init methods
-‘clamp’ for gradient constraint, value is scalar
-‘regularizer’ for regularization, currently support ‘l2’</p></li>
-<li><p><strong>b_specs</strong> (<em>dict</em>) – specs for the bias vector, same fields as W_specs.</p></li>
-<li><p><strong>W_transpose</strong> (<em>bool</em>) – if true, output=x*W.T+b;</p></li>
-<li><p><strong>input_sample_shape</strong> (<em>tuple</em>) – input feature length</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Dropout">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Dropout</code><span class="sig-paren">(</span><em>name</em>, <em>p=0.5</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dropout" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Droput layer.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>p</strong> (<em>float</em>) – probability for dropping out the element, i.e., set to 0</p></li>
-<li><p><strong>name</strong> (<em>string</em>) – layer name</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Activation">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Activation</code><span class="sig-paren">(</span><em>name</em>, <em>mode='relu'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Activation" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Activation layers.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>name</strong> (<em>string</em>) – layer name</p></li>
-<li><p><strong>mode</strong> (<em>string</em>) – ‘relu’, ‘sigmoid’, or ‘tanh’</p></li>
-<li><p><strong>input_sample_shape</strong> (<em>tuple</em>) – shape of a single sample</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Softmax">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Softmax</code><span class="sig-paren">(</span><em>name</em>, <em>axis=1</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Softmax" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Apply softmax.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>axis</strong> (<em>int</em>) – reshape the input as a matrix with the dimension
-[0,axis) as the row, the [axis, -1) as the column.</p></li>
-<li><p><strong>input_sample_shape</strong> (<em>tuple</em>) – shape of a single sample</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Flatten">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Flatten</code><span class="sig-paren">(</span><em>name</em>, <em>axis=1</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Flatten" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Reshape the input tensor into a matrix.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>axis</strong> (<em>int</em>) – reshape the input as a matrix with the dimension
-[0,axis) as the row, the [axis, -1) as the column.</p></li>
-<li><p><strong>input_sample_shape</strong> (<em>tuple</em>) – shape for a single sample</p></li>
-</ul>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Merge">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Merge</code><span class="sig-paren">(</span><em>name</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Merge" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Sum all input tensors.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>input_sample_shape</strong> – sample shape of the input. The sample shape of all
-inputs should be the same.</p>
-</dd>
-</dl>
-<dl class="method">
-<dt id="singa.layer.Merge.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>in_shape</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Merge.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Call the C++ setup function to create params and set some meta data.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>in_shapes</strong> – if the layer accepts a single input Tensor, in_shapes is
-a single tuple specifying the inpute Tensor shape; if the layer
-accepts multiple input Tensor (e.g., the concatenation layer),
-in_shapes is a tuple of tuples, each for one input Tensor</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Merge.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Merge.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Merge.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>inputs</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Merge.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Merge all input tensors by summation.</p>
-<p>TODO(wangwei) do element-wise merge operations, e.g., avg, count
-:param flag: not used.
-:param inputs: a list of tensors
-:type inputs: list</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>A single tensor as the sum of all input tensors</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Merge.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>grad</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Merge.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Replicate the grad for each input source layer.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>grad</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – </p>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>A list of replicated grad, one per source layer</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Split">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Split</code><span class="sig-paren">(</span><em>name</em>, <em>num_output</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Split" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Replicate the input tensor.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>num_output</strong> (<em>int</em>) – number of output tensors to generate.</p></li>
-<li><p><strong>input_sample_shape</strong> – includes a single integer for the input sample
-feature size.</p></li>
-</ul>
-</dd>
-</dl>
-<dl class="method">
-<dt id="singa.layer.Split.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>in_shape</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Split.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Call the C++ setup function to create params and set some meta data.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>in_shapes</strong> – if the layer accepts a single input Tensor, in_shapes is
-a single tuple specifying the inpute Tensor shape; if the layer
-accepts multiple input Tensor (e.g., the concatenation layer),
-in_shapes is a tuple of tuples, each for one input Tensor</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Split.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Split.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Split.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>input</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Split.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Replicate the input tensor into mutiple tensors.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> – not used</p></li>
-<li><p><strong>input</strong> – a single input tensor</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a list a output tensor (each one is a copy of the input)</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Split.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>grads</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Split.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Sum all grad tensors to generate a single output tensor.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><p><strong>grads</strong> (<em>list of Tensor</em>) – </p>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a single tensor as the sum of all grads</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Concat">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Concat</code><span class="sig-paren">(</span><em>name</em>, <em>axis</em>, <em>input_sample_shapes=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Concat" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Concatenate tensors vertically (axis = 0) or horizontally (axis = 1).</p>
-<p>Currently, only support tensors with 2 dimensions.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>axis</strong> (<em>int</em>) – 0 for concat row; 1 for concat columns;</p></li>
-<li><p><strong>input_sample_shapes</strong> – a list of sample shape tuples, one per input tensor</p></li>
-</ul>
-</dd>
-</dl>
-<dl class="method">
-<dt id="singa.layer.Concat.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>inputs</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Concat.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Concatenate all input tensors.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> – same as Layer::forward()</p></li>
-<li><p><strong>input</strong> – a list of tensors</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a single concatenated tensor</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Concat.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>dy</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Concat.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Backward propagate gradients through this layer.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> – same as Layer::backward()</p></li>
-<li><p><strong>dy</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – the gradient tensors of y w.r.t objective loss</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p><dl class="simple">
-<dt><dx, []>, dx is a list tensors for the gradient of the inputs; []</dt><dd><p>is an empty list.</p>
-</dd>
-</dl>
-</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Slice">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Slice</code><span class="sig-paren">(</span><em>name</em>, <em>axis</em>, <em>slice_point</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Slice" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Slice the input tensor into multiple sub-tensors vertially (axis=0) or
-horizontally (axis=1).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>axis</strong> (<em>int</em>) – 0 for slice rows; 1 for slice columns;</p></li>
-<li><p><strong>slice_point</strong> (<em>list</em>) – positions along the axis to do slice; there are n-1
-points for n sub-tensors;</p></li>
-<li><p><strong>input_sample_shape</strong> – input tensor sample shape</p></li>
-</ul>
-</dd>
-</dl>
-<dl class="method">
-<dt id="singa.layer.Slice.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Slice.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Slice.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Slice.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Slice the input tensor on the given axis.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> – same as Layer::forward()</p></li>
-<li><p><strong>x</strong> – a single input tensor</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a list a output tensor</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Slice.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>grads</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Slice.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Concate all grad tensors to generate a single output tensor</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> – same as Layer::backward()</p></li>
-<li><p><strong>grads</strong> – a list of tensors, one for the gradient of one sliced tensor</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p><dl class="simple">
-<dt>a single tensor for the gradient of the original user, and an empty</dt><dd><p>list.</p>
-</dd>
-</dl>
-</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.RNN">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">RNN</code><span class="sig-paren">(</span><em>name</em>, <em>hidden_size</em>, <em>rnn_mode='lstm'</em>, <em>dropout=0.0</em>, <em>num_stacks=1</em>, <em>input_mode='linear'</em>, <em>bidirectional=False</em>, <em>param_specs=None</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.RNN" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Recurrent layer with 4 types of units, namely lstm, gru, tanh and relu.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>hidden_size</strong> – hidden feature size, the same for all stacks of layers.</p></li>
-<li><p><strong>rnn_mode</strong> – decides the rnn unit, which could be one of ‘lstm’, ‘gru’,
-‘tanh’ and ‘relu’, refer to cudnn manual for each mode.</p></li>
-<li><p><strong>num_stacks</strong> – num of stacks of rnn layers. It is different to the
-unrolling seqence length.</p></li>
-<li><p><strong>input_mode</strong> – ‘linear’ convert the input feature x by by a linear
-transformation to get a feature vector of size hidden_size;
-‘skip’ does nothing but requires the input feature size equals
-hidden_size</p></li>
-<li><p><strong>bidirection</strong> – True for bidirectional RNN</p></li>
-<li><p><strong>param_specs</strong> – config for initializing the RNN parameters.</p></li>
-<li><p><strong>input_sample_shape</strong> – includes a single integer for the input sample
-feature size.</p></li>
-</ul>
-</dd>
-</dl>
-<dl class="method">
-<dt id="singa.layer.RNN.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>inputs</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.RNN.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Forward inputs through the RNN.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> – True(kTrain) for training; False(kEval) for evaluation;
-others values for future use.</p></li>
-<li><p><strong><x1</strong><strong>, </strong><strong>x2</strong><strong>,</strong><strong>..xn</strong><strong>, </strong><strong>hx</strong><strong>, </strong><strong>cx></strong><strong>, </strong><strong>where xi is the input tensor for the</strong> (<em>inputs</em><em>,</em>) – i-th position, its shape is (batch_size, input_feature_length);
-the batch_size of xi must >= that of xi+1; hx is the initial
-hidden state of shape (num_stacks * bidirection?2:1, batch_size,
-hidden_size). cx is the initial cell state tensor of the same
-shape as hy. cx is valid for only lstm. For other RNNs there is
-no cx. Both hx and cx could be dummy tensors without shape and
-data.</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p><dl class="simple">
-<dt><y1, y2, … yn, hy, cy>, where yi is the output tensor for the i-th</dt><dd><p>position, its shape is (batch_size,
-hidden_size * bidirection?2:1). hy is the final hidden state
-tensor. cx is the final cell state tensor. cx is only used for
-lstm.</p>
-</dd>
-</dl>
-</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.RNN.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>grad</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.RNN.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Backward gradients through the RNN.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>for future use.</strong> (<em>flag</em><em>,</em>) – </p></li>
-<li><p><strong><dy1</strong><strong>, </strong><strong>dy2</strong><strong>,</strong><strong>..dyn</strong><strong>, </strong><strong>dhy</strong><strong>, </strong><strong>dcy></strong><strong>, </strong><strong>where dyi is the gradient for the</strong> (<em>grad</em><em>,</em>) – </p></li>
-<li><p><strong>output</strong><strong>, </strong><strong>its shape is</strong><strong> (</strong><strong>batch_size</strong><strong>, </strong><strong>hidden_size*bidirection?2</strong> (<em>i-th</em>) – 1);
-dhy is the gradient for the final hidden state, its shape is
-(num_stacks * bidirection?2:1, batch_size,
-hidden_size). dcy is the gradient for the final cell state.
-cx is valid only for lstm. For other RNNs there is
-no cx. Both dhy and dcy could be dummy tensors without shape and
-data.</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p><dl class="simple">
-<dt><dx1, dx2, … dxn, dhx, dcx>, where dxi is the gradient tensor for</dt><dd><p>the i-th input, its shape is (batch_size,
-input_feature_length). dhx is the gradient for the initial
-hidden state. dcx is the gradient for the initial cell state,
-which is valid only for lstm.</p>
-</dd>
-</dl>
-</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.LSTM">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">LSTM</code><span class="sig-paren">(</span><em>name</em>, <em>hidden_size</em>, <em>dropout=0.0</em>, <em>num_stacks=1</em>, <em>input_mode='linear'</em>, <em>bidirectional=False</em>, <em>param_specs=None</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.LSTM" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.RNN" title="singa.layer.RNN"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.RNN</span></code></a></p>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.GRU">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">GRU</code><span class="sig-paren">(</span><em>name</em>, <em>hidden_size</em>, <em>dropout=0.0</em>, <em>num_stacks=1</em>, <em>input_mode='linear'</em>, <em>bidirectional=False</em>, <em>param_specs=None</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.GRU" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.RNN" title="singa.layer.RNN"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.RNN</span></code></a></p>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.layer.get_layer_list">
-<code class="descclassname">singa.layer.</code><code class="descname">get_layer_list</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.get_layer_list" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return a list of strings which include the identifiers (tags) of all
-supported layers</p>
-</dd></dl>
-
+<div class="section" id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Permalink to this headline">¶</a></h2>
</div>
<div class="section" id="cpp-api">
<h2>CPP API<a class="headerlink" href="#cpp-api" title="Permalink to this headline">¶</a></h2>
@@ -1165,15 +202,6 @@ supported layers</p>
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="net.html" class="btn btn-neutral float-right" title="FeedForward Net" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="tensor.html" class="btn btn-neutral float-left" title="Tensor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
diff --git a/content/docs/loss.html b/content/docs/loss.html
index ea717f0..ab3a43f 100644
--- a/content/docs/loss.html
+++ b/content/docs/loss.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,6 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Metric" href="metric.html" />
- <link rel="prev" title="Initializer" href="initializer.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -100,36 +107,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -185,8 +169,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Loss</li>
@@ -204,193 +186,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="module-singa.loss">
-<span id="loss"></span><h1>Loss<a class="headerlink" href="#module-singa.loss" title="Permalink to this headline">¶</a></h1>
-<p>Loss module includes a set of training loss implmentations. Some are converted
-from C++ implementation, and the rest are implemented directly using python
-Tensor.</p>
-<p>Example usage:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">tensor</span>
-<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">loss</span>
-
-<span class="n">x</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
-<span class="n">x</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="c1"># randomly genearte the prediction activation</span>
-<span class="n">y</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">from_numpy</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><s [...]
-
-<span class="n">f</span> <span class="o">=</span> <span class="n">loss</span><span class="o">.</span><span class="n">SoftmaxCrossEntropy</span><span class="p">()</span>
-<span class="n">l</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">forward</span><span class="p">(</span><span class="kc">True</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span> <span class="c1"># l is tensor with 3 loss values</span>
-<span class="n">g</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">backward</span><span class="p">()</span> <span class="c1"># g is a tensor containing all gradients of x w.r.t l</span>
-</pre></div>
-</div>
-<dl class="class">
-<dt id="singa.loss.Loss">
-<em class="property">class </em><code class="descclassname">singa.loss.</code><code class="descname">Loss</code><a class="headerlink" href="#singa.loss.Loss" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
-<p>Base loss class.</p>
-<p>Subclasses that wrap the C++ loss classes can use the inherited foward,
-backward, and evaluate functions of this base class. Other subclasses need
-to override these functions</p>
-<dl class="method">
-<dt id="singa.loss.Loss.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.loss.Loss.backward" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>the grad of x w.r.t. the loss</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.loss.Loss.evaluate">
-<code class="descname">evaluate</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.loss.Loss.evaluate" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> (<em>int</em>) – must be kEval, to be removed</p></li>
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – the prediction Tensor</p></li>
-<li><p><strong>y</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – the ground truth Tnesor</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>the averaged loss for all samples in x.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.loss.Loss.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.loss.Loss.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compute the loss values.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> – kTrain/kEval or bool. If it is kTrain/True, then the backward
-function must be called before calling forward again.</p></li>
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – the prediction Tensor</p></li>
-<li><p><strong>y</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – the ground truch Tensor, x.shape[0] must = y.shape[0]</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a tensor of floats for the loss values, one per sample</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.loss.SigmoidCrossEntropy">
-<em class="property">class </em><code class="descclassname">singa.loss.</code><code class="descname">SigmoidCrossEntropy</code><span class="sig-paren">(</span><em>epsilon=1e-08</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.loss.SigmoidCrossEntropy" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.loss.Loss" title="singa.loss.Loss"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.loss.Loss</span></code></a></p>
-<p>This loss evaluates the cross-entropy loss between the prediction and the
-truth values with the prediction probability generated from Sigmoid.</p>
-<dl class="method">
-<dt id="singa.loss.SigmoidCrossEntropy.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.loss.SigmoidCrossEntropy.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compute the gradient of loss w.r.t to x.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>dx = pi - yi.</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.loss.SigmoidCrossEntropy.evaluate">
-<code class="descname">evaluate</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.loss.SigmoidCrossEntropy.evaluate" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compuate the averaged error.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a float value as the averaged error</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.loss.SigmoidCrossEntropy.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.loss.SigmoidCrossEntropy.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>loss is -yi * log pi - (1-yi) log (1-pi), where pi=sigmoid(xi)</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> (<em>bool</em>) – true for training; false for evaluation</p></li>
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – the prediction Tensor</p></li>
-<li><p><strong>y</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – the truth Tensor, a binary array value per sample</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a Tensor with one error value per sample</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.loss.SoftmaxCrossEntropy">
-<em class="property">class </em><code class="descclassname">singa.loss.</code><code class="descname">SoftmaxCrossEntropy</code><a class="headerlink" href="#singa.loss.SoftmaxCrossEntropy" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.loss.Loss" title="singa.loss.Loss"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.loss.Loss</span></code></a></p>
-<p>This loss function is a combination of SoftMax and Cross-Entropy loss.</p>
-<p>It converts the inputs via SoftMax function and then
-computes the cross-entropy loss against the ground truth values.</p>
-<p>For each sample, the ground truth could be a integer as the label index;
-or a binary array, indicating the label distribution. The ground truth
-tensor thus could be a 1d or 2d tensor.
-The data/feature tensor could 1d (for a single sample) or 2d for a batch of
-samples.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.loss.SquaredError">
-<em class="property">class </em><code class="descclassname">singa.loss.</code><code class="descname">SquaredError</code><a class="headerlink" href="#singa.loss.SquaredError" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.loss.Loss" title="singa.loss.Loss"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.loss.Loss</span></code></a></p>
-<p>This loss evaluates the squared error between the prediction and the
-truth values.</p>
-<p>It is implemented using Python Tensor operations.</p>
-<dl class="method">
-<dt id="singa.loss.SquaredError.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.loss.SquaredError.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compute the gradient of x w.r.t the error.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>x - y</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.loss.SquaredError.evaluate">
-<code class="descname">evaluate</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.loss.SquaredError.evaluate" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compuate the averaged error.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Returns</dt>
-<dd class="field-odd"><p>a float value as the averaged error</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.loss.SquaredError.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.loss.SquaredError.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compute the error as 0.5 * ||x-y||^2.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>flag</strong> (<em>int</em>) – kTrain or kEval; if kTrain, then the backward must be
-called before calling forward again.</p></li>
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – the prediction Tensor</p></li>
-<li><p><strong>y</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – the truth Tensor, an integer value per sample, whose
-value is [0, x.shape[1])</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a Tensor with one error value per sample</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
+ <div class="section" id="loss">
+<h1>Loss<a class="headerlink" href="#loss" title="Permalink to this headline">¶</a></h1>
</div>
@@ -399,15 +196,6 @@ value is [0, x.shape[1])</p></li>
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="metric.html" class="btn btn-neutral float-right" title="Metric" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="initializer.html" class="btn btn-neutral float-left" title="Initializer" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
diff --git a/content/docs/metric.html b/content/docs/metric.html
index 2818181..7eef983 100644
--- a/content/docs/metric.html
+++ b/content/docs/metric.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
@@ -36,8 +45,6 @@
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Optimizer" href="optimizer.html" />
- <link rel="prev" title="Loss" href="loss.html" />
<link href="../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
@@ -100,36 +107,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -185,8 +169,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Metric</li>
@@ -204,163 +186,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="module-singa.metric">
-<span id="metric"></span><h1>Metric<a class="headerlink" href="#module-singa.metric" title="Permalink to this headline">¶</a></h1>
-<p>This module includes a set of metric classes for evaluating the model’s
-performance. The specific metric classes could be converted from C++
-implmentation or implemented directly using Python.</p>
-<p>Example usage:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">tensor</span>
-<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">metric</span>
-
-<span class="n">x</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
-<span class="n">x</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="c1"># randomly genearte the prediction activation</span>
-<span class="n">x</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">SoftMax</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="c1"># normalize the prediction into probabilities</span>
-<span class="n">y</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">from_numpy</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">],</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><s [...]
-
-<span class="n">f</span> <span class="o">=</span> <span class="n">metric</span><span class="o">.</span><span class="n">Accuracy</span><span class="p">()</span>
-<span class="n">acc</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">evaluate</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span> <span class="c1"># averaged accuracy over all 3 samples in x</span>
-</pre></div>
-</div>
-<dl class="class">
-<dt id="singa.metric.Metric">
-<em class="property">class </em><code class="descclassname">singa.metric.</code><code class="descname">Metric</code><a class="headerlink" href="#singa.metric.Metric" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
-<p>Base metric class.</p>
-<p>Subclasses that wrap the C++ loss classes can use the inherited foward,
-and evaluate functions of this base class. Other subclasses need
-to override these functions. Users need to feed in the <strong>predictions</strong> and
-ground truth to get the metric values.</p>
-<dl class="method">
-<dt id="singa.metric.Metric.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.metric.Metric.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compute the metric for each sample.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – predictions, one row per sample</p></li>
-<li><p><strong>y</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – ground truth values, one row per sample</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a tensor of floats, one per sample</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.metric.Metric.evaluate">
-<code class="descname">evaluate</code><span class="sig-paren">(</span><em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.metric.Metric.evaluate" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compute the averaged metric over all samples.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – predictions, one row per sample</p></li>
-<li><p><strong>y</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – ground truth values, one row per sample</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a float value for the averaged metric</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.metric.Accuracy">
-<em class="property">class </em><code class="descclassname">singa.metric.</code><code class="descname">Accuracy</code><a class="headerlink" href="#singa.metric.Accuracy" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.metric.Metric" title="singa.metric.Metric"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.metric.Metric</span></code></a></p>
-<p>Compute the top one accuracy for single label prediction tasks.</p>
-<p>It calls the C++ functions to do the calculation.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.metric.Precision">
-<em class="property">class </em><code class="descclassname">singa.metric.</code><code class="descname">Precision</code><span class="sig-paren">(</span><em>top_k</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.metric.Precision" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.metric.Metric" title="singa.metric.Metric"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.metric.Metric</span></code></a></p>
-<p>Make the top-k labels of max probability as the prediction</p>
-<p>Compute the precision against the groundtruth labels</p>
-<dl class="method">
-<dt id="singa.metric.Precision.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.metric.Precision.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compute the precision for each sample.</p>
-<p>Convert tensor to numpy for computation</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – predictions, one row per sample</p></li>
-<li><p><strong>y</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – ground truth labels, one row per sample</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a tensor of floats, one per sample</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.metric.Precision.evaluate">
-<code class="descname">evaluate</code><span class="sig-paren">(</span><em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.metric.Precision.evaluate" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compute the averaged precision over all samples.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – predictions, one row per sample</p></li>
-<li><p><strong>y</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – ground truth values, one row per sample</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a float value for the averaged metric</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.metric.Recall">
-<em class="property">class </em><code class="descclassname">singa.metric.</code><code class="descname">Recall</code><span class="sig-paren">(</span><em>top_k</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.metric.Recall" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.metric.Metric" title="singa.metric.Metric"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.metric.Metric</span></code></a></p>
-<p>Make the top-k labels of max probability as the prediction</p>
-<p>Compute the recall against the groundtruth labels</p>
-<dl class="method">
-<dt id="singa.metric.Recall.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.metric.Recall.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compute the recall for each sample.</p>
-<p>Convert tensor to numpy for computation</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – predictions, one row per sample</p></li>
-<li><p><strong>y</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – ground truth labels, one row per sample</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a tensor of floats, one per sample</p>
-</dd>
-</dl>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.metric.Recall.evaluate">
-<code class="descname">evaluate</code><span class="sig-paren">(</span><em>x</em>, <em>y</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.metric.Recall.evaluate" title="Permalink to this definition">¶</a></dt>
-<dd><p>Compute the averaged precision over all samples.</p>
-<dl class="field-list simple">
-<dt class="field-odd">Parameters</dt>
-<dd class="field-odd"><ul class="simple">
-<li><p><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – predictions, one row per sample</p></li>
-<li><p><strong>y</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – ground truth values, one row per sample</p></li>
-</ul>
-</dd>
-<dt class="field-even">Returns</dt>
-<dd class="field-even"><p>a float value for the averaged metric</p>
-</dd>
-</dl>
-</dd></dl>
-
-</dd></dl>
-
+ <div class="section" id="metric">
+<h1>Metric<a class="headerlink" href="#metric" title="Permalink to this headline">¶</a></h1>
</div>
@@ -369,15 +196,6 @@ ground truth to get the metric values.</p>
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="optimizer.html" class="btn btn-neutral float-right" title="Optimizer" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="loss.html" class="btn btn-neutral float-left" title="Loss" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
diff --git a/content/docs/model_zoo/caffe/README.html b/content/docs/model_zoo/caffe/README.html
index 3f86317..932248b 100644
--- a/content/docs/model_zoo/caffe/README.html
+++ b/content/docs/model_zoo/caffe/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -180,37 +186,54 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="use-parameters-pre-trained-from-caffe-in-singa">
+ <!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="use-parameters-pre-trained-from-caffe-in-singa">
<h1>Use parameters pre-trained from Caffe in SINGA<a class="headerlink" href="#use-parameters-pre-trained-from-caffe-in-singa" title="Permalink to this headline">¶</a></h1>
<p>In this example, we use SINGA to load the VGG parameters trained by Caffe to do image classification.</p>
<div class="section" id="run-this-example">
<h2>Run this example<a class="headerlink" href="#run-this-example" title="Permalink to this headline">¶</a></h2>
-<p>You can run this example by simply executing <code class="docutils literal notranslate"><span class="pre">run.sh</span> <span class="pre">vgg16</span></code> or <code class="docutils literal notranslate"><span class="pre">run.sh</span> <span class="pre">vgg19</span></code>
+<p>You can run this example by simply executing <code class="docutils literal"><span class="pre">run.sh</span> <span class="pre">vgg16</span></code> or <code class="docutils literal"><span class="pre">run.sh</span> <span class="pre">vgg19</span></code>
The script does the following work.</p>
<div class="section" id="obtain-the-caffe-model">
<h3>Obtain the Caffe model<a class="headerlink" href="#obtain-the-caffe-model" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li><p>Download caffe model prototxt and parameter binary file.</p></li>
-<li><p>Currently we only support the latest caffe format, if your model is in
+<li>Download caffe model prototxt and parameter binary file.</li>
+<li>Currently we only support the latest caffe format, if your model is in
previous version of caffe, please update it to current format.(This is
-supported by caffe)</p></li>
-<li><p>After updating, we can obtain two files, i.e., the prototxt and parameter
-binary file.</p></li>
+supported by caffe)</li>
+<li>After updating, we can obtain two files, i.e., the prototxt and parameter
+binary file.</li>
</ul>
</div>
<div class="section" id="prepare-test-images">
<h3>Prepare test images<a class="headerlink" href="#prepare-test-images" title="Permalink to this headline">¶</a></h3>
-<p>A few sample images are downloaded into the <code class="docutils literal notranslate"><span class="pre">test</span></code> folder.</p>
+<p>A few sample images are downloaded into the <code class="docutils literal"><span class="pre">test</span></code> folder.</p>
</div>
<div class="section" id="predict">
<h3>Predict<a class="headerlink" href="#predict" title="Permalink to this headline">¶</a></h3>
-<p>The <code class="docutils literal notranslate"><span class="pre">predict.py</span></code> script creates the VGG model and read the parameters,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="n">model_txt</span> <span class="n">model_bin</span> <span class="n">imgclass</span>
+<p>The <code class="docutils literal"><span class="pre">predict.py</span></code> script creates the VGG model and read the parameters,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="n">model_txt</span> <span class="n">model_bin</span> <span class="n">imgclass</span>
</pre></div>
</div>
-<p>where <code class="docutils literal notranslate"><span class="pre">imgclass</span></code> refers to the synsets of imagenet dataset for vgg models.
+<p>where <code class="docutils literal"><span class="pre">imgclass</span></code> refers to the synsets of imagenet dataset for vgg models.
You can start the prediction program by executing the following command:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg16</span><span class="o">.</span><span class="n">prototxt</span> <span class="n">vgg16</span><span class="o">.</span><span class="n">caffemodel</span> <span class="n">synset_words</span><span class="o">.</span><span class="n">txt</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg16</span><span class="o">.</span><span class="n">prototxt</span> <span class="n">vgg16</span><span class="o">.</span><span class="n">caffemodel</span> <span class="n">synset_words</span><span class="o">.</span><span class="n">txt</span>
</pre></div>
</div>
<p>Then you type in the image path, and the program would output the top-5 labels.</p>
diff --git a/content/docs/model_zoo/char-rnn/README.html b/content/docs/model_zoo/char-rnn/README.html
index 80227be..1c85811 100644
--- a/content/docs/model_zoo/char-rnn/README.html
+++ b/content/docs/model_zoo/char-rnn/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../_static/js/theme.js"></script>
@@ -36,7 +45,7 @@
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
- <link rel="next" title="Train AlexNet over ImageNet" href="../imagenet/alexnet/README.html" />
+ <link rel="next" title="Train a RBM model against MNIST dataset" href="../mnist/README.html" />
<link rel="prev" title="Train CNN over Cifar-10" href="../cifar10/README.html" />
<link href="../../../_static/style.css" rel="stylesheet" type="text/css">
<!--link href="../../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
@@ -104,35 +113,24 @@
<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Documentation</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../installation.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../device.html">Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../optimizer.html">Optimizer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../utils.html">Utils</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../onnx.html">ONNX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Model Zoo</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../cifar10/README.html">Train CNN over Cifar-10</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">Train Char-RNN over plain text</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#instructions">Instructions</a></li>
</ul>
</li>
+<li class="toctree-l3"><a class="reference internal" href="../mnist/README.html">Train a RBM model against MNIST dataset</a></li>
<li class="toctree-l3"><a class="reference internal" href="../imagenet/alexnet/README.html">Train AlexNet over ImageNet</a></li>
-<li class="toctree-l3"><a class="reference internal" href="../imagenet/googlenet/README.html">name: GoogleNet on ImageNet
-SINGA version: 1.0.1
-SINGA commit: 8c990f7da2de220e8a012c6a8ecc897dc7532744
-parameter_url: https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
-parameter_sha1: 0a88e8948b1abca3badfd8d090d6be03f8d7655d
-license: unrestricted https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet</a></li>
-<li class="toctree-l3"><a class="reference internal" href="../imagenet/googlenet/README.html#image-classification-using-googlenet">Image Classification using GoogleNet</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../imagenet/densenet/README.html">Image Classification using DenseNet</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../imagenet/googlenet/README.html">Image Classification using GoogleNet</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../imagenet/inception/README.html">Image Classification using Inception V4</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../imagenet/resnet/README.html">Image Classification using Residual Networks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../imagenet/vgg/README.html">Image Classification using VGG</a></li>
</ul>
</li>
</ul>
@@ -142,9 +140,6 @@ license: unrestricted https://github.com/BVLC/caffe/tree/master/models/bvlc_goog
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -221,11 +216,28 @@ license: unrestricted https://github.com/BVLC/caffe/tree/master/models/bvlc_goog
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="train-char-rnn-over-plain-text">
+ <!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="train-char-rnn-over-plain-text">
<h1>Train Char-RNN over plain text<a class="headerlink" href="#train-char-rnn-over-plain-text" title="Permalink to this headline">¶</a></h1>
<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.
+application (or model) using SINGA‘s RNN layers.
We will use the <a class="reference external" 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
@@ -234,23 +246,25 @@ generate meaningful code from the model.</p>
<div class="section" id="instructions">
<h2>Instructions<a class="headerlink" href="#instructions" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p>Compile and install SINGA. Currently the RNN implementation depends on Cudnn with version >= 5.05.</p></li>
-<li><p>Prepare the dataset. Download the <a class="reference external" href="http://cs.stanford.edu/people/karpathy/char-rnn/">kernel source code</a>.
-Other plain text files can also be used.</p></li>
-<li><p>Start the training,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">linux_input</span><span class="o">.</span><span class="n">txt</span>
+<li><p class="first">Compile and install SINGA. Currently the RNN implementation depends on Cudnn with version >= 5.05.</p>
+</li>
+<li><p class="first">Prepare the dataset. Download the <a class="reference external" href="http://cs.stanford.edu/people/karpathy/char-rnn/">kernel source code</a>.
+Other plain text files can also be used.</p>
+</li>
+<li><p class="first">Start the training,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">linux_input</span><span class="o">.</span><span class="n">txt</span>
</pre></div>
</div>
<p>Some hyper-parameters could be set through command line,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">h</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">h</span>
</pre></div>
</div>
</li>
-<li><p>Sample characters from the model by providing the number of characters to sample and the seed string.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">sample</span><span class="o">.</span><span class="n">py</span> <span class="s1">'model.bin'</span> <span class="mi">100</span> <span class="o">--</span><span class="n">seed</span> <span class="s1">'#include <std'</span>
+<li><p class="first">Sample characters from the model by providing the number of characters to sample and the seed string.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">sample</span><span class="o">.</span><span class="n">py</span> <span class="s1">'model.bin'</span> <span class="mi">100</span> <span class="o">--</span><span class="n">seed</span> <span class="s1">'#include <std'</span>
</pre></div>
</div>
-<p>Please replace ‘model.bin’ with the path to one of the checkpoint paths.</p>
+<p>Please replace ‘model.bin‘ with the path to one of the checkpoint paths.</p>
</li>
</ul>
</div>
@@ -264,7 +278,7 @@ Other plain text files can also be used.</p></li>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
- <a href="../imagenet/alexnet/README.html" class="btn btn-neutral float-right" title="Train AlexNet over ImageNet" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+ <a href="../mnist/README.html" class="btn btn-neutral float-right" title="Train a RBM model against MNIST dataset" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="../cifar10/README.html" class="btn btn-neutral float-left" title="Train CNN over Cifar-10" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
diff --git a/content/docs/model_zoo/cifar10/README.html b/content/docs/model_zoo/cifar10/README.html
index b49ec3c..62682c8 100644
--- a/content/docs/model_zoo/cifar10/README.html
+++ b/content/docs/model_zoo/cifar10/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../_static/js/theme.js"></script>
@@ -104,35 +113,24 @@
<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Documentation</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../installation.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../device.html">Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../optimizer.html">Optimizer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../../utils.html">Utils</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../onnx.html">ONNX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../benchmark.html">Benchmark for Distributed training</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Model Zoo</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">Train CNN over Cifar-10</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#instructions">Instructions</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../char-rnn/README.html">Train Char-RNN over plain text</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../mnist/README.html">Train a RBM model against MNIST dataset</a></li>
<li class="toctree-l3"><a class="reference internal" href="../imagenet/alexnet/README.html">Train AlexNet over ImageNet</a></li>
-<li class="toctree-l3"><a class="reference internal" href="../imagenet/googlenet/README.html">name: GoogleNet on ImageNet
-SINGA version: 1.0.1
-SINGA commit: 8c990f7da2de220e8a012c6a8ecc897dc7532744
-parameter_url: https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
-parameter_sha1: 0a88e8948b1abca3badfd8d090d6be03f8d7655d
-license: unrestricted https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet</a></li>
-<li class="toctree-l3"><a class="reference internal" href="../imagenet/googlenet/README.html#image-classification-using-googlenet">Image Classification using GoogleNet</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../imagenet/densenet/README.html">Image Classification using DenseNet</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../imagenet/googlenet/README.html">Image Classification using GoogleNet</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../imagenet/inception/README.html">Image Classification using Inception V4</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../imagenet/resnet/README.html">Image Classification using Residual Networks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../imagenet/vgg/README.html">Image Classification using VGG</a></li>
</ul>
</li>
</ul>
@@ -142,9 +140,6 @@ license: unrestricted https://github.com/BVLC/caffe/tree/master/models/bvlc_goog
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -221,17 +216,34 @@ license: unrestricted https://github.com/BVLC/caffe/tree/master/models/bvlc_goog
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="train-cnn-over-cifar-10">
+ <!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="train-cnn-over-cifar-10">
<h1>Train CNN over Cifar-10<a class="headerlink" href="#train-cnn-over-cifar-10" title="Permalink to this headline">¶</a></h1>
<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 class="simple">
-<li><p><a class="reference external" 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>
-<li><p><a class="reference external" href="http://torch.ch/blog/2015/07/30/cifar.html">VGGNet</a>, the best validation accuracy (without data augmentation) we achieved was about 89%.</p></li>
-<li><p><a class="reference external" href="https://github.com/facebook/fb.resnet.torch">ResNet</a>, the best validation accuracy (without data augmentation) we achieved was about 83%.</p></li>
-<li><p><a class="reference external" href="https://github.com/BVLC/caffe/tree/master/examples/cifar10">Alexnet from Caffe</a>, SINGA is able to convert model from Caffe seamlessly.</p></li>
+<li><a class="reference external" 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%.</li>
+<li><a class="reference external" href="http://torch.ch/blog/2015/07/30/cifar.html">VGGNet</a>, the best validation accuracy (without data augmentation) we achieved was about 89%.</li>
+<li><a class="reference external" href="https://github.com/facebook/fb.resnet.torch">ResNet</a>, the best validation accuracy (without data augmentation) we achieved was about 83%.</li>
+<li><a class="reference external" href="https://github.com/BVLC/caffe/tree/master/examples/cifar10">Alexnet from Caffe</a>, SINGA is able to convert model from Caffe seamlessly.</li>
</ol>
<div class="section" id="instructions">
<h2>Instructions<a class="headerlink" href="#instructions" title="Permalink to this headline">¶</a></h2>
@@ -244,11 +256,11 @@ are required. Please refer to the installation page for detailed instructions.</
<div class="section" id="data-preparation">
<h3>Data preparation<a class="headerlink" href="#data-preparation" title="Permalink to this headline">¶</a></h3>
<p>The binary Cifar-10 dataset could be downloaded by</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">download_data</span><span class="o">.</span><span class="n">py</span> <span class="nb">bin</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">download_data</span><span class="o">.</span><span class="n">py</span> <span class="nb">bin</span>
</pre></div>
</div>
<p>The Python version could be downloaded by</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">download_data</span><span class="o">.</span><span class="n">py</span> <span class="n">py</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">download_data</span><span class="o">.</span><span class="n">py</span> <span class="n">py</span>
</pre></div>
</div>
</div>
@@ -256,46 +268,47 @@ are required. Please refer to the installation page for detailed instructions.</
<h3>Training<a class="headerlink" href="#training" title="Permalink to this headline">¶</a></h3>
<p>There are four training programs</p>
<ol>
-<li><p>train.py. The following command would train the VGG model using the python
-version of the Cifar-10 dataset in ‘cifar-10-batches-py’ folder.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="n">py</span>
+<li><p class="first">train.py. The following command would train the VGG model using the python
+version of the Cifar-10 dataset in ‘cifar-10-batches-py‘ folder.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="n">py</span>
</pre></div>
</div>
-<p>To train other models, please replace ‘vgg’ to ‘alexnet’, ‘resnet’ or ‘caffe’,
-where ‘caffe’ refers to the alexnet model converted from Caffe. By default
+<p>To train other models, please replace ‘vgg‘ to ‘alexnet‘, ‘resnet‘ or ‘caffe‘,
+where ‘caffe‘ refers to the alexnet model converted from Caffe. By default
the training would run on a CudaGPU device, to run it on CppCPU, add an additional
argument</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="n">py</span> <span class="o">--</span><span class="n">use_cpu</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="n">py</span> <span class="o">--</span><span class="n">use_cpu</span>
</pre></div>
</div>
</li>
-<li><p>alexnet.cc. It trains the AlexNet model using the CPP APIs on a CudaGPU,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="o">./</span><span class="n">run</span><span class="o">.</span><span class="n">sh</span>
+<li><p class="first">alexnet.cc. It trains the AlexNet model using the CPP APIs on a CudaGPU,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="o">./</span><span class="n">run</span><span class="o">.</span><span class="n">sh</span>
</pre></div>
</div>
</li>
-<li><p>alexnet-parallel.cc. It trains the AlexNet model using the CPP APIs on two CudaGPU devices.
+<li><p class="first">alexnet-parallel.cc. It trains the AlexNet model using the CPP APIs on two CudaGPU devices.
The two devices run synchronously to compute the gradients of the mode parameters, which are
averaged on the host CPU device and then be applied to update the parameters.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="o">./</span><span class="n">run</span><span class="o">-</span><span class="n">parallel</span><span class="o">.</span><span class="n">sh</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="o">./</span><span class="n">run</span><span class="o">-</span><span class="n">parallel</span><span class="o">.</span><span class="n">sh</span>
</pre></div>
</div>
</li>
-<li><p>vgg-parallel.cc. It trains the VGG model using the CPP APIs on two CudaGPU devices similar to alexnet-parallel.cc.</p></li>
+<li><p class="first">vgg-parallel.cc. It trains the VGG model using the CPP APIs on two CudaGPU devices similar to alexnet-parallel.cc.</p>
+</li>
</ol>
</div>
<div class="section" id="prediction">
<h3>Prediction<a class="headerlink" href="#prediction" title="Permalink to this headline">¶</a></h3>
<p>predict.py includes the prediction function</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="k">def</span> <span class="nf">predict</span><span class="p">(</span><span class="n">net</span><span class="p">,</span> <span class="n">images</span><span class="p">,</span> <span class="n">dev</span><span class="p">,</span> <span class="n">topk</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="k">def</span> <span class="nf">predict</span><span class="p">(</span><span class="n">net</span><span class="p">,</span> <span class="n">images</span><span class="p">,</span> <span class="n">dev</span><span class="p">,</span> <span class="n">topk</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
</pre></div>
</div>
<p>The net is created by loading the previously trained model; Images consist of
a numpy array of images (one row per image); dev is the training device, e.g.,
a CudaGPU device or the host CppCPU device; It returns the topk labels for each instance.</p>
-<p>The predict.py file’s main function provides an example of using the pre-trained alexnet model to do prediction for new images.
-The ‘model.bin’ file generated by the training program should be placed at the cifar10 folder to run</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span>
+<p>The predict.py file‘s main function provides an example of using the pre-trained alexnet model to do prediction for new images.
+The ‘model.bin‘ file generated by the training program should be placed at the cifar10 folder to run</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span>
</pre></div>
</div>
</div>
diff --git a/content/docs/model_zoo/examples/caffe/README.html b/content/docs/model_zoo/examples/caffe/README.html
index fac02a0..9266a15 100644
--- a/content/docs/model_zoo/examples/caffe/README.html
+++ b/content/docs/model_zoo/examples/caffe/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -202,32 +208,32 @@
<p>In this example, we use SINGA to load the VGG parameters trained by Caffe to do image classification.</p>
<div class="section" id="run-this-example">
<h2>Run this example<a class="headerlink" href="#run-this-example" title="Permalink to this headline">¶</a></h2>
-<p>You can run this example by simply executing <code class="docutils literal notranslate"><span class="pre">run.sh</span> <span class="pre">vgg16</span></code> or <code class="docutils literal notranslate"><span class="pre">run.sh</span> <span class="pre">vgg19</span></code>
+<p>You can run this example by simply executing <code class="docutils literal"><span class="pre">run.sh</span> <span class="pre">vgg16</span></code> or <code class="docutils literal"><span class="pre">run.sh</span> <span class="pre">vgg19</span></code>
The script does the following work.</p>
<div class="section" id="obtain-the-caffe-model">
<h3>Obtain the Caffe model<a class="headerlink" href="#obtain-the-caffe-model" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li><p>Download caffe model prototxt and parameter binary file.</p></li>
-<li><p>Currently we only support the latest caffe format, if your model is in
+<li>Download caffe model prototxt and parameter binary file.</li>
+<li>Currently we only support the latest caffe format, if your model is in
previous version of caffe, please update it to current format.(This is
-supported by caffe)</p></li>
-<li><p>After updating, we can obtain two files, i.e., the prototxt and parameter
-binary file.</p></li>
+supported by caffe)</li>
+<li>After updating, we can obtain two files, i.e., the prototxt and parameter
+binary file.</li>
</ul>
</div>
<div class="section" id="prepare-test-images">
<h3>Prepare test images<a class="headerlink" href="#prepare-test-images" title="Permalink to this headline">¶</a></h3>
-<p>A few sample images are downloaded into the <code class="docutils literal notranslate"><span class="pre">test</span></code> folder.</p>
+<p>A few sample images are downloaded into the <code class="docutils literal"><span class="pre">test</span></code> folder.</p>
</div>
<div class="section" id="predict">
<h3>Predict<a class="headerlink" href="#predict" title="Permalink to this headline">¶</a></h3>
-<p>The <code class="docutils literal notranslate"><span class="pre">predict.py</span></code> script creates the VGG model and read the parameters,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="n">model_txt</span> <span class="n">model_bin</span> <span class="n">imgclass</span>
+<p>The <code class="docutils literal"><span class="pre">predict.py</span></code> script creates the VGG model and read the parameters,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">usage</span><span class="p">:</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span> <span class="p">[</span><span class="o">-</span><span class="n">h</span><span class="p">]</span> <span class="n">model_txt</span> <span class="n">model_bin</span> <span class="n">imgclass</span>
</pre></div>
</div>
-<p>where <code class="docutils literal notranslate"><span class="pre">imgclass</span></code> refers to the synsets of imagenet dataset for vgg models.
+<p>where <code class="docutils literal"><span class="pre">imgclass</span></code> refers to the synsets of imagenet dataset for vgg models.
You can start the prediction program by executing the following command:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg16</span><span class="o">.</span><span class="n">prototxt</span> <span class="n">vgg16</span><span class="o">.</span><span class="n">caffemodel</span> <span class="n">synset_words</span><span class="o">.</span><span class="n">txt</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg16</span><span class="o">.</span><span class="n">prototxt</span> <span class="n">vgg16</span><span class="o">.</span><span class="n">caffemodel</span> <span class="n">synset_words</span><span class="o">.</span><span class="n">txt</span>
</pre></div>
</div>
<p>Then you type in the image path, and the program would output the top-5 labels.</p>
diff --git a/content/docs/model_zoo/examples/char-rnn/README.html b/content/docs/model_zoo/examples/char-rnn/README.html
index 4cb52ea..2862d8e 100644
--- a/content/docs/model_zoo/examples/char-rnn/README.html
+++ b/content/docs/model_zoo/examples/char-rnn/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -201,7 +207,7 @@
<h1>Train Char-RNN over plain text<a class="headerlink" href="#train-char-rnn-over-plain-text" title="Permalink to this headline">¶</a></h1>
<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.
+application (or model) using SINGA‘s RNN layers.
We will use the <a class="reference external" 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
@@ -210,23 +216,25 @@ generate meaningful code from the model.</p>
<div class="section" id="instructions">
<h2>Instructions<a class="headerlink" href="#instructions" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p>Compile and install SINGA. Currently the RNN implementation depends on Cudnn with version >= 5.05.</p></li>
-<li><p>Prepare the dataset. Download the <a class="reference external" href="http://cs.stanford.edu/people/karpathy/char-rnn/">kernel source code</a>.
-Other plain text files can also be used.</p></li>
-<li><p>Start the training,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">linux_input</span><span class="o">.</span><span class="n">txt</span>
+<li><p class="first">Compile and install SINGA. Currently the RNN implementation depends on Cudnn with version >= 5.05.</p>
+</li>
+<li><p class="first">Prepare the dataset. Download the <a class="reference external" href="http://cs.stanford.edu/people/karpathy/char-rnn/">kernel source code</a>.
+Other plain text files can also be used.</p>
+</li>
+<li><p class="first">Start the training,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">linux_input</span><span class="o">.</span><span class="n">txt</span>
</pre></div>
</div>
<p>Some hyper-parameters could be set through command line,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">h</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">h</span>
</pre></div>
</div>
</li>
-<li><p>Sample characters from the model by providing the number of characters to sample and the seed string.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">sample</span><span class="o">.</span><span class="n">py</span> <span class="s1">'model.bin'</span> <span class="mi">100</span> <span class="o">--</span><span class="n">seed</span> <span class="s1">'#include <std'</span>
+<li><p class="first">Sample characters from the model by providing the number of characters to sample and the seed string.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">sample</span><span class="o">.</span><span class="n">py</span> <span class="s1">'model.bin'</span> <span class="mi">100</span> <span class="o">--</span><span class="n">seed</span> <span class="s1">'#include <std'</span>
</pre></div>
</div>
-<p>Please replace ‘model.bin’ with the path to one of the checkpoint paths.</p>
+<p>Please replace ‘model.bin‘ with the path to one of the checkpoint paths.</p>
</li>
</ul>
</div>
diff --git a/content/docs/model_zoo/examples/cifar10/README.html b/content/docs/model_zoo/examples/cifar10/README.html
index 0cb4f82..697ef89 100644
--- a/content/docs/model_zoo/examples/cifar10/README.html
+++ b/content/docs/model_zoo/examples/cifar10/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../../" src="../../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -203,11 +209,11 @@
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 class="simple">
-<li><p><a class="reference external" 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>
-<li><p><a class="reference external" href="http://torch.ch/blog/2015/07/30/cifar.html">VGGNet</a>, the best validation accuracy (without data augmentation) we achieved was about 89%.</p></li>
-<li><p><a class="reference external" href="https://github.com/facebook/fb.resnet.torch">ResNet</a>, the best validation accuracy (without data augmentation) we achieved was about 83%.</p></li>
-<li><p><a class="reference external" href="https://github.com/BVLC/caffe/tree/master/examples/cifar10">Alexnet from Caffe</a>, SINGA is able to convert model from Caffe seamlessly.</p></li>
+<li><a class="reference external" 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%.</li>
+<li><a class="reference external" href="http://torch.ch/blog/2015/07/30/cifar.html">VGGNet</a>, the best validation accuracy (without data augmentation) we achieved was about 89%.</li>
+<li><a class="reference external" href="https://github.com/facebook/fb.resnet.torch">ResNet</a>, the best validation accuracy (without data augmentation) we achieved was about 83%.</li>
+<li><a class="reference external" href="https://github.com/BVLC/caffe/tree/master/examples/cifar10">Alexnet from Caffe</a>, SINGA is able to convert model from Caffe seamlessly.</li>
</ol>
<div class="section" id="instructions">
<h2>Instructions<a class="headerlink" href="#instructions" title="Permalink to this headline">¶</a></h2>
@@ -220,11 +226,11 @@ are required. Please refer to the installation page for detailed instructions.</
<div class="section" id="data-preparation">
<h3>Data preparation<a class="headerlink" href="#data-preparation" title="Permalink to this headline">¶</a></h3>
<p>The binary Cifar-10 dataset could be downloaded by</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">download_data</span><span class="o">.</span><span class="n">py</span> <span class="nb">bin</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">download_data</span><span class="o">.</span><span class="n">py</span> <span class="nb">bin</span>
</pre></div>
</div>
<p>The Python version could be downloaded by</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">download_data</span><span class="o">.</span><span class="n">py</span> <span class="n">py</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="n">download_data</span><span class="o">.</span><span class="n">py</span> <span class="n">py</span>
</pre></div>
</div>
</div>
@@ -232,46 +238,47 @@ are required. Please refer to the installation page for detailed instructions.</
<h3>Training<a class="headerlink" href="#training" title="Permalink to this headline">¶</a></h3>
<p>There are four training programs</p>
<ol>
-<li><p>train.py. The following command would train the VGG model using the python
-version of the Cifar-10 dataset in ‘cifar-10-batches-py’ folder.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="n">py</span>
+<li><p class="first">train.py. The following command would train the VGG model using the python
+version of the Cifar-10 dataset in ‘cifar-10-batches-py‘ folder.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="n">py</span>
</pre></div>
</div>
-<p>To train other models, please replace ‘vgg’ to ‘alexnet’, ‘resnet’ or ‘caffe’,
-where ‘caffe’ refers to the alexnet model converted from Caffe. By default
+<p>To train other models, please replace ‘vgg‘ to ‘alexnet‘, ‘resnet‘ or ‘caffe‘,
+where ‘caffe‘ refers to the alexnet model converted from Caffe. By default
the training would run on a CudaGPU device, to run it on CppCPU, add an additional
argument</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="n">py</span> <span class="o">--</span><span class="n">use_cpu</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span> <span class="n">vgg</span> <span class="n">cifar</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="n">batches</span><span class="o">-</span><span class="n">py</span> <span class="o">--</span><span class="n">use_cpu</span>
</pre></div>
</div>
</li>
-<li><p>alexnet.cc. It trains the AlexNet model using the CPP APIs on a CudaGPU,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="o">./</span><span class="n">run</span><span class="o">.</span><span class="n">sh</span>
+<li><p class="first">alexnet.cc. It trains the AlexNet model using the CPP APIs on a CudaGPU,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="o">./</span><span class="n">run</span><span class="o">.</span><span class="n">sh</span>
</pre></div>
</div>
</li>
-<li><p>alexnet-parallel.cc. It trains the AlexNet model using the CPP APIs on two CudaGPU devices.
+<li><p class="first">alexnet-parallel.cc. It trains the AlexNet model using the CPP APIs on two CudaGPU devices.
The two devices run synchronously to compute the gradients of the mode parameters, which are
averaged on the host CPU device and then be applied to update the parameters.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="o">./</span><span class="n">run</span><span class="o">-</span><span class="n">parallel</span><span class="o">.</span><span class="n">sh</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="o">./</span><span class="n">run</span><span class="o">-</span><span class="n">parallel</span><span class="o">.</span><span class="n">sh</span>
</pre></div>
</div>
</li>
-<li><p>vgg-parallel.cc. It trains the VGG model using the CPP APIs on two CudaGPU devices similar to alexnet-parallel.cc.</p></li>
+<li><p class="first">vgg-parallel.cc. It trains the VGG model using the CPP APIs on two CudaGPU devices similar to alexnet-parallel.cc.</p>
+</li>
</ol>
</div>
<div class="section" id="prediction">
<h3>Prediction<a class="headerlink" href="#prediction" title="Permalink to this headline">¶</a></h3>
<p>predict.py includes the prediction function</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="k">def</span> <span class="nf">predict</span><span class="p">(</span><span class="n">net</span><span class="p">,</span> <span class="n">images</span><span class="p">,</span> <span class="n">dev</span><span class="p">,</span> <span class="n">topk</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="k">def</span> <span class="nf">predict</span><span class="p">(</span><span class="n">net</span><span class="p">,</span> <span class="n">images</span><span class="p">,</span> <span class="n">dev</span><span class="p">,</span> <span class="n">topk</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
</pre></div>
</div>
<p>The net is created by loading the previously trained model; Images consist of
a numpy array of images (one row per image); dev is the training device, e.g.,
a CudaGPU device or the host CppCPU device; It returns the topk labels for each instance.</p>
-<p>The predict.py file’s main function provides an example of using the pre-trained alexnet model to do prediction for new images.
-The ‘model.bin’ file generated by the training program should be placed at the cifar10 folder to run</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span>
+<p>The predict.py file‘s main function provides an example of using the pre-trained alexnet model to do prediction for new images.
+The ‘model.bin‘ file generated by the training program should be placed at the cifar10 folder to run</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">python</span> <span class="n">predict</span><span class="o">.</span><span class="n">py</span>
</pre></div>
</div>
</div>
diff --git a/content/docs/model_zoo/examples/imagenet/alexnet/README.html b/content/docs/model_zoo/examples/imagenet/alexnet/README.html
index 28549fc..9f3ffca 100644
--- a/content/docs/model_zoo/examples/imagenet/alexnet/README.html
+++ b/content/docs/model_zoo/examples/imagenet/alexnet/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -208,39 +214,39 @@ to do image classification against the ImageNet dataset.</p>
<div class="section" id="compile-singa">
<h3>Compile SINGA<a class="headerlink" href="#compile-singa" title="Permalink to this headline">¶</a></h3>
<p>Please compile SINGA with CUDA, CUDNN and OpenCV. You can manually turn on the
-options in CMakeLists.txt or run <code class="docutils literal notranslate"><span class="pre">ccmake</span> <span class="pre">..</span></code> in build/ folder.</p>
+options in CMakeLists.txt or run <code class="docutils literal"><span class="pre">ccmake</span> <span class="pre">..</span></code> in build/ folder.</p>
<p>We have tested CUDNN V4 and V5 (V5 requires CUDA 7.5)</p>
</div>
<div class="section" id="data-download">
<h3>Data download<a class="headerlink" href="#data-download" title="Permalink to this headline">¶</a></h3>
<ul class="simple">
-<li><p>Please refer to step1-3 on <a class="reference external" href="https://github.com/amd/OpenCL-caffe/wiki/Instructions-to-create-ImageNet-2012-data">Instructions to create ImageNet 2012 data</a>
-to download and decompress the data.</p></li>
-<li><p>You can download the training and validation list by
+<li>Please refer to step1-3 on <a class="reference external" href="https://github.com/amd/OpenCL-caffe/wiki/Instructions-to-create-ImageNet-2012-data">Instructions to create ImageNet 2012 data</a>
+to download and decompress the data.</li>
+<li>You can download the training and validation list by
<a class="reference external" href="https://github.com/BVLC/caffe/blob/master/data/ilsvrc12/get_ilsvrc_aux.sh">get_ilsvrc_aux.sh</a>
-or from <a class="reference external" href="http://www.image-net.org/download-images">Imagenet</a>.</p></li>
+or from <a class="reference external" href="http://www.image-net.org/download-images">Imagenet</a>.</li>
</ul>
</div>
<div class="section" id="data-preprocessing">
<h3>Data preprocessing<a class="headerlink" href="#data-preprocessing" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p>Assuming you have downloaded the data and the list.
+<li><p class="first">Assuming you have downloaded the data and the list.
Now we should transform the data into binary files. You can run:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">sh</span> <span class="n">create_data</span><span class="o">.</span><span class="n">sh</span>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">sh</span> <span class="n">create_data</span><span class="o">.</span><span class="n">sh</span>
</pre></div>
</div>
-<p>The script will generate a test file(<code class="docutils literal notranslate"><span class="pre">test.bin</span></code>), a mean file(<code class="docutils literal notranslate"><span class="pre">mean.bin</span></code>) and
-several training files(<code class="docutils literal notranslate"><span class="pre">trainX.bin</span></code>) in the specified output folder.</p>
+<p>The script will generate a test file(<code class="docutils literal"><span class="pre">test.bin</span></code>), a mean file(<code class="docutils literal"><span class="pre">mean.bin</span></code>) and
+several training files(<code class="docutils literal"><span class="pre">trainX.bin</span></code>) in the specified output folder.</p>
</li>
-<li><p>You can also change the parameters in <code class="docutils literal notranslate"><span class="pre">create_data.sh</span></code>.</p>
+<li><p class="first">You can also change the parameters in <code class="docutils literal"><span class="pre">create_data.sh</span></code>.</p>
<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">-trainlist</span> <span class="pre"><file></span></code>: the file of training list;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-trainfolder</span> <span class="pre"><folder></span></code>: the folder of training images;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-testlist</span> <span class="pre"><file></span></code>: the file of test list;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-testfolder</span> <span class="pre"><floder></span></code>: the folder of test images;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-outdata</span> <span class="pre"><folder></span></code>: the folder to save output files, including mean, training and test files.
-The script will generate these files in the specified folder;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-filesize</span> <span class="pre"><int></span></code>: number of training images that stores in each binary file.</p></li>
+<li><code class="docutils literal"><span class="pre">-trainlist</span> <span class="pre"><file></span></code>: the file of training list;</li>
+<li><code class="docutils literal"><span class="pre">-trainfolder</span> <span class="pre"><folder></span></code>: the folder of training images;</li>
+<li><code class="docutils literal"><span class="pre">-testlist</span> <span class="pre"><file></span></code>: the file of test list;</li>
+<li><code class="docutils literal"><span class="pre">-testfolder</span> <span class="pre"><floder></span></code>: the folder of test images;</li>
+<li><code class="docutils literal"><span class="pre">-outdata</span> <span class="pre"><folder></span></code>: the folder to save output files, including mean, training and test files.
+The script will generate these files in the specified folder;</li>
+<li><code class="docutils literal"><span class="pre">-filesize</span> <span class="pre"><int></span></code>: number of training images that stores in each binary file.</li>
</ul>
</li>
</ul>
@@ -248,25 +254,25 @@ The script will generate these files in the specified folder;</p></li>
<div class="section" id="training">
<h3>Training<a class="headerlink" href="#training" title="Permalink to this headline">¶</a></h3>
<ul>
-<li><p>After preparing data, you can run the following command to train the Alexnet model.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">sh</span> <span class="n">run</span><span class="o">.</span><span class="n">sh</span>
+<li><p class="first">After preparing data, you can run the following command to train the Alexnet model.</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> <span class="n">sh</span> <span class="n">run</span><span class="o">.</span><span class="n">sh</span>
</pre></div>
</div>
</li>
-<li><p>You may change the parameters in <code class="docutils literal notranslate"><span class="pre">run.sh</span></code>.</p>
+<li><p class="first">You may change the parameters in <code class="docutils literal"><span class="pre">run.sh</span></code>.</p>
<ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">-epoch</span> <span class="pre"><int></span></code>: number of epoch to be trained, default is 90;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-lr</span> <span class="pre"><float></span></code>: base learning rate, the learning rate will decrease each 20 epochs,
-more specifically, <code class="docutils literal notranslate"><span class="pre">lr</span> <span class="pre">=</span> <span class="pre">lr</span> <span class="pre">*</span> <span class="pre">exp(0.1</span> <span class="pre">*</span> <span class="pre">(epoch</span> <span class="pre">/</span> <span class="pre">20))</span></code>;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-batchsize</span> <span class="pre"><int></span></code>: batchsize, it should be changed regarding to your memory;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-filesize</span> <span class="pre"><int></span></code>: number of training images that stores in each binary file, it is the
-same as the <code class="docutils literal notranslate"><span class="pre">filesize</span></code> in data preprocessing;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-ntrain</span> <span class="pre"><int></span></code>: number of training images;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-ntest</span> <span class="pre"><int></span></code>: number of test images;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-data</span> <span class="pre"><folder></span></code>: the folder which stores the binary files, it is exactly the output
-folder in data preprocessing step;</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-pfreq</span> <span class="pre"><int></span></code>: the frequency(in batch) of printing current model status(loss and accuracy);</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">-nthreads</span> <span class="pre"><int></span></code>: the number of threads to load data which feed to the model.</p></li>
+<li><code class="docutils literal"><span class="pre">-epoch</span> <span class="pre"><int></span></code>: number of epoch to be trained, default is 90;</li>
+<li><code class="docutils literal"><span class="pre">-lr</span> <span class="pre"><float></span></code>: base learning rate, the learning rate will decrease each 20 epochs,
+more specifically, <code class="docutils literal"><span class="pre">lr</span> <span class="pre">=</span> <span class="pre">lr</span> <span class="pre">*</span> <span class="pre">exp(0.1</span> <span class="pre">*</span> <span class="pre">(epoch</span> <span class="pre">/</span> <span class="pre">20))</span></code>;</li>
+<li><code class="docutils literal"><span class="pre">-batchsize</span> <span class="pre"><int></span></code>: batchsize, it should be changed regarding to your memory;</li>
+<li><code class="docutils literal"><span class="pre">-filesize</span> <span class="pre"><int></span></code>: number of training images that stores in each binary file, it is the
+same as the <code class="docutils literal"><span class="pre">filesize</span></code> in data preprocessing;</li>
+<li><code class="docutils literal"><span class="pre">-ntrain</span> <span class="pre"><int></span></code>: number of training images;</li>
+<li><code class="docutils literal"><span class="pre">-ntest</span> <span class="pre"><int></span></code>: number of test images;</li>
+<li><code class="docutils literal"><span class="pre">-data</span> <span class="pre"><folder></span></code>: the folder which stores the binary files, it is exactly the output
+folder in data preprocessing step;</li>
+<li><code class="docutils literal"><span class="pre">-pfreq</span> <span class="pre"><int></span></code>: the frequency(in batch) of printing current model status(loss and accuracy);</li>
+<li><code class="docutils literal"><span class="pre">-nthreads</span> <span class="pre"><int></span></code>: the number of threads to load data which feed to the model.</li>
</ul>
</li>
</ul>
diff --git a/content/docs/model_zoo/examples/imagenet/densenet/README.html b/content/docs/model_zoo/examples/imagenet/densenet/README.html
index 0c69e0c..763593b 100644
--- a/content/docs/model_zoo/examples/imagenet/densenet/README.html
+++ b/content/docs/model_zoo/examples/imagenet/densenet/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -204,20 +210,20 @@ to SINGA for image classification.</p>
<div class="section" id="instructions">
<h2>Instructions<a class="headerlink" href="#instructions" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p>Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-121.tar.gz
+<li><p class="first">Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-121.tar.gz
$ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/synset_words.txt
$ tar xvf densenet-121.tar.gz
</pre></div>
</div>
</li>
-<li><p>Usage</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ python serve.py -h
+<li><p class="first">Usage</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> $ python serve.py -h
</pre></div>
</div>
</li>
-<li><p>Example</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> # use cpu
+<li><p class="first">Example</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> # use cpu
$ python serve.py --use_cpu --parameter_file densenet-121.pickle --depth 121 &
# use gpu
$ python serve.py --parameter_file densenet-121.pickle --depth 121 &
@@ -226,8 +232,8 @@ to SINGA for image classification.</p>
<p>The parameter files for the following model and depth configuration pairs are provided:
<a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-121.tar.gz">121</a>, <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-169.tar.gz">169</a>, <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-201.tar.gz">201</a>, <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-161.tar.gz">161</a></p>
</li>
-<li><p>Submit images for classification</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ curl -i -F image=@image1.jpg http://localhost:9999/api
+<li><p class="first">Submit images for classification</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> $ curl -i -F image=@image1.jpg http://localhost:9999/api
$ curl -i -F image=@image2.jpg http://localhost:9999/api
$ curl -i -F image=@image3.jpg http://localhost:9999/api
</pre></div>
@@ -240,7 +246,7 @@ to SINGA for image classification.</p>
<h2>Details<a class="headerlink" href="#details" title="Permalink to this headline">¶</a></h2>
<p>The parameter files were converted from the pytorch via the convert.py program.</p>
<p>Usage:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ python convert.py -h
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ python convert.py -h
</pre></div>
</div>
</div>
diff --git a/content/docs/model_zoo/examples/imagenet/googlenet/README.html b/content/docs/model_zoo/examples/imagenet/googlenet/README.html
index 0e3b734..c37d040 100644
--- a/content/docs/model_zoo/examples/imagenet/googlenet/README.html
+++ b/content/docs/model_zoo/examples/imagenet/googlenet/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -203,22 +209,22 @@
<div class="section" id="instructions">
<h2>Instructions<a class="headerlink" href="#instructions" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p>Download the parameter checkpoint file into this folder</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
+<li><p class="first">Download the parameter checkpoint file into this folder</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
$ tar xvf bvlc_googlenet.tar.gz
</pre></div>
</div>
</li>
-<li><p>Run the program</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> # use cpu
+<li><p class="first">Run the program</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> # use cpu
$ python serve.py -C &
# use gpu
$ python serve.py &
</pre></div>
</div>
</li>
-<li><p>Submit images for classification</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ curl -i -F image=@image1.jpg http://localhost:9999/api
+<li><p class="first">Submit images for classification</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> $ curl -i -F image=@image1.jpg http://localhost:9999/api
$ curl -i -F image=@image2.jpg http://localhost:9999/api
$ curl -i -F image=@image3.jpg http://localhost:9999/api
</pre></div>
@@ -229,9 +235,9 @@
</div>
<div class="section" id="details">
<h2>Details<a class="headerlink" href="#details" title="Permalink to this headline">¶</a></h2>
-<p>We first extract the parameter values from <a class="reference external" href="http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel">Caffe’s checkpoint file</a> into a pickle version
-After downloading the checkpoint file into <code class="docutils literal notranslate"><span class="pre">caffe_root/python</span></code> folder, run the following script</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># to be executed within caffe_root/python folder</span>
+<p>We first extract the parameter values from <a class="reference external" href="http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel">Caffe‘s checkpoint file</a> into a pickle version
+After downloading the checkpoint file into <code class="docutils literal"><span class="pre">caffe_root/python</span></code> folder, run the following script</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># to be executed within caffe_root/python folder</span>
<span class="kn">import</span> <span class="nn">caffe</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">cPickle</span> <span class="k">as</span> <span class="nn">pickle</span>
@@ -252,7 +258,7 @@ After downloading the checkpoint file into <code class="docutils literal notrans
<span class="n">pickle</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">params</span><span class="p">,</span> <span class="n">fd</span><span class="p">)</span>
</pre></div>
</div>
-<p>Then we construct the GoogleNet using SINGA’s FeedForwardNet structure.
+<p>Then we construct the GoogleNet using SINGA‘s FeedForwardNet structure.
Note that we added a EndPadding layer to resolve the issue from discrepancy
of the rounding strategy of the pooling layer between Caffe (ceil) and cuDNN (floor).
Only the MaxPooling layers outside inception blocks have this problem.
diff --git a/content/docs/model_zoo/examples/imagenet/inception/README.html b/content/docs/model_zoo/examples/imagenet/inception/README.html
index a0d8342..6525a77 100644
--- a/content/docs/model_zoo/examples/imagenet/inception/README.html
+++ b/content/docs/model_zoo/examples/imagenet/inception/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -203,23 +209,24 @@
<div class="section" id="instructions">
<h2>Instructions<a class="headerlink" href="#instructions" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p>Download the parameter checkpoint file</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ wget
+<li><p class="first">Download the parameter checkpoint file</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/inception_v4.tar.gz
$ tar xvf inception_v4.tar.gz
</pre></div>
</div>
</li>
-<li><p>Download <a class="reference external" href="https://github.com/BVLC/caffe/blob/master/data/ilsvrc12/get_ilsvrc_aux.sh">synset_word.txt</a> file.</p></li>
-<li><p>Run the program</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> # use cpu
+<li><p class="first">Download <a class="reference external" href="https://github.com/BVLC/caffe/blob/master/data/ilsvrc12/get_ilsvrc_aux.sh">synset_word.txt</a> file.</p>
+</li>
+<li><p class="first">Run the program</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> # use cpu
$ python serve.py -C &
# use gpu
$ python serve.py &
</pre></div>
</div>
</li>
-<li><p>Submit images for classification</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ curl -i -F image=@image1.jpg http://localhost:9999/api
+<li><p class="first">Submit images for classification</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> $ curl -i -F image=@image1.jpg http://localhost:9999/api
$ curl -i -F image=@image2.jpg http://localhost:9999/api
$ curl -i -F image=@image3.jpg http://localhost:9999/api
</pre></div>
@@ -230,9 +237,9 @@
</div>
<div class="section" id="details">
<h2>Details<a class="headerlink" href="#details" title="Permalink to this headline">¶</a></h2>
-<p>We first extract the parameter values from <a class="reference external" href="http://download.tensorflow.org/models/inception_v4_2016_09_09.tar.gz">Tensorflow’s checkpoint file</a> into a pickle version.
+<p>We first extract the parameter values from <a class="reference external" href="http://download.tensorflow.org/models/inception_v4_2016_09_09.tar.gz">Tensorflow‘s checkpoint file</a> into a pickle version.
After downloading and decompressing the checkpoint file, run the following script</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ python convert.py --file_name=inception_v4.ckpt
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ python convert.py --file_name=inception_v4.ckpt
</pre></div>
</div>
</div>
diff --git a/content/docs/model_zoo/examples/imagenet/resnet/README.html b/content/docs/model_zoo/examples/imagenet/resnet/README.html
index de2f6a6..cafbc8a 100644
--- a/content/docs/model_zoo/examples/imagenet/resnet/README.html
+++ b/content/docs/model_zoo/examples/imagenet/resnet/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -203,20 +209,20 @@
<div class="section" id="instructions">
<h2>Instructions<a class="headerlink" href="#instructions" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p>Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz
+<li><p class="first">Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz
$ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/synset_words.txt
$ tar xvf resnet-18.tar.gz
</pre></div>
</div>
</li>
-<li><p>Usage</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ python serve.py -h
+<li><p class="first">Usage</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> $ python serve.py -h
</pre></div>
</div>
</li>
-<li><p>Example</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> # use cpu
+<li><p class="first">Example</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> # use cpu
$ python serve.py --use_cpu --parameter_file resnet-18.pickle --model resnet --depth 18 &
# use gpu
$ python serve.py --parameter_file resnet-18.pickle --model resnet --depth 18 &
@@ -224,14 +230,14 @@
</div>
<p>The parameter files for the following model and depth configuration pairs are provided:</p>
<ul class="simple">
-<li><p>resnet (original resnet), <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz">18</a>|<a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-34.tar.gz">34</a>|<a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-101.tar.gz">101</a>|<a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-152.tar.gz">152 [...]
-<li><p>addbn (resnet with a batch normalization layer after the addition), <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-50.tar.gz">50</a></p></li>
-<li><p>wrn (wide resnet), <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/wrn-50-2.tar.gz">50</a></p></li>
-<li><p>preact (resnet with pre-activation) <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-200.tar.gz">200</a></p></li>
+<li>resnet (original resnet), <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz">18</a>|<a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-34.tar.gz">34</a>|<a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-101.tar.gz">101</a>|<a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-152.tar.gz">152</a></li>
+<li>addbn (resnet with a batch normalization layer after the addition), <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-50.tar.gz">50</a></li>
+<li>wrn (wide resnet), <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/wrn-50-2.tar.gz">50</a></li>
+<li>preact (resnet with pre-activation) <a class="reference external" href="https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-200.tar.gz">200</a></li>
</ul>
</li>
-<li><p>Submit images for classification</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ curl -i -F image=@image1.jpg http://localhost:9999/api
+<li><p class="first">Submit images for classification</p>
+<div class="highlight-default"><div class="highlight"><pre><span></span> $ curl -i -F image=@image1.jpg http://localhost:9999/api
$ curl -i -F image=@image2.jpg http://localhost:9999/api
$ curl -i -F image=@image3.jpg http://localhost:9999/api
</pre></div>
@@ -245,7 +251,7 @@
<p>The parameter files were extracted from the original <a class="reference external" href="https://github.com/facebook/fb.resnet.torch/tree/master/pretrained">torch files</a> via
the convert.py program.</p>
<p>Usage:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ python convert.py -h
+<div class="highlight-default"><div class="highlight"><pre><span></span>$ python convert.py -h
</pre></div>
</div>
</div>
diff --git a/content/docs/model_zoo/examples/imagenet/vgg/README.html b/content/docs/model_zoo/examples/imagenet/vgg/README.html
index 91b00d8..3305a2e 100644
--- a/content/docs/model_zoo/examples/imagenet/vgg/README.html
+++ b/content/docs/model_zoo/examples/imagenet/vgg/README.html
@@ -21,11 +21,20 @@
<script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT:'../../../../../',
+ VERSION:'2.0.0',
+ LANGUAGE:'None',
+ COLLAPSE_INDEX:false,
+ FILE_SUFFIX:'.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt'
+ };
+ </script>
<script type="text/javascript" src="../../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../../_static/doctools.js"></script>
- <script type="text/javascript" src="../../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
@@ -105,9 +114,6 @@
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../develop/how-to-release.html">How to prepare a release</a></li>
@@ -204,20 +210,20 @@ to SINGA for image classification.</p>
<div class="section" id="instructions">
<h2>Instructions<a class="headerlink" href="#instructions" title="Permalink to this headline">¶</a></h2>
... 30520 lines suppressed ...
[incubator-singa-site] 02/08: Adding LICENSE
Posted by wa...@apache.org.
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/incubator-singa-site.git
commit 13db0928ee30f7a369933737f9dee14e168e349f
Author: Moaz Reyad <mo...@gmail.com>
AuthorDate: Thu Jul 25 12:05:58 2019 +0200
Adding LICENSE
---
LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 201 insertions(+)
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..261eeb9
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed 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 required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
[incubator-singa-site] 01/08: initial commit from old SVN repository
Posted by wa...@apache.org.
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/incubator-singa-site.git
commit e73a06e4d01091bbae94bfd431346ec75f3a889d
Author: Moaz Reyad <mo...@apache.org>
AuthorDate: Thu Jul 25 11:55:35 2019 +0200
initial commit from old SVN repository
---
README | 0
_sources/community/issue-tracking.md.txt | 27 +
_sources/community/mail-lists.rst.txt | 29 +
_sources/community/source-repository.rst.txt | 64 +
_sources/community/team-list.rst.txt | 84 +
_sources/develop/contribute-code.md.txt | 77 +
_sources/develop/contribute-docs.md.txt | 54 +
_sources/develop/how-contribute.md.txt | 36 +
_sources/develop/how-to-release.rst.txt | 228 +
_sources/develop/schedule.rst.txt | 65 +
_sources/docs.rst.txt | 23 +
_sources/docs/autograd.md.txt | 166 +
_sources/docs/benchmark.md.txt | 33 +
_sources/docs/cnn.md.txt | 159 +
_sources/docs/converter.rst.txt | 23 +
_sources/docs/data.rst.txt | 25 +
_sources/docs/dependencies.md.txt | 110 +
_sources/docs/device.rst.txt | 54 +
_sources/docs/docker.md.txt | 71 +
_sources/docs/image_tool.rst.txt | 23 +
_sources/docs/index.rst.txt | 43 +
_sources/docs/initializer.rst.txt | 30 +
_sources/docs/install_macos1013.rst.txt | 153 +
_sources/docs/install_win.rst.txt | 419 +
_sources/docs/installation.md.txt | 381 +
_sources/docs/layer.rst.txt | 32 +
_sources/docs/loss.rst.txt | 25 +
_sources/docs/metric.rst.txt | 26 +
_sources/docs/model_zoo/caffe/README.md.txt | 32 +
_sources/docs/model_zoo/char-rnn/README.md.txt | 33 +
_sources/docs/model_zoo/cifar10/README.md.txt | 76 +
.../docs/model_zoo/examples/caffe/README.md.txt | 50 +
.../docs/model_zoo/examples/char-rnn/README.md.txt | 50 +
.../docs/model_zoo/examples/cifar10/README.md.txt | 94 +
.../examples/imagenet/alexnet/README.md.txt | 76 +
.../examples/imagenet/densenet/README.md.txt | 63 +
.../examples/imagenet/googlenet/README.md.txt | 77 +
.../examples/imagenet/inception/README.md.txt | 53 +
.../examples/imagenet/resnet/README.md.txt | 66 +
.../model_zoo/examples/imagenet/vgg/README.md.txt | 63 +
_sources/docs/model_zoo/examples/index.rst.txt | 33 +
.../docs/model_zoo/examples/mnist/README.md.txt | 36 +
.../docs/model_zoo/imagenet/alexnet/README.md.txt | 58 +
.../docs/model_zoo/imagenet/densenet/README.md.txt | 68 +
.../model_zoo/imagenet/googlenet/README.md.txt | 66 +
.../model_zoo/imagenet/inception/README.md.txt | 43 +
.../docs/model_zoo/imagenet/resnet/README.md.txt | 54 +
_sources/docs/model_zoo/imagenet/vgg/README.md.txt | 51 +
_sources/docs/model_zoo/index.rst.txt | 29 +
_sources/docs/model_zoo/mnist/README.md.txt | 18 +
_sources/docs/net.rst.txt | 26 +
_sources/docs/neural-net.md.txt | 344 +
_sources/docs/notebook/README.md.txt | 21 +
_sources/docs/optimizer.rst.txt | 29 +
_sources/docs/security.rst.txt | 23 +
_sources/docs/snapshot.rst.txt | 24 +
_sources/docs/software_stack.md.txt | 117 +
_sources/docs/tensor.rst.txt | 48 +
_sources/docs/utils.rst.txt | 24 +
_sources/downloads.md.txt | 165 +
_sources/index.rst.txt | 159 +
_sources/releases/RELEASE_NOTES_0.1.0.md.txt | 117 +
_sources/releases/RELEASE_NOTES_0.2.0.md.txt | 102 +
_sources/releases/RELEASE_NOTES_0.3.0.md.txt | 55 +
_sources/releases/RELEASE_NOTES_1.0.0.md.txt | 109 +
_sources/releases/RELEASE_NOTES_1.1.0.md.txt | 67 +
_sources/releases/RELEASE_NOTES_1.2.0.md.txt | 73 +
_sources/releases/RELEASE_NOTES_2.0.0.md.txt | 64 +
_sources/security.rst.txt | 23 +
_static/ajax-loader.gif | Bin 0 -> 673 bytes
_static/apache.png | Bin 0 -> 30207 bytes
_static/awsmp.gif | Bin 0 -> 3550 bytes
_static/basic.css | 748 ++
_static/comment-bright.png | Bin 0 -> 756 bytes
_static/comment-close.png | Bin 0 -> 829 bytes
_static/comment.png | Bin 0 -> 641 bytes
_static/css/badge_only.css | 1 +
_static/css/theme.css | 6 +
_static/docker.png | Bin 0 -> 6452 bytes
_static/doctools.js | 314 +
_static/documentation_options.js | 10 +
_static/down-pressed.png | Bin 0 -> 222 bytes
_static/down.png | Bin 0 -> 202 bytes
_static/file.png | Bin 0 -> 286 bytes
_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 109948 bytes
_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 96964 bytes
_static/fonts/Inconsolata.ttf | Bin 0 -> 63184 bytes
_static/fonts/Lato-Bold.ttf | Bin 0 -> 656544 bytes
_static/fonts/Lato-Regular.ttf | Bin 0 -> 656568 bytes
_static/fonts/Lato/lato-bold.eot | Bin 0 -> 256056 bytes
_static/fonts/Lato/lato-bold.ttf | Bin 0 -> 600856 bytes
_static/fonts/Lato/lato-bold.woff | Bin 0 -> 309728 bytes
_static/fonts/Lato/lato-bold.woff2 | Bin 0 -> 184912 bytes
_static/fonts/Lato/lato-bolditalic.eot | Bin 0 -> 266158 bytes
_static/fonts/Lato/lato-bolditalic.ttf | Bin 0 -> 622572 bytes
_static/fonts/Lato/lato-bolditalic.woff | Bin 0 -> 323344 bytes
_static/fonts/Lato/lato-bolditalic.woff2 | Bin 0 -> 193308 bytes
_static/fonts/Lato/lato-italic.eot | Bin 0 -> 268604 bytes
_static/fonts/Lato/lato-italic.ttf | Bin 0 -> 639388 bytes
_static/fonts/Lato/lato-italic.woff | Bin 0 -> 328412 bytes
_static/fonts/Lato/lato-italic.woff2 | Bin 0 -> 195704 bytes
_static/fonts/Lato/lato-regular.eot | Bin 0 -> 253461 bytes
_static/fonts/Lato/lato-regular.ttf | Bin 0 -> 607720 bytes
_static/fonts/Lato/lato-regular.woff | Bin 0 -> 309192 bytes
_static/fonts/Lato/lato-regular.woff2 | Bin 0 -> 182708 bytes
_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes
_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes
_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot | Bin 0 -> 79520 bytes
_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf | Bin 0 -> 170616 bytes
_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff | Bin 0 -> 87624 bytes
_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 | Bin 0 -> 67312 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.eot | Bin 0 -> 78331 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.ttf | Bin 0 -> 169064 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.woff | Bin 0 -> 86288 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.woff2 | Bin 0 -> 66444 bytes
_static/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes
_static/fonts/fontawesome-webfont.svg | 2671 +++++
_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes
_static/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes
_static/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes
_static/github.png | Bin 0 -> 2625 bytes
_static/images/benchmark.png | Bin 0 -> 124430 bytes
_static/images/mlp-net.png | Bin 0 -> 6905 bytes
_static/images/model-category.png | Bin 0 -> 18395 bytes
_static/images/overview.png | Bin 0 -> 76106 bytes
_static/images/partition_fc.png | Bin 0 -> 23874 bytes
_static/images/rbm-rnn.png | Bin 0 -> 15499 bytes
_static/images/sgd.png | Bin 0 -> 15553 bytes
_static/images/singa.png | Bin 0 -> 203695 bytes
_static/images/singav1-sw.png | Bin 0 -> 24326 bytes
_static/jquery-3.2.1.js | 10253 ++++++++++++++++++
_static/jquery.js | 4 +
_static/js/modernizr.min.js | 4 +
_static/js/theme.js | 3 +
_static/jupyter.png | Bin 0 -> 24631 bytes
_static/language_data.js | 297 +
_static/minus.png | Bin 0 -> 90 bytes
_static/plus.png | Bin 0 -> 90 bytes
_static/pygments.css | 69 +
_static/searchtools.js | 505 +
_static/singa-logo-updated.ai | 1557 +++
_static/singa.png | Bin 0 -> 81502 bytes
_static/style.css | 25 +
_static/underscore-1.3.1.js | 999 ++
_static/underscore.js | 31 +
_static/up-pressed.png | Bin 0 -> 214 bytes
_static/up.png | Bin 0 -> 203 bytes
_static/websupport.js | 808 ++
community/issue-tracking.html | 307 +
community/mail-lists.html | 323 +
community/source-repository.html | 329 +
community/team-list.html | 413 +
develop/contribute-code.html | 360 +
develop/contribute-docs.html | 338 +
develop/how-contribute.html | 315 +
develop/how-to-release.html | 478 +
develop/schedule.html | 463 +
docs.html | 400 +
docs/autograd.html | 476 +
docs/benchmark.html | 328 +
docs/cnn.html | 430 +
docs/converter.html | 306 +
docs/data.html | 364 +
docs/dependencies.html | 364 +
docs/device.html | 375 +
docs/docker.html | 340 +
docs/image_tool.html | 579 ++
docs/index.html | 428 +
docs/initializer.html | 368 +
docs/install_macos1013.html | 393 +
docs/install_win.html | 730 ++
docs/installation.html | 690 ++
docs/layer.html | 1257 +++
docs/loss.html | 491 +
docs/metric.html | 461 +
docs/model_zoo/caffe/README.html | 308 +
docs/model_zoo/char-rnn/README.html | 354 +
docs/model_zoo/cifar10/README.html | 400 +
docs/model_zoo/examples/caffe/README.html | 325 +
docs/model_zoo/examples/char-rnn/README.html | 321 +
docs/model_zoo/examples/cifar10/README.html | 367 +
.../examples/imagenet/alexnet/README.html | 363 +
.../examples/imagenet/densenet/README.html | 335 +
.../examples/imagenet/googlenet/README.html | 349 +
.../examples/imagenet/inception/README.html | 327 +
.../model_zoo/examples/imagenet/resnet/README.html | 340 +
docs/model_zoo/examples/imagenet/vgg/README.html | 338 +
docs/model_zoo/examples/index.html | 330 +
docs/model_zoo/examples/mnist/README.html | 309 +
docs/model_zoo/imagenet/alexnet/README.html | 396 +
docs/model_zoo/imagenet/densenet/README.html | 419 +
docs/model_zoo/imagenet/googlenet/README.html | 397 +
docs/model_zoo/imagenet/inception/README.html | 324 +
docs/model_zoo/imagenet/resnet/README.html | 335 +
docs/model_zoo/imagenet/vgg/README.html | 331 +
docs/model_zoo/index.html | 357 +
docs/model_zoo/mnist/README.html | 292 +
docs/net.html | 565 +
docs/neural-net.html | 605 ++
docs/notebook/README.html | 289 +
docs/optimizer.html | 701 ++
docs/snapshot.html | 349 +
docs/software_stack.html | 413 +
docs/tensor.html | 1595 +++
docs/utils.html | 320 +
downloads.html | 472 +
doxygen/html/annotated.html | 145 +
doxygen/html/bc_s.png | Bin 0 -> 676 bytes
doxygen/html/bdwn.png | Bin 0 -> 147 bytes
doxygen/html/channel_8h_source.html | 89 +
doxygen/html/classFactory-members.html | 80 +
doxygen/html/classFactory.html | 192 +
doxygen/html/classPriorityQueue-members.html | 83 +
doxygen/html/classPriorityQueue.html | 287 +
doxygen/html/classRegistra-members.html | 78 +
doxygen/html/classRegistra.html | 87 +
doxygen/html/classSafeQueue-members.html | 84 +
doxygen/html/classSafeQueue.html | 276 +
doxygen/html/classSingleton-members.html | 78 +
doxygen/html/classSingleton.html | 97 +
doxygen/html/classes.html | 123 +
doxygen/html/classsinga_1_1Accuracy-members.html | 88 +
doxygen/html/classsinga_1_1Accuracy.html | 168 +
.../html/classsinga_1_1Accuracy__coll__graph.dot | 8 +
.../html/classsinga_1_1Accuracy__coll__graph.md5 | 1 +
.../classsinga_1_1Accuracy__inherit__graph.dot | 8 +
.../classsinga_1_1Accuracy__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1AdaGrad-members.html | 98 +
doxygen/html/classsinga_1_1AdaGrad.html | 152 +
.../html/classsinga_1_1AdaGrad__coll__graph.dot | 14 +
.../html/classsinga_1_1AdaGrad__coll__graph.md5 | 1 +
.../html/classsinga_1_1AdaGrad__inherit__graph.dot | 8 +
.../html/classsinga_1_1AdaGrad__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Block-members.html | 90 +
doxygen/html/classsinga_1_1Block.html | 122 +
doxygen/html/classsinga_1_1CSVDecoder-members.html | 86 +
doxygen/html/classsinga_1_1CSVDecoder.html | 117 +
.../html/classsinga_1_1CSVDecoder__coll__graph.dot | 8 +
.../html/classsinga_1_1CSVDecoder__coll__graph.md5 | 1 +
.../classsinga_1_1CSVDecoder__inherit__graph.dot | 8 +
.../classsinga_1_1CSVDecoder__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1CSVEncoder-members.html | 85 +
doxygen/html/classsinga_1_1CSVEncoder.html | 145 +
.../html/classsinga_1_1CSVEncoder__coll__graph.dot | 8 +
.../html/classsinga_1_1CSVEncoder__coll__graph.md5 | 1 +
.../classsinga_1_1CSVEncoder__inherit__graph.dot | 8 +
.../classsinga_1_1CSVEncoder__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Channel-members.html | 89 +
doxygen/html/classsinga_1_1Channel.html | 143 +
.../html/classsinga_1_1ChannelManager-members.html | 86 +
doxygen/html/classsinga_1_1ChannelManager.html | 97 +
doxygen/html/classsinga_1_1Constraint-members.html | 88 +
doxygen/html/classsinga_1_1Constraint.html | 159 +
doxygen/html/classsinga_1_1CppCPU-members.html | 107 +
doxygen/html/classsinga_1_1CppCPU.html | 197 +
doxygen/html/classsinga_1_1CppCPU__coll__graph.dot | 10 +
doxygen/html/classsinga_1_1CppCPU__coll__graph.md5 | 1 +
.../html/classsinga_1_1CppCPU__inherit__graph.dot | 8 +
.../html/classsinga_1_1CppCPU__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Decoder-members.html | 85 +
doxygen/html/classsinga_1_1Decoder.html | 108 +
.../html/classsinga_1_1Decoder__inherit__graph.dot | 8 +
.../html/classsinga_1_1Decoder__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Device-members.html | 105 +
doxygen/html/classsinga_1_1Device.html | 266 +
.../html/classsinga_1_1DeviceMemPool-members.html | 86 +
doxygen/html/classsinga_1_1DeviceMemPool.html | 105 +
doxygen/html/classsinga_1_1Device__coll__graph.dot | 8 +
doxygen/html/classsinga_1_1Device__coll__graph.md5 | 1 +
.../html/classsinga_1_1Device__inherit__graph.dot | 8 +
.../html/classsinga_1_1Device__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Encoder-members.html | 85 +
doxygen/html/classsinga_1_1Encoder.html | 138 +
.../html/classsinga_1_1Encoder__inherit__graph.dot | 8 +
.../html/classsinga_1_1Encoder__inherit__graph.md5 | 1 +
.../html/classsinga_1_1FeedForwardNet-members.html | 113 +
doxygen/html/classsinga_1_1FeedForwardNet.html | 610 ++
.../classsinga_1_1FeedForwardNet__coll__graph.dot | 16 +
.../classsinga_1_1FeedForwardNet__coll__graph.md5 | 1 +
.../classsinga_1_1ImageTransformer-members.html | 93 +
doxygen/html/classsinga_1_1ImageTransformer.html | 159 +
...classsinga_1_1ImageTransformer__coll__graph.dot | 8 +
...classsinga_1_1ImageTransformer__coll__graph.md5 | 1 +
...sssinga_1_1ImageTransformer__inherit__graph.dot | 8 +
...sssinga_1_1ImageTransformer__inherit__graph.md5 | 1 +
.../html/classsinga_1_1Initializer-members.html | 85 +
doxygen/html/classsinga_1_1Initializer.html | 104 +
.../classsinga_1_1Initializer__inherit__graph.dot | 17 +
.../classsinga_1_1Initializer__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Layer-members.html | 106 +
doxygen/html/classsinga_1_1Layer.html | 594 ++
doxygen/html/classsinga_1_1Layer__coll__graph.dot | 10 +
doxygen/html/classsinga_1_1Layer__coll__graph.md5 | 1 +
.../html/classsinga_1_1LocalUpdater-members.html | 92 +
doxygen/html/classsinga_1_1LocalUpdater.html | 196 +
.../classsinga_1_1LocalUpdater__coll__graph.dot | 16 +
.../classsinga_1_1LocalUpdater__coll__graph.md5 | 1 +
.../classsinga_1_1LocalUpdater__inherit__graph.dot | 8 +
.../classsinga_1_1LocalUpdater__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Loss-members.html | 89 +
doxygen/html/classsinga_1_1Loss.html | 214 +
.../html/classsinga_1_1Loss__inherit__graph.dot | 10 +
.../html/classsinga_1_1Loss__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1MSE-members.html | 89 +
doxygen/html/classsinga_1_1MSE.html | 204 +
doxygen/html/classsinga_1_1MSE__coll__graph.dot | 8 +
doxygen/html/classsinga_1_1MSE__coll__graph.md5 | 1 +
doxygen/html/classsinga_1_1MSE__inherit__graph.dot | 8 +
doxygen/html/classsinga_1_1MSE__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Metric-members.html | 88 +
doxygen/html/classsinga_1_1Metric.html | 120 +
.../html/classsinga_1_1Metric__inherit__graph.dot | 8 +
.../html/classsinga_1_1Metric__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Nesterov-members.html | 99 +
doxygen/html/classsinga_1_1Nesterov.html | 184 +
.../html/classsinga_1_1Nesterov__coll__graph.dot | 14 +
.../html/classsinga_1_1Nesterov__coll__graph.md5 | 1 +
.../classsinga_1_1Nesterov__inherit__graph.dot | 8 +
.../classsinga_1_1Nesterov__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Optimizer-members.html | 98 +
doxygen/html/classsinga_1_1Optimizer.html | 368 +
.../html/classsinga_1_1Optimizer__coll__graph.dot | 12 +
.../html/classsinga_1_1Optimizer__coll__graph.md5 | 1 +
.../classsinga_1_1Optimizer__inherit__graph.dot | 14 +
.../classsinga_1_1Optimizer__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Platform-members.html | 82 +
doxygen/html/classsinga_1_1Platform.html | 100 +
doxygen/html/classsinga_1_1RMSProp-members.html | 99 +
doxygen/html/classsinga_1_1RMSProp.html | 152 +
.../html/classsinga_1_1RMSProp__coll__graph.dot | 14 +
.../html/classsinga_1_1RMSProp__coll__graph.md5 | 1 +
.../html/classsinga_1_1RMSProp__inherit__graph.dot | 8 +
.../html/classsinga_1_1RMSProp__inherit__graph.md5 | 1 +
.../html/classsinga_1_1Regularizer-members.html | 88 +
doxygen/html/classsinga_1_1Regularizer.html | 159 +
doxygen/html/classsinga_1_1SGD-members.html | 99 +
doxygen/html/classsinga_1_1SGD.html | 184 +
doxygen/html/classsinga_1_1SGD__coll__graph.dot | 14 +
doxygen/html/classsinga_1_1SGD__coll__graph.md5 | 1 +
doxygen/html/classsinga_1_1SGD__inherit__graph.dot | 8 +
doxygen/html/classsinga_1_1SGD__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Scheduler.html | 88 +
doxygen/html/classsinga_1_1Snapshot-members.html | 92 +
doxygen/html/classsinga_1_1Snapshot.html | 200 +
.../classsinga_1_1SoftmaxCrossEntropy-members.html | 89 +
.../html/classsinga_1_1SoftmaxCrossEntropy.html | 206 +
...sssinga_1_1SoftmaxCrossEntropy__coll__graph.dot | 8 +
...sssinga_1_1SoftmaxCrossEntropy__coll__graph.md5 | 1 +
...inga_1_1SoftmaxCrossEntropy__inherit__graph.dot | 8 +
...inga_1_1SoftmaxCrossEntropy__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Tensor-members.html | 138 +
doxygen/html/classsinga_1_1Tensor.html | 531 +
doxygen/html/classsinga_1_1Tensor__coll__graph.dot | 12 +
doxygen/html/classsinga_1_1Tensor__coll__graph.md5 | 1 +
doxygen/html/classsinga_1_1Timer-members.html | 88 +
doxygen/html/classsinga_1_1Timer.html | 154 +
doxygen/html/classsinga_1_1Tokenizer-members.html | 84 +
doxygen/html/classsinga_1_1Tokenizer.html | 105 +
.../html/classsinga_1_1Transformer-members.html | 85 +
doxygen/html/classsinga_1_1Transformer.html | 107 +
.../classsinga_1_1Transformer__inherit__graph.dot | 8 +
.../classsinga_1_1Transformer__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1Updater-members.html | 90 +
doxygen/html/classsinga_1_1Updater.html | 138 +
.../html/classsinga_1_1Updater__coll__graph.dot | 14 +
.../html/classsinga_1_1Updater__coll__graph.md5 | 1 +
.../html/classsinga_1_1Updater__inherit__graph.dot | 8 +
.../html/classsinga_1_1Updater__inherit__graph.md5 | 1 +
doxygen/html/classsinga_1_1VirtualMemory.html | 88 +
.../classsinga_1_1init_1_1Constant-members.html | 87 +
doxygen/html/classsinga_1_1init_1_1Constant.html | 114 +
...classsinga_1_1init_1_1Constant__coll__graph.dot | 8 +
...classsinga_1_1init_1_1Constant__coll__graph.md5 | 1 +
...sssinga_1_1init_1_1Constant__inherit__graph.dot | 8 +
...sssinga_1_1init_1_1Constant__inherit__graph.md5 | 1 +
.../classsinga_1_1init_1_1Gaussian-members.html | 87 +
doxygen/html/classsinga_1_1init_1_1Gaussian.html | 114 +
...classsinga_1_1init_1_1Gaussian__coll__graph.dot | 8 +
...classsinga_1_1init_1_1Gaussian__coll__graph.md5 | 1 +
...sssinga_1_1init_1_1Gaussian__inherit__graph.dot | 8 +
...sssinga_1_1init_1_1Gaussian__inherit__graph.md5 | 1 +
.../html/classsinga_1_1init_1_1MSRA-members.html | 85 +
doxygen/html/classsinga_1_1init_1_1MSRA.html | 118 +
.../classsinga_1_1init_1_1MSRA__coll__graph.dot | 8 +
.../classsinga_1_1init_1_1MSRA__coll__graph.md5 | 1 +
.../classsinga_1_1init_1_1MSRA__inherit__graph.dot | 8 +
.../classsinga_1_1init_1_1MSRA__inherit__graph.md5 | 1 +
.../classsinga_1_1init_1_1Uniform-members.html | 87 +
doxygen/html/classsinga_1_1init_1_1Uniform.html | 114 +
.../classsinga_1_1init_1_1Uniform__coll__graph.dot | 8 +
.../classsinga_1_1init_1_1Uniform__coll__graph.md5 | 1 +
...asssinga_1_1init_1_1Uniform__inherit__graph.dot | 8 +
...asssinga_1_1init_1_1Uniform__inherit__graph.md5 | 1 +
.../html/classsinga_1_1init_1_1Xavier-members.html | 85 +
doxygen/html/classsinga_1_1init_1_1Xavier.html | 118 +
.../classsinga_1_1init_1_1Xavier__coll__graph.dot | 8 +
.../classsinga_1_1init_1_1Xavier__coll__graph.md5 | 1 +
...lasssinga_1_1init_1_1Xavier__inherit__graph.dot | 8 +
...lasssinga_1_1init_1_1Xavier__inherit__graph.md5 | 1 +
.../classsinga_1_1io_1_1BinFileReader-members.html | 93 +
.../html/classsinga_1_1io_1_1BinFileReader.html | 388 +
...sssinga_1_1io_1_1BinFileReader__coll__graph.dot | 8 +
...sssinga_1_1io_1_1BinFileReader__coll__graph.md5 | 1 +
...inga_1_1io_1_1BinFileReader__inherit__graph.dot | 8 +
...inga_1_1io_1_1BinFileReader__inherit__graph.md5 | 1 +
.../classsinga_1_1io_1_1BinFileWriter-members.html | 90 +
.../html/classsinga_1_1io_1_1BinFileWriter.html | 317 +
...sssinga_1_1io_1_1BinFileWriter__coll__graph.dot | 8 +
...sssinga_1_1io_1_1BinFileWriter__coll__graph.md5 | 1 +
...inga_1_1io_1_1BinFileWriter__inherit__graph.dot | 8 +
...inga_1_1io_1_1BinFileWriter__inherit__graph.md5 | 1 +
.../html/classsinga_1_1io_1_1Reader-members.html | 87 +
doxygen/html/classsinga_1_1io_1_1Reader.html | 253 +
.../classsinga_1_1io_1_1Reader__inherit__graph.dot | 10 +
.../classsinga_1_1io_1_1Reader__inherit__graph.md5 | 1 +
...classsinga_1_1io_1_1TextFileReader-members.html | 89 +
.../html/classsinga_1_1io_1_1TextFileReader.html | 283 +
...ssinga_1_1io_1_1TextFileReader__coll__graph.dot | 8 +
...ssinga_1_1io_1_1TextFileReader__coll__graph.md5 | 1 +
...nga_1_1io_1_1TextFileReader__inherit__graph.dot | 8 +
...nga_1_1io_1_1TextFileReader__inherit__graph.md5 | 1 +
...classsinga_1_1io_1_1TextFileWriter-members.html | 88 +
.../html/classsinga_1_1io_1_1TextFileWriter.html | 264 +
...ssinga_1_1io_1_1TextFileWriter__coll__graph.dot | 8 +
...ssinga_1_1io_1_1TextFileWriter__coll__graph.md5 | 1 +
...nga_1_1io_1_1TextFileWriter__inherit__graph.dot | 8 +
...nga_1_1io_1_1TextFileWriter__inherit__graph.md5 | 1 +
.../html/classsinga_1_1io_1_1Writer-members.html | 86 +
doxygen/html/classsinga_1_1io_1_1Writer.html | 234 +
.../classsinga_1_1io_1_1Writer__inherit__graph.dot | 10 +
.../classsinga_1_1io_1_1Writer__inherit__graph.md5 | 1 +
..._1logging_1_1CheckOpMessageBuilder-members.html | 86 +
...ssinga_1_1logging_1_1CheckOpMessageBuilder.html | 100 +
...lasssinga_1_1logging_1_1LogMessage-members.html | 85 +
.../html/classsinga_1_1logging_1_1LogMessage.html | 113 +
...inga_1_1logging_1_1LogMessageFatal-members.html | 87 +
.../classsinga_1_1logging_1_1LogMessageFatal.html | 117 +
..._1_1logging_1_1LogMessageFatal__coll__graph.dot | 10 +
..._1_1logging_1_1LogMessageFatal__coll__graph.md5 | 1 +
...1logging_1_1LogMessageFatal__inherit__graph.dot | 10 +
...1logging_1_1LogMessageFatal__inherit__graph.md5 | 1 +
...singa_1_1logging_1_1LogMessage__coll__graph.dot | 8 +
...singa_1_1logging_1_1LogMessage__coll__graph.md5 | 1 +
...ga_1_1logging_1_1LogMessage__inherit__graph.dot | 10 +
...ga_1_1logging_1_1LogMessage__inherit__graph.md5 | 1 +
doxygen/html/closed.png | Bin 0 -> 132 bytes
doxygen/html/common_8h_source.html | 84 +
doxygen/html/cuda__utils_8h_source.html | 78 +
doxygen/html/decoder_8h_source.html | 82 +
doxygen/html/device_8h_source.html | 98 +
.../html/dir_0c57f5a0b2589d9cd025f1d3faf7a1ee.html | 78 +
.../html/dir_14a988756d30161f7e1f48b05d03905d.html | 82 +
.../html/dir_1ed15e94f94d348ba7de93ac6315cc91.html | 78 +
.../html/dir_54125cd652f9635a64a4101de1b8704d.html | 78 +
.../html/dir_953eafc3caccd34fc2601f376f19d1ef.html | 78 +
.../html/dir_d44c64559bbebec7f509842c48db8b23.html | 78 +
doxygen/html/doc.png | Bin 0 -> 746 bytes
doxygen/html/doxygen.css | 1596 +++
doxygen/html/doxygen.png | Bin 0 -> 3779 bytes
doxygen/html/dynsections.js | 97 +
doxygen/html/encoder_8h_source.html | 82 +
doxygen/html/factory_8h_source.html | 82 +
doxygen/html/feed__forward__net_8h_source.html | 102 +
doxygen/html/files.html | 116 +
doxygen/html/folderclosed.png | Bin 0 -> 616 bytes
doxygen/html/folderopen.png | Bin 0 -> 597 bytes
doxygen/html/functions.html | 93 +
doxygen/html/functions_0x7e.html | 86 +
doxygen/html/functions_b.html | 90 +
doxygen/html/functions_c.html | 106 +
doxygen/html/functions_d.html | 91 +
doxygen/html/functions_e.html | 98 +
doxygen/html/functions_f.html | 98 +
doxygen/html/functions_func.html | 93 +
doxygen/html/functions_func_0x7e.html | 86 +
doxygen/html/functions_func_b.html | 87 +
doxygen/html/functions_func_c.html | 106 +
doxygen/html/functions_func_d.html | 91 +
doxygen/html/functions_func_e.html | 98 +
doxygen/html/functions_func_f.html | 98 +
doxygen/html/functions_func_g.html | 92 +
doxygen/html/functions_func_i.html | 77 +
doxygen/html/functions_func_l.html | 86 +
doxygen/html/functions_func_m.html | 81 +
doxygen/html/functions_func_n.html | 80 +
doxygen/html/functions_func_o.html | 101 +
doxygen/html/functions_func_p.html | 109 +
doxygen/html/functions_func_r.html | 104 +
doxygen/html/functions_func_s.html | 123 +
doxygen/html/functions_func_t.html | 123 +
doxygen/html/functions_func_v.html | 77 +
doxygen/html/functions_func_w.html | 80 +
doxygen/html/functions_g.html | 92 +
doxygen/html/functions_h.html | 77 +
doxygen/html/functions_i.html | 77 +
doxygen/html/functions_l.html | 89 +
doxygen/html/functions_m.html | 81 +
doxygen/html/functions_n.html | 80 +
doxygen/html/functions_o.html | 101 +
doxygen/html/functions_p.html | 109 +
doxygen/html/functions_r.html | 104 +
doxygen/html/functions_s.html | 123 +
doxygen/html/functions_t.html | 123 +
doxygen/html/functions_v.html | 77 +
doxygen/html/functions_vars.html | 81 +
doxygen/html/functions_w.html | 80 +
doxygen/html/graph_legend.dot | 22 +
doxygen/html/graph_legend.html | 103 +
doxygen/html/graph_legend.md5 | 1 +
doxygen/html/hierarchy.html | 144 +
doxygen/html/index.html | 74 +
doxygen/html/inherit_graph_0.dot | 7 +
doxygen/html/inherit_graph_0.md5 | 1 +
doxygen/html/inherit_graph_1.dot | 7 +
doxygen/html/inherit_graph_1.md5 | 1 +
doxygen/html/inherit_graph_10.dot | 9 +
doxygen/html/inherit_graph_10.md5 | 1 +
doxygen/html/inherit_graph_11.dot | 9 +
doxygen/html/inherit_graph_11.md5 | 1 +
doxygen/html/inherit_graph_12.dot | 7 +
doxygen/html/inherit_graph_12.md5 | 1 +
doxygen/html/inherit_graph_13.dot | 9 +
doxygen/html/inherit_graph_13.md5 | 1 +
doxygen/html/inherit_graph_14.dot | 7 +
doxygen/html/inherit_graph_14.md5 | 1 +
doxygen/html/inherit_graph_15.dot | 17 +
doxygen/html/inherit_graph_15.md5 | 1 +
doxygen/html/inherit_graph_16.dot | 11 +
doxygen/html/inherit_graph_16.md5 | 1 +
doxygen/html/inherit_graph_17.dot | 11 +
doxygen/html/inherit_graph_17.md5 | 1 +
doxygen/html/inherit_graph_18.dot | 7 +
doxygen/html/inherit_graph_18.md5 | 1 +
doxygen/html/inherit_graph_19.dot | 7 +
doxygen/html/inherit_graph_19.md5 | 1 +
doxygen/html/inherit_graph_2.dot | 7 +
doxygen/html/inherit_graph_2.md5 | 1 +
doxygen/html/inherit_graph_20.dot | 7 +
doxygen/html/inherit_graph_20.md5 | 1 +
doxygen/html/inherit_graph_21.dot | 7 +
doxygen/html/inherit_graph_21.md5 | 1 +
doxygen/html/inherit_graph_22.dot | 7 +
doxygen/html/inherit_graph_22.md5 | 1 +
doxygen/html/inherit_graph_23.dot | 7 +
doxygen/html/inherit_graph_23.md5 | 1 +
doxygen/html/inherit_graph_24.dot | 11 +
doxygen/html/inherit_graph_24.md5 | 1 +
doxygen/html/inherit_graph_25.dot | 11 +
doxygen/html/inherit_graph_25.md5 | 1 +
doxygen/html/inherit_graph_26.dot | 9 +
doxygen/html/inherit_graph_26.md5 | 1 +
doxygen/html/inherit_graph_27.dot | 15 +
doxygen/html/inherit_graph_27.md5 | 1 +
doxygen/html/inherit_graph_28.dot | 7 +
doxygen/html/inherit_graph_28.md5 | 1 +
doxygen/html/inherit_graph_29.dot | 7 +
doxygen/html/inherit_graph_29.md5 | 1 +
doxygen/html/inherit_graph_3.dot | 7 +
doxygen/html/inherit_graph_3.md5 | 1 +
doxygen/html/inherit_graph_30.dot | 7 +
doxygen/html/inherit_graph_30.md5 | 1 +
doxygen/html/inherit_graph_31.dot | 7 +
doxygen/html/inherit_graph_31.md5 | 1 +
doxygen/html/inherit_graph_32.dot | 7 +
doxygen/html/inherit_graph_32.md5 | 1 +
doxygen/html/inherit_graph_33.dot | 7 +
doxygen/html/inherit_graph_33.md5 | 1 +
doxygen/html/inherit_graph_34.dot | 7 +
doxygen/html/inherit_graph_34.md5 | 1 +
doxygen/html/inherit_graph_35.dot | 9 +
doxygen/html/inherit_graph_35.md5 | 1 +
doxygen/html/inherit_graph_36.dot | 9 +
doxygen/html/inherit_graph_36.md5 | 1 +
doxygen/html/inherit_graph_37.dot | 7 +
doxygen/html/inherit_graph_37.md5 | 1 +
doxygen/html/inherit_graph_38.dot | 7 +
doxygen/html/inherit_graph_38.md5 | 1 +
doxygen/html/inherit_graph_39.dot | 7 +
doxygen/html/inherit_graph_39.md5 | 1 +
doxygen/html/inherit_graph_4.dot | 7 +
doxygen/html/inherit_graph_4.md5 | 1 +
doxygen/html/inherit_graph_40.dot | 7 +
doxygen/html/inherit_graph_40.md5 | 1 +
doxygen/html/inherit_graph_5.dot | 7 +
doxygen/html/inherit_graph_5.md5 | 1 +
doxygen/html/inherit_graph_6.dot | 7 +
doxygen/html/inherit_graph_6.md5 | 1 +
doxygen/html/inherit_graph_7.dot | 7 +
doxygen/html/inherit_graph_7.md5 | 1 +
doxygen/html/inherit_graph_8.dot | 7 +
doxygen/html/inherit_graph_8.md5 | 1 +
doxygen/html/inherit_graph_9.dot | 7 +
doxygen/html/inherit_graph_9.md5 | 1 +
doxygen/html/inherits.html | 201 +
doxygen/html/initializer_8h_source.html | 95 +
doxygen/html/io_2integer_8h_source.html | 79 +
doxygen/html/jquery.js | 87 +
doxygen/html/layer_8h_source.html | 104 +
doxygen/html/logging_8h_source.html | 87 +
doxygen/html/loss_8h_source.html | 88 +
doxygen/html/memory_8h_source.html | 82 +
doxygen/html/menu.js | 26 +
doxygen/html/menudata.js | 87 +
doxygen/html/metric_8h_source.html | 87 +
doxygen/html/mkldnn__utils_8h_source.html | 79 +
doxygen/html/namespacemembers.html | 289 +
doxygen/html/namespacemembers_func.html | 276 +
doxygen/html/namespacemembers_type.html | 75 +
doxygen/html/namespacemembers_vars.html | 78 +
doxygen/html/namespaces.html | 79 +
doxygen/html/namespacesinga.html | 1155 +++
doxygen/html/nav_f.png | Bin 0 -> 153 bytes
doxygen/html/nav_g.png | Bin 0 -> 95 bytes
doxygen/html/nav_h.png | Bin 0 -> 98 bytes
doxygen/html/network_8h_source.html | 79 +
doxygen/html/open.png | Bin 0 -> 123 bytes
doxygen/html/opencl__utils_8h_source.html | 78 +
doxygen/html/optimizer_8h_source.html | 93 +
doxygen/html/reader_8h_source.html | 90 +
doxygen/html/safe__queue_8h_source.html | 90 +
doxygen/html/scheduler_8h_source.html | 80 +
doxygen/html/search/all_0.html | 26 +
doxygen/html/search/all_0.js | 7 +
doxygen/html/search/all_1.html | 26 +
doxygen/html/search/all_1.js | 12 +
doxygen/html/search/all_10.html | 26 +
doxygen/html/search/all_10.js | 15 +
doxygen/html/search/all_11.html | 26 +
doxygen/html/search/all_11.js | 33 +
doxygen/html/search/all_12.html | 26 +
doxygen/html/search/all_12.js | 22 +
doxygen/html/search/all_13.html | 26 +
doxygen/html/search/all_13.js | 5 +
doxygen/html/search/all_14.html | 26 +
doxygen/html/search/all_14.js | 5 +
doxygen/html/search/all_15.html | 26 +
doxygen/html/search/all_15.js | 5 +
doxygen/html/search/all_16.html | 26 +
doxygen/html/search/all_16.js | 4 +
doxygen/html/search/all_17.html | 26 +
doxygen/html/search/all_17.js | 7 +
doxygen/html/search/all_2.html | 26 +
doxygen/html/search/all_2.js | 10 +
doxygen/html/search/all_3.html | 26 +
doxygen/html/search/all_3.js | 30 +
doxygen/html/search/all_4.html | 26 +
doxygen/html/search/all_4.js | 14 +
doxygen/html/search/all_5.html | 26 +
doxygen/html/search/all_5.js | 11 +
doxygen/html/search/all_6.html | 26 +
doxygen/html/search/all_6.js | 10 +
doxygen/html/search/all_7.html | 26 +
doxygen/html/search/all_7.js | 11 +
doxygen/html/search/all_8.html | 26 +
doxygen/html/search/all_8.js | 4 +
doxygen/html/search/all_9.html | 26 +
doxygen/html/search/all_9.js | 9 +
doxygen/html/search/all_a.html | 26 +
doxygen/html/search/all_a.js | 4 +
doxygen/html/search/all_b.html | 26 +
doxygen/html/search/all_b.js | 14 +
doxygen/html/search/all_c.html | 26 +
doxygen/html/search/all_c.js | 11 +
doxygen/html/search/all_d.html | 26 +
doxygen/html/search/all_d.js | 6 +
doxygen/html/search/all_e.html | 26 +
doxygen/html/search/all_e.js | 16 +
doxygen/html/search/all_f.html | 26 +
doxygen/html/search/all_f.js | 16 +
doxygen/html/search/classes_0.html | 26 +
doxygen/html/search/classes_0.js | 7 +
doxygen/html/search/classes_1.html | 26 +
doxygen/html/search/classes_1.js | 5 +
doxygen/html/search/classes_10.html | 26 +
doxygen/html/search/classes_10.js | 11 +
doxygen/html/search/classes_11.html | 26 +
doxygen/html/search/classes_11.js | 5 +
doxygen/html/search/classes_12.html | 26 +
doxygen/html/search/classes_12.js | 4 +
doxygen/html/search/classes_13.html | 26 +
doxygen/html/search/classes_13.js | 4 +
doxygen/html/search/classes_14.html | 26 +
doxygen/html/search/classes_14.js | 4 +
doxygen/html/search/classes_2.html | 26 +
doxygen/html/search/classes_2.js | 6 +
doxygen/html/search/classes_3.html | 26 +
doxygen/html/search/classes_3.js | 12 +
doxygen/html/search/classes_4.html | 26 +
doxygen/html/search/classes_4.js | 6 +
doxygen/html/search/classes_5.html | 26 +
doxygen/html/search/classes_5.js | 4 +
doxygen/html/search/classes_6.html | 26 +
doxygen/html/search/classes_6.js | 5 +
doxygen/html/search/classes_7.html | 26 +
doxygen/html/search/classes_7.js | 4 +
doxygen/html/search/classes_8.html | 26 +
doxygen/html/search/classes_8.js | 5 +
doxygen/html/search/classes_9.html | 26 +
doxygen/html/search/classes_9.js | 8 +
doxygen/html/search/classes_a.html | 26 +
doxygen/html/search/classes_a.js | 6 +
doxygen/html/search/classes_b.html | 26 +
doxygen/html/search/classes_b.js | 4 +
doxygen/html/search/classes_c.html | 26 +
doxygen/html/search/classes_c.js | 4 +
doxygen/html/search/classes_d.html | 26 +
doxygen/html/search/classes_d.js | 5 +
doxygen/html/search/classes_e.html | 26 +
doxygen/html/search/classes_e.js | 7 +
doxygen/html/search/classes_f.html | 26 +
doxygen/html/search/classes_f.js | 10 +
doxygen/html/search/close.png | Bin 0 -> 273 bytes
doxygen/html/search/functions_0.html | 26 +
doxygen/html/search/functions_0.js | 10 +
doxygen/html/search/functions_1.html | 26 +
doxygen/html/search/functions_1.js | 7 +
doxygen/html/search/functions_10.html | 26 +
doxygen/html/search/functions_10.js | 4 +
doxygen/html/search/functions_11.html | 26 +
doxygen/html/search/functions_11.js | 4 +
doxygen/html/search/functions_12.html | 26 +
doxygen/html/search/functions_12.js | 4 +
doxygen/html/search/functions_13.html | 26 +
doxygen/html/search/functions_13.js | 7 +
doxygen/html/search/functions_2.html | 26 +
doxygen/html/search/functions_2.js | 21 +
doxygen/html/search/functions_3.html | 26 +
doxygen/html/search/functions_3.js | 11 +
doxygen/html/search/functions_4.html | 26 +
doxygen/html/search/functions_4.js | 10 +
doxygen/html/search/functions_5.html | 26 +
doxygen/html/search/functions_5.js | 8 +
doxygen/html/search/functions_6.html | 26 +
doxygen/html/search/functions_6.js | 11 +
doxygen/html/search/functions_7.html | 26 +
doxygen/html/search/functions_7.js | 6 +
doxygen/html/search/functions_8.html | 26 +
doxygen/html/search/functions_8.js | 8 +
doxygen/html/search/functions_9.html | 26 +
doxygen/html/search/functions_9.js | 8 +
doxygen/html/search/functions_a.html | 26 +
doxygen/html/search/functions_a.js | 5 +
doxygen/html/search/functions_b.html | 26 +
doxygen/html/search/functions_b.js | 15 +
doxygen/html/search/functions_c.html | 26 +
doxygen/html/search/functions_c.js | 14 +
doxygen/html/search/functions_d.html | 26 +
doxygen/html/search/functions_d.js | 11 +
doxygen/html/search/functions_e.html | 26 +
doxygen/html/search/functions_e.js | 26 +
doxygen/html/search/functions_f.html | 26 +
doxygen/html/search/functions_f.js | 16 +
doxygen/html/search/mag_sel.png | Bin 0 -> 563 bytes
doxygen/html/search/namespaces_0.html | 26 +
doxygen/html/search/namespaces_0.js | 4 +
doxygen/html/search/nomatches.html | 12 +
doxygen/html/search/search.css | 271 +
doxygen/html/search/search.js | 791 ++
doxygen/html/search/search_l.png | Bin 0 -> 604 bytes
doxygen/html/search/search_m.png | Bin 0 -> 158 bytes
doxygen/html/search/search_r.png | Bin 0 -> 612 bytes
doxygen/html/search/searchdata.js | 30 +
doxygen/html/search/typedefs_0.html | 26 +
doxygen/html/search/typedefs_0.js | 4 +
doxygen/html/search/variables_0.html | 26 +
doxygen/html/search/variables_0.js | 4 +
doxygen/html/search/variables_1.html | 26 +
doxygen/html/search/variables_1.js | 4 +
doxygen/html/search/variables_2.html | 26 +
doxygen/html/search/variables_2.js | 4 +
doxygen/html/search/variables_3.html | 26 +
doxygen/html/search/variables_3.js | 4 +
doxygen/html/search/variables_4.html | 26 +
doxygen/html/search/variables_4.js | 4 +
doxygen/html/singleton_8h_source.html | 79 +
doxygen/html/snapshot_8h_source.html | 86 +
doxygen/html/splitbar.png | Bin 0 -> 314 bytes
doxygen/html/string_8h_source.html | 80 +
doxygen/html/structsinga_1_1__Context-members.html | 82 +
doxygen/html/structsinga_1_1__Context.html | 91 +
doxygen/html/structsinga_1_1lang_1_1__Cpp.html | 88 +
doxygen/html/structsinga_1_1lang_1_1__Cuda.html | 88 +
doxygen/html/structsinga_1_1lang_1_1__Opencl.html | 88 +
...tsinga_1_1logging_1_1CheckOpString-members.html | 84 +
.../structsinga_1_1logging_1_1CheckOpString.html | 107 +
...ga_1_1logging_1_1CheckOpString__coll__graph.dot | 8 +
...ga_1_1logging_1_1CheckOpString__coll__graph.md5 | 1 +
doxygen/html/structtinydir__dir-members.html | 83 +
doxygen/html/structtinydir__dir.html | 109 +
doxygen/html/structtinydir__dir__coll__graph.dot | 8 +
doxygen/html/structtinydir__dir__coll__graph.md5 | 1 +
doxygen/html/structtinydir__file-members.html | 83 +
doxygen/html/structtinydir__file.html | 109 +
doxygen/html/sync_off.png | Bin 0 -> 853 bytes
doxygen/html/sync_on.png | Bin 0 -> 845 bytes
doxygen/html/tab_a.png | Bin 0 -> 142 bytes
doxygen/html/tab_b.png | Bin 0 -> 169 bytes
doxygen/html/tab_h.png | Bin 0 -> 177 bytes
doxygen/html/tab_s.png | Bin 0 -> 184 bytes
doxygen/html/tabs.css | 1 +
doxygen/html/tensor_8h_source.html | 147 +
doxygen/html/timer_8h_source.html | 83 +
doxygen/html/tinydir_8h_source.html | 80 +
doxygen/html/transformer_8h_source.html | 83 +
doxygen/html/updater_8h_source.html | 87 +
doxygen/html/utils_2integer_8h_source.html | 79 +
doxygen/html/writer_8h_source.html | 89 +
en/.buildinfo | 4 +
en/_sources/community/issue-tracking.md.txt | 27 +
en/_sources/community/mail-lists.rst.txt | 28 +
en/_sources/community/source-repository.rst.txt | 64 +
en/_sources/community/team-list.rst.txt | 84 +
en/_sources/develop/contribute-code.md.txt | 77 +
en/_sources/develop/contribute-docs.md.txt | 54 +
en/_sources/develop/how-contribute.md.txt | 36 +
en/_sources/develop/how-to-release.rst.txt | 228 +
en/_sources/develop/schedule.rst.txt | 65 +
en/_sources/docs.rst.txt | 23 +
en/_sources/docs/autograd.md.txt | 166 +
en/_sources/docs/benchmark.md.txt | 33 +
en/_sources/docs/cnn.md.txt | 159 +
en/_sources/docs/converter.rst.txt | 23 +
en/_sources/docs/data.rst.txt | 25 +
en/_sources/docs/dependencies.md.txt | 110 +
en/_sources/docs/device.rst.txt | 54 +
en/_sources/docs/docker.md.txt | 71 +
en/_sources/docs/image_tool.rst.txt | 23 +
en/_sources/docs/index.rst.txt | 42 +
en/_sources/docs/initializer.rst.txt | 30 +
en/_sources/docs/install_macos1013.rst.txt | 153 +
en/_sources/docs/install_win.rst.txt | 419 +
en/_sources/docs/installation.md.txt | 381 +
en/_sources/docs/layer.rst.txt | 32 +
en/_sources/docs/loss.rst.txt | 25 +
en/_sources/docs/metric.rst.txt | 26 +
en/_sources/docs/model_zoo/caffe/README.md.txt | 32 +
en/_sources/docs/model_zoo/char-rnn/README.md.txt | 33 +
en/_sources/docs/model_zoo/cifar10/README.md.txt | 76 +
.../docs/model_zoo/examples/caffe/README.md.txt | 50 +
.../docs/model_zoo/examples/char-rnn/README.md.txt | 50 +
.../docs/model_zoo/examples/cifar10/README.md.txt | 94 +
.../examples/imagenet/alexnet/README.md.txt | 76 +
.../examples/imagenet/densenet/README.md.txt | 68 +
.../examples/imagenet/googlenet/README.md.txt | 84 +
.../examples/imagenet/inception/README.md.txt | 61 +
.../examples/imagenet/resnet/README.md.txt | 72 +
.../model_zoo/examples/imagenet/vgg/README.md.txt | 69 +
en/_sources/docs/model_zoo/examples/index.rst.txt | 33 +
.../docs/model_zoo/examples/mnist/README.md.txt | 36 +
.../docs/model_zoo/imagenet/alexnet/README.md.txt | 58 +
.../docs/model_zoo/imagenet/densenet/README.md.txt | 63 +
.../model_zoo/imagenet/googlenet/README.md.txt | 66 +
.../model_zoo/imagenet/inception/README.md.txt | 43 +
.../docs/model_zoo/imagenet/resnet/README.md.txt | 54 +
.../docs/model_zoo/imagenet/vgg/README.md.txt | 51 +
en/_sources/docs/model_zoo/index.rst.txt | 29 +
en/_sources/docs/model_zoo/mnist/README.md.txt | 18 +
en/_sources/docs/net.rst.txt | 26 +
en/_sources/docs/neural-net.md.txt | 344 +
en/_sources/docs/notebook/README.md.txt | 21 +
en/_sources/docs/optimizer.rst.txt | 29 +
en/_sources/docs/security.rst.txt | 23 +
en/_sources/docs/snapshot.rst.txt | 24 +
en/_sources/docs/software_stack.md.txt | 117 +
en/_sources/docs/tensor.rst.txt | 48 +
en/_sources/docs/utils.rst.txt | 24 +
en/_sources/downloads.md.txt | 172 +
en/_sources/index.rst.txt | 153 +
en/_sources/releases/RELEASE_NOTES_0.1.0.md.txt | 117 +
en/_sources/releases/RELEASE_NOTES_0.2.0.md.txt | 102 +
en/_sources/releases/RELEASE_NOTES_0.3.0.md.txt | 55 +
en/_sources/releases/RELEASE_NOTES_1.0.0.md.txt | 109 +
en/_sources/releases/RELEASE_NOTES_1.1.0.md.txt | 67 +
en/_sources/releases/RELEASE_NOTES_1.2.0.md.txt | 73 +
en/_sources/releases/RELEASE_NOTES_2.0.0.md.txt | 64 +
en/_static/ajax-loader.gif | Bin 0 -> 673 bytes
en/_static/apache.png | Bin 0 -> 30207 bytes
en/_static/awsmp.gif | Bin 0 -> 3550 bytes
en/_static/basic.css | 665 ++
en/_static/comment-bright.png | Bin 0 -> 756 bytes
en/_static/comment-close.png | Bin 0 -> 829 bytes
en/_static/comment.png | Bin 0 -> 641 bytes
en/_static/css/badge_only.css | 1 +
en/_static/css/theme.css | 4 +
en/_static/docker.png | Bin 0 -> 6452 bytes
en/_static/doctools.js | 313 +
en/_static/documentation_options.js | 9 +
en/_static/down-pressed.png | Bin 0 -> 222 bytes
en/_static/down.png | Bin 0 -> 202 bytes
en/_static/file.png | Bin 0 -> 286 bytes
en/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 108360 bytes
en/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 95960 bytes
en/_static/fonts/Inconsolata.ttf | Bin 0 -> 63184 bytes
en/_static/fonts/Lato-Bold.ttf | Bin 0 -> 656544 bytes
en/_static/fonts/Lato-BoldItalic.ttf | Bin 0 -> 698364 bytes
en/_static/fonts/Lato-Italic.ttf | Bin 0 -> 722900 bytes
en/_static/fonts/Lato-Regular.ttf | Bin 0 -> 656568 bytes
en/_static/fonts/Lato/lato-bold.eot | Bin 0 -> 256056 bytes
en/_static/fonts/Lato/lato-bold.ttf | Bin 0 -> 600856 bytes
en/_static/fonts/Lato/lato-bold.woff | Bin 0 -> 309728 bytes
en/_static/fonts/Lato/lato-bold.woff2 | Bin 0 -> 184912 bytes
en/_static/fonts/Lato/lato-bolditalic.eot | Bin 0 -> 266158 bytes
en/_static/fonts/Lato/lato-bolditalic.ttf | Bin 0 -> 622572 bytes
en/_static/fonts/Lato/lato-bolditalic.woff | Bin 0 -> 323344 bytes
en/_static/fonts/Lato/lato-bolditalic.woff2 | Bin 0 -> 193308 bytes
en/_static/fonts/Lato/lato-italic.eot | Bin 0 -> 268604 bytes
en/_static/fonts/Lato/lato-italic.ttf | Bin 0 -> 639388 bytes
en/_static/fonts/Lato/lato-italic.woff | Bin 0 -> 328412 bytes
en/_static/fonts/Lato/lato-italic.woff2 | Bin 0 -> 195704 bytes
en/_static/fonts/Lato/lato-regular.eot | Bin 0 -> 253461 bytes
en/_static/fonts/Lato/lato-regular.ttf | Bin 0 -> 607720 bytes
en/_static/fonts/Lato/lato-regular.woff | Bin 0 -> 309192 bytes
en/_static/fonts/Lato/lato-regular.woff2 | Bin 0 -> 182708 bytes
en/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes
en/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes
.../fonts/RobotoSlab/roboto-slab-v7-bold.eot | Bin 0 -> 79520 bytes
.../fonts/RobotoSlab/roboto-slab-v7-bold.ttf | Bin 0 -> 170616 bytes
.../fonts/RobotoSlab/roboto-slab-v7-bold.woff | Bin 0 -> 87624 bytes
.../fonts/RobotoSlab/roboto-slab-v7-bold.woff2 | Bin 0 -> 67312 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.eot | Bin 0 -> 78331 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.ttf | Bin 0 -> 169064 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.woff | Bin 0 -> 86288 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.woff2 | Bin 0 -> 66444 bytes
en/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes
en/_static/fonts/fontawesome-webfont.svg | 2671 +++++
en/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes
en/_static/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes
en/_static/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes
en/_static/github.png | Bin 0 -> 2625 bytes
en/_static/images/benchmark.png | Bin 0 -> 124430 bytes
en/_static/images/mlp-net.png | Bin 0 -> 6905 bytes
en/_static/images/model-category.png | Bin 0 -> 18395 bytes
en/_static/images/overview.png | Bin 0 -> 76106 bytes
en/_static/images/partition_fc.png | Bin 0 -> 23874 bytes
en/_static/images/rbm-rnn.png | Bin 0 -> 15499 bytes
en/_static/images/sgd.png | Bin 0 -> 15553 bytes
en/_static/images/singa.png | Bin 0 -> 203695 bytes
en/_static/images/singav1-sw.png | Bin 0 -> 24326 bytes
en/_static/jquery-3.2.1.js | 10253 ++++++++++++++++++
en/_static/jquery.js | 4 +
en/_static/js/modernizr.min.js | 4 +
en/_static/js/theme.js | 1 +
en/_static/jupyter.png | Bin 0 -> 24631 bytes
en/_static/language_data.js | 297 +
en/_static/minus.png | Bin 0 -> 90 bytes
en/_static/plus.png | Bin 0 -> 90 bytes
en/_static/pygments.css | 69 +
en/_static/searchtools.js | 761 ++
en/_static/singa.png | Bin 0 -> 25000 bytes
en/_static/style.css | 25 +
en/_static/underscore-1.3.1.js | 999 ++
en/_static/underscore.js | 31 +
en/_static/up-pressed.png | Bin 0 -> 214 bytes
en/_static/up.png | Bin 0 -> 203 bytes
en/_static/websupport.js | 808 ++
en/community/issue-tracking.html | 319 +
en/community/mail-lists.html | 328 +
en/community/source-repository.html | 340 +
en/community/team-list.html | 424 +
en/develop/contribute-code.html | 372 +
en/develop/contribute-docs.html | 350 +
en/develop/how-contribute.html | 327 +
en/develop/how-to-release.html | 492 +
en/develop/schedule.html | 474 +
en/docs.html | 405 +
en/docs/autograd.html | 488 +
en/docs/benchmark.html | 322 +
en/docs/cnn.html | 442 +
en/docs/converter.html | 317 +
en/docs/data.html | 379 +
en/docs/dependencies.html | 376 +
en/docs/device.html | 390 +
en/docs/docker.html | 352 +
en/docs/image_tool.html | 647 ++
en/docs/index.html | 433 +
en/docs/initializer.html | 387 +
en/docs/install_macos1013.html | 404 +
en/docs/install_win.html | 773 ++
en/docs/installation.html | 709 ++
en/docs/layer.html | 1435 +++
en/docs/loss.html | 533 +
en/docs/metric.html | 496 +
en/docs/model_zoo/caffe/README.html | 319 +
en/docs/model_zoo/char-rnn/README.html | 361 +
en/docs/model_zoo/cifar10/README.html | 406 +
en/docs/model_zoo/examples/caffe/README.html | 337 +
en/docs/model_zoo/examples/char-rnn/README.html | 335 +
en/docs/model_zoo/examples/cifar10/README.html | 380 +
.../examples/imagenet/alexnet/README.html | 375 +
.../examples/imagenet/densenet/README.html | 354 +
.../examples/imagenet/googlenet/README.html | 370 +
.../examples/imagenet/inception/README.html | 349 +
.../model_zoo/examples/imagenet/resnet/README.html | 360 +
.../model_zoo/examples/imagenet/vgg/README.html | 357 +
en/docs/model_zoo/examples/index.html | 346 +
en/docs/model_zoo/examples/mnist/README.html | 322 +
en/docs/model_zoo/imagenet/alexnet/README.html | 401 +
en/docs/model_zoo/imagenet/densenet/README.html | 379 +
en/docs/model_zoo/imagenet/googlenet/README.html | 396 +
en/docs/model_zoo/imagenet/inception/README.html | 330 +
en/docs/model_zoo/imagenet/resnet/README.html | 341 +
en/docs/model_zoo/imagenet/vgg/README.html | 338 +
en/docs/model_zoo/index.html | 356 +
en/docs/model_zoo/mnist/README.html | 304 +
en/docs/net.html | 607 ++
en/docs/neural-net.html | 622 ++
en/docs/notebook/README.html | 301 +
en/docs/optimizer.html | 771 ++
en/docs/security.html | 319 +
en/docs/snapshot.html | 367 +
en/docs/software_stack.html | 426 +
en/docs/tensor.html | 1831 ++++
en/docs/utils.html | 335 +
en/downloads.html | 491 +
en/genindex.html | 1004 ++
en/index.html | 389 +
en/objects.inv | Bin 0 -> 2967 bytes
en/py-modindex.html | 365 +
en/releases/RELEASE_NOTES_0.1.0.html | 411 +
en/releases/RELEASE_NOTES_0.2.0.html | 400 +
en/releases/RELEASE_NOTES_0.3.0.html | 340 +
en/releases/RELEASE_NOTES_1.0.0.html | 399 +
en/releases/RELEASE_NOTES_1.1.0.html | 352 +
en/releases/RELEASE_NOTES_1.2.0.html | 360 +
en/releases/RELEASE_NOTES_2.0.0.html | 351 +
en/search.html | 301 +
en/searchindex.js | 1 +
genindex.html | 993 ++
index.html | 380 +
objects.inv | Bin 0 -> 3406 bytes
py-modindex.html | 354 +
releases/RELEASE_NOTES_0.1.0.html | 393 +
releases/RELEASE_NOTES_0.2.0.html | 380 +
releases/RELEASE_NOTES_0.3.0.html | 333 +
releases/RELEASE_NOTES_1.0.0.html | 387 +
releases/RELEASE_NOTES_1.1.0.html | 345 +
releases/RELEASE_NOTES_1.2.0.html | 353 +
releases/RELEASE_NOTES_2.0.0.html | 342 +
search.html | 290 +
searchindex.js | 1 +
security.html | 285 +
v0.3.0/en/.buildinfo | 4 +
v0.3.0/en/_sources/community/issue-tracking.txt | 9 +
v0.3.0/en/_sources/community/mail-lists.txt | 10 +
v0.3.0/en/_sources/community/source-repository.txt | 22 +
v0.3.0/en/_sources/community/team-list.txt | 64 +
v0.3.0/en/_sources/develop/contribute-code.txt | 60 +
v0.3.0/en/_sources/develop/contribute-docs.txt | 28 +
v0.3.0/en/_sources/develop/how-contribute.txt | 11 +
v0.3.0/en/_sources/develop/schedule.txt | 39 +
v0.3.0/en/_sources/docs/architecture.txt | 54 +
v0.3.0/en/_sources/docs/checkpoint.txt | 70 +
v0.3.0/en/_sources/docs/cnn.txt | 239 +
v0.3.0/en/_sources/docs/code-structure.txt | 76 +
v0.3.0/en/_sources/docs/communication.txt | 453 +
v0.3.0/en/_sources/docs/data.txt | 98 +
v0.3.0/en/_sources/docs/debug.txt | 29 +
v0.3.0/en/_sources/docs/distributed-training.txt | 25 +
v0.3.0/en/_sources/docs/docker.txt | 232 +
v0.3.0/en/_sources/docs/examples.txt | 29 +
v0.3.0/en/_sources/docs/frameworks.txt | 122 +
v0.3.0/en/_sources/docs/general-rnn.txt | 203 +
v0.3.0/en/_sources/docs/gpu.txt | 106 +
v0.3.0/en/_sources/docs/hdfs.txt | 128 +
v0.3.0/en/_sources/docs/hybrid.txt | 83 +
v0.3.0/en/_sources/docs/index.txt | 26 +
v0.3.0/en/_sources/docs/installation.txt | 8 +
v0.3.0/en/_sources/docs/installation_source.txt | 238 +
v0.3.0/en/_sources/docs/layer.txt | 620 ++
v0.3.0/en/_sources/docs/lmdb.txt | 0
v0.3.0/en/_sources/docs/mesos.txt | 89 +
v0.3.0/en/_sources/docs/mlp.txt | 215 +
v0.3.0/en/_sources/docs/model-config.txt | 294 +
v0.3.0/en/_sources/docs/neural-net.txt | 327 +
v0.3.0/en/_sources/docs/neuralnet-partition.txt | 54 +
v0.3.0/en/_sources/docs/overview.txt | 93 +
v0.3.0/en/_sources/docs/param.txt | 226 +
v0.3.0/en/_sources/docs/programming-guide.txt | 96 +
v0.3.0/en/_sources/docs/python.txt | 374 +
.../_sources/docs/python_interactive_training.txt | 186 +
v0.3.0/en/_sources/docs/quick-start.txt | 180 +
v0.3.0/en/_sources/docs/rbm.txt | 365 +
v0.3.0/en/_sources/docs/rnn.txt | 420 +
v0.3.0/en/_sources/docs/test.txt | 119 +
v0.3.0/en/_sources/docs/train-one-batch.txt | 179 +
v0.3.0/en/_sources/docs/updater.txt | 326 +
v0.3.0/en/_sources/downloads.txt | 67 +
v0.3.0/en/_sources/index.txt | 108 +
v0.3.0/en/_static/ajax-loader.gif | Bin 0 -> 673 bytes
v0.3.0/en/_static/apache.jpg | Bin 0 -> 2310 bytes
v0.3.0/en/_static/basic.css | 604 ++
v0.3.0/en/_static/comment-bright.png | Bin 0 -> 3500 bytes
v0.3.0/en/_static/comment-close.png | Bin 0 -> 3578 bytes
v0.3.0/en/_static/comment.png | Bin 0 -> 3445 bytes
v0.3.0/en/_static/css/badge_only.css | 2 +
v0.3.0/en/_static/css/theme.css | 5 +
v0.3.0/en/_static/doctools.js | 287 +
v0.3.0/en/_static/down-pressed.png | Bin 0 -> 347 bytes
v0.3.0/en/_static/down.png | Bin 0 -> 347 bytes
v0.3.0/en/_static/file.png | Bin 0 -> 358 bytes
v0.3.0/en/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 66352 bytes
v0.3.0/en/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 84548 bytes
v0.3.0/en/_static/fonts/Lato-Bold.ttf | Bin 0 -> 121788 bytes
v0.3.0/en/_static/fonts/Lato-Regular.ttf | Bin 0 -> 120196 bytes
v0.3.0/en/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes
v0.3.0/en/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes
v0.3.0/en/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes
v0.3.0/en/_static/fonts/fontawesome-webfont.svg | 520 +
v0.3.0/en/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes
v0.3.0/en/_static/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes
v0.3.0/en/_static/images/arch.png | Bin 0 -> 40937 bytes
v0.3.0/en/_static/images/arch/arch1.jpg | Bin 0 -> 103390 bytes
v0.3.0/en/_static/images/arch/arch1.png | Bin 0 -> 49490 bytes
v0.3.0/en/_static/images/arch/arch2.jpg | Bin 0 -> 62897 bytes
v0.3.0/en/_static/images/arch/arch2.png | Bin 0 -> 19268 bytes
v0.3.0/en/_static/images/arch/arch3.jpg | Bin 0 -> 62566 bytes
v0.3.0/en/_static/images/arch/arch3.png | Bin 0 -> 20245 bytes
v0.3.0/en/_static/images/arch/arch4.jpg | Bin 0 -> 77581 bytes
v0.3.0/en/_static/images/arch/arch4.png | Bin 0 -> 28874 bytes
v0.3.0/en/_static/images/arch/comm.png | Bin 0 -> 41749 bytes
v0.3.0/en/_static/images/arch/logical.jpg | Bin 0 -> 97332 bytes
v0.3.0/en/_static/images/arch/logical.png | Bin 0 -> 44666 bytes
v0.3.0/en/_static/images/astar.jpg | Bin 0 -> 9899 bytes
v0.3.0/en/_static/images/astar.png | Bin 0 -> 31992 bytes
v0.3.0/en/_static/images/autoencoder_new.PNG | Bin 0 -> 50781 bytes
v0.3.0/en/_static/images/bottom-rbm.png | Bin 0 -> 14470 bytes
v0.3.0/en/_static/images/char-rnn-net.jpg | Bin 0 -> 85309 bytes
v0.3.0/en/_static/images/char-rnn.png | Bin 0 -> 38959 bytes
v0.3.0/en/_static/images/cnn-example | Bin 0 -> 701229 bytes
v0.3.0/en/_static/images/cnn_example.png | Bin 0 -> 701229 bytes
v0.3.0/en/_static/images/conv-mnist-datap.png | Bin 0 -> 66865 bytes
v0.3.0/en/_static/images/conv-mnist-layerp.png | Bin 0 -> 91054 bytes
v0.3.0/en/_static/images/conv-mnist.png | Bin 0 -> 13728 bytes
v0.3.0/en/_static/images/dcnn-cifar10.png | Bin 0 -> 102763 bytes
.../en/_static/images/distributed/frameworks.png | Bin 0 -> 28182 bytes
v0.3.0/en/_static/images/distributed/logical.png | Bin 0 -> 45379 bytes
v0.3.0/en/_static/images/example-autoencoder.png | Bin 0 -> 60113 bytes
v0.3.0/en/_static/images/example-cnn.png | Bin 0 -> 26549 bytes
v0.3.0/en/_static/images/example-mlp.png | Bin 0 -> 15562 bytes
v0.3.0/en/_static/images/example-rbm1.png | Bin 0 -> 12627 bytes
v0.3.0/en/_static/images/example-rbm2.png | Bin 0 -> 19174 bytes
v0.3.0/en/_static/images/example-rbm3.png | Bin 0 -> 25798 bytes
v0.3.0/en/_static/images/example-rbm4.png | Bin 0 -> 32040 bytes
v0.3.0/en/_static/images/feature.PNG.1 | Bin 0 -> 246667 bytes
v0.3.0/en/_static/images/frameworks.png | Bin 0 -> 28182 bytes
v0.3.0/en/_static/images/incubator.png | Bin 0 -> 10991 bytes
v0.3.0/en/_static/images/layer.png | Bin 0 -> 6268 bytes
v0.3.0/en/_static/images/logical.png | Bin 0 -> 45379 bytes
v0.3.0/en/_static/images/loss-time.png | Bin 0 -> 18632 bytes
v0.3.0/en/_static/images/mlp-net.png | Bin 0 -> 6905 bytes
v0.3.0/en/_static/images/mlp.png | Bin 0 -> 31473 bytes
v0.3.0/en/_static/images/mlp_example.png | Bin 0 -> 689687 bytes
v0.3.0/en/_static/images/model-categorization.png | Bin 0 -> 93318 bytes
v0.3.0/en/_static/images/model-category.png | Bin 0 -> 18395 bytes
v0.3.0/en/_static/images/msg-flow.png | Bin 0 -> 52630 bytes
v0.3.0/en/_static/images/msg.png | Bin 0 -> 3283 bytes
v0.3.0/en/_static/images/netease.png | Bin 0 -> 1732 bytes
v0.3.0/en/_static/images/nrf_logo.png | Bin 0 -> 27949 bytes
v0.3.0/en/_static/images/nus.png | Bin 0 -> 26329 bytes
v0.3.0/en/_static/images/overview.png | Bin 0 -> 76106 bytes
v0.3.0/en/_static/images/partition_fc.png | Bin 0 -> 23874 bytes
v0.3.0/en/_static/images/rbm-feature.PNG | Bin 0 -> 246667 bytes
v0.3.0/en/_static/images/rbm-rnn.png | Bin 0 -> 15499 bytes
v0.3.0/en/_static/images/rbm-weight.PNG | Bin 0 -> 419189 bytes
v0.3.0/en/_static/images/rnn-refine.png | Bin 0 -> 43651 bytes
v0.3.0/en/_static/images/rnn1.png | Bin 0 -> 41578 bytes
v0.3.0/en/_static/images/rnnlm.png | Bin 0 -> 18846 bytes
v0.3.0/en/_static/images/sgd.png | Bin 0 -> 15553 bytes
v0.3.0/en/_static/images/singa-logo.png | Bin 0 -> 203695 bytes
v0.3.0/en/_static/images/singa-title.png | Bin 0 -> 7933 bytes
v0.3.0/en/_static/images/singa.jpg | Bin 0 -> 48580 bytes
v0.3.0/en/_static/images/software_stack.jpg | Bin 0 -> 73625 bytes
v0.3.0/en/_static/images/sutd.png | Bin 0 -> 14297 bytes
v0.3.0/en/_static/images/unroll-rbm.png | Bin 0 -> 7692 bytes
v0.3.0/en/_static/images/unroll-rnn.png | Bin 0 -> 12784 bytes
v0.3.0/en/_static/images/zheda.png | Bin 0 -> 90478 bytes
v0.3.0/en/_static/jquery-1.11.1.js | 10308 ++++++++++++++++++
v0.3.0/en/_static/jquery.js | 4 +
v0.3.0/en/_static/js/modernizr.min.js | 4 +
v0.3.0/en/_static/js/theme.js | 153 +
v0.3.0/en/_static/minus.png | Bin 0 -> 173 bytes
v0.3.0/en/_static/plus.png | Bin 0 -> 173 bytes
v0.3.0/en/_static/pygments.css | 65 +
v0.3.0/en/_static/searchtools.js | 651 ++
v0.3.0/en/_static/singa.png | Bin 0 -> 25000 bytes
v0.3.0/en/_static/underscore-1.3.1.js | 999 ++
v0.3.0/en/_static/underscore.js | 31 +
v0.3.0/en/_static/up-pressed.png | Bin 0 -> 345 bytes
v0.3.0/en/_static/up.png | Bin 0 -> 345 bytes
v0.3.0/en/_static/websupport.js | 808 ++
v0.3.0/en/community/issue-tracking.html | 254 +
v0.3.0/en/community/mail-lists.html | 281 +
v0.3.0/en/community/source-repository.html | 272 +
v0.3.0/en/community/team-list.html | 370 +
v0.3.0/en/develop/contribute-code.html | 308 +
v0.3.0/en/develop/contribute-docs.html | 275 +
v0.3.0/en/develop/how-contribute.html | 257 +
v0.3.0/en/develop/schedule.html | 542 +
v0.3.0/en/docs/architecture.html | 287 +
v0.3.0/en/docs/checkpoint.html | 306 +
v0.3.0/en/docs/cnn.html | 479 +
v0.3.0/en/docs/code-structure.html | 309 +
v0.3.0/en/docs/communication.html | 677 ++
v0.3.0/en/docs/data.html | 333 +
v0.3.0/en/docs/debug.html | 264 +
v0.3.0/en/docs/distributed-training.html | 257 +
v0.3.0/en/docs/docker.html | 436 +
v0.3.0/en/docs/examples.html | 264 +
v0.3.0/en/docs/frameworks.html | 346 +
v0.3.0/en/docs/general-rnn.html | 430 +
v0.3.0/en/docs/gpu.html | 336 +
v0.3.0/en/docs/hdfs.html | 379 +
v0.3.0/en/docs/hybrid.html | 309 +
v0.3.0/en/docs/index.html | 281 +
v0.3.0/en/docs/installation.html | 243 +
v0.3.0/en/docs/installation_source.html | 471 +
v0.3.0/en/docs/layer.html | 871 ++
v0.3.0/en/docs/lmdb.html | 234 +
v0.3.0/en/docs/mesos.html | 337 +
v0.3.0/en/docs/mlp.html | 453 +
v0.3.0/en/docs/model-config.html | 519 +
v0.3.0/en/docs/neural-net.html | 558 +
v0.3.0/en/docs/neuralnet-partition.html | 279 +
v0.3.0/en/docs/overview.html | 319 +
v0.3.0/en/docs/param.html | 464 +
v0.3.0/en/docs/programming-guide.html | 321 +
v0.3.0/en/docs/python.html | 587 ++
v0.3.0/en/docs/python_interactive_training.html | 412 +
v0.3.0/en/docs/quick-start.html | 413 +
v0.3.0/en/docs/rbm.html | 588 ++
v0.3.0/en/docs/rnn.html | 640 ++
v0.3.0/en/docs/test.html | 351 +
v0.3.0/en/docs/train-one-batch.html | 408 +
v0.3.0/en/docs/updater.html | 570 +
v0.3.0/en/downloads.html | 323 +
v0.3.0/en/genindex.html | 241 +
v0.3.0/en/index.html | 318 +
v0.3.0/en/objects.inv | 9 +
v0.3.0/en/search.html | 252 +
v0.3.0/en/searchindex.js | 1 +
v0.3.0/index.html | 1 +
v0.3.0/jp/.buildinfo | 4 +
v0.3.0/jp/_sources/docs/architecture.txt | 42 +
v0.3.0/jp/_sources/docs/distributed-training.txt | 30 +
v0.3.0/jp/_sources/docs/frameworks.txt | 119 +
v0.3.0/jp/_sources/docs/index.txt | 23 +
v0.3.0/jp/_sources/docs/installation.txt | 8 +
v0.3.0/jp/_sources/docs/installation_source.txt | 239 +
v0.3.0/jp/_sources/docs/lmdb.txt | 0
v0.3.0/jp/_sources/docs/overview.txt | 68 +
v0.3.0/jp/_sources/docs/quick-start.txt | 177 +
v0.3.0/jp/_sources/index.txt | 108 +
v0.3.0/jp/_static/ajax-loader.gif | Bin 0 -> 673 bytes
v0.3.0/jp/_static/apache.jpg | Bin 0 -> 2310 bytes
v0.3.0/jp/_static/basic.css | 604 ++
v0.3.0/jp/_static/comment-bright.png | Bin 0 -> 3500 bytes
v0.3.0/jp/_static/comment-close.png | Bin 0 -> 3578 bytes
v0.3.0/jp/_static/comment.png | Bin 0 -> 3445 bytes
v0.3.0/jp/_static/css/badge_only.css | 2 +
v0.3.0/jp/_static/css/theme.css | 5 +
v0.3.0/jp/_static/doctools.js | 287 +
v0.3.0/jp/_static/down-pressed.png | Bin 0 -> 347 bytes
v0.3.0/jp/_static/down.png | Bin 0 -> 347 bytes
v0.3.0/jp/_static/file.png | Bin 0 -> 358 bytes
v0.3.0/jp/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 66352 bytes
v0.3.0/jp/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 84548 bytes
v0.3.0/jp/_static/fonts/Lato-Bold.ttf | Bin 0 -> 121788 bytes
v0.3.0/jp/_static/fonts/Lato-Regular.ttf | Bin 0 -> 120196 bytes
v0.3.0/jp/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes
v0.3.0/jp/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes
v0.3.0/jp/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes
v0.3.0/jp/_static/fonts/fontawesome-webfont.svg | 520 +
v0.3.0/jp/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes
v0.3.0/jp/_static/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes
v0.3.0/jp/_static/images/arch.png | Bin 0 -> 40937 bytes
v0.3.0/jp/_static/images/arch/arch1.jpg | Bin 0 -> 103390 bytes
v0.3.0/jp/_static/images/arch/arch1.png | Bin 0 -> 49490 bytes
v0.3.0/jp/_static/images/arch/arch2.jpg | Bin 0 -> 62897 bytes
v0.3.0/jp/_static/images/arch/arch2.png | Bin 0 -> 19268 bytes
v0.3.0/jp/_static/images/arch/arch3.jpg | Bin 0 -> 62566 bytes
v0.3.0/jp/_static/images/arch/arch3.png | Bin 0 -> 20245 bytes
v0.3.0/jp/_static/images/arch/arch4.jpg | Bin 0 -> 77581 bytes
v0.3.0/jp/_static/images/arch/arch4.png | Bin 0 -> 28874 bytes
v0.3.0/jp/_static/images/arch/comm.png | Bin 0 -> 41749 bytes
v0.3.0/jp/_static/images/arch/logical.jpg | Bin 0 -> 97332 bytes
v0.3.0/jp/_static/images/arch/logical.png | Bin 0 -> 44666 bytes
v0.3.0/jp/_static/images/astar.jpg | Bin 0 -> 9899 bytes
v0.3.0/jp/_static/images/astar.png | Bin 0 -> 31992 bytes
v0.3.0/jp/_static/images/autoencoder_new.PNG | Bin 0 -> 50781 bytes
v0.3.0/jp/_static/images/bottom-rbm.png | Bin 0 -> 14470 bytes
v0.3.0/jp/_static/images/char-rnn-net.jpg | Bin 0 -> 85309 bytes
v0.3.0/jp/_static/images/char-rnn.png | Bin 0 -> 38959 bytes
v0.3.0/jp/_static/images/cnn-example | Bin 0 -> 701229 bytes
v0.3.0/jp/_static/images/cnn_example.png | Bin 0 -> 701229 bytes
v0.3.0/jp/_static/images/conv-mnist-datap.png | Bin 0 -> 66865 bytes
v0.3.0/jp/_static/images/conv-mnist-layerp.png | Bin 0 -> 91054 bytes
v0.3.0/jp/_static/images/conv-mnist.png | Bin 0 -> 13728 bytes
v0.3.0/jp/_static/images/dcnn-cifar10.png | Bin 0 -> 102763 bytes
.../jp/_static/images/distributed/frameworks.png | Bin 0 -> 28182 bytes
v0.3.0/jp/_static/images/distributed/logical.png | Bin 0 -> 45379 bytes
v0.3.0/jp/_static/images/example-autoencoder.png | Bin 0 -> 60113 bytes
v0.3.0/jp/_static/images/example-cnn.png | Bin 0 -> 26549 bytes
v0.3.0/jp/_static/images/example-mlp.png | Bin 0 -> 15562 bytes
v0.3.0/jp/_static/images/example-rbm1.png | Bin 0 -> 12627 bytes
v0.3.0/jp/_static/images/example-rbm2.png | Bin 0 -> 19174 bytes
v0.3.0/jp/_static/images/example-rbm3.png | Bin 0 -> 25798 bytes
v0.3.0/jp/_static/images/example-rbm4.png | Bin 0 -> 32040 bytes
v0.3.0/jp/_static/images/feature.PNG.1 | Bin 0 -> 246667 bytes
v0.3.0/jp/_static/images/frameworks.png | Bin 0 -> 28182 bytes
v0.3.0/jp/_static/images/incubator.png | Bin 0 -> 10991 bytes
v0.3.0/jp/_static/images/layer.png | Bin 0 -> 6268 bytes
v0.3.0/jp/_static/images/logical.png | Bin 0 -> 45379 bytes
v0.3.0/jp/_static/images/loss-time.png | Bin 0 -> 18632 bytes
v0.3.0/jp/_static/images/mlp-net.png | Bin 0 -> 6905 bytes
v0.3.0/jp/_static/images/mlp.png | Bin 0 -> 31473 bytes
v0.3.0/jp/_static/images/mlp_example.png | Bin 0 -> 689687 bytes
v0.3.0/jp/_static/images/model-categorization.png | Bin 0 -> 93318 bytes
v0.3.0/jp/_static/images/model-category.png | Bin 0 -> 18395 bytes
v0.3.0/jp/_static/images/msg-flow.png | Bin 0 -> 52630 bytes
v0.3.0/jp/_static/images/msg.png | Bin 0 -> 3283 bytes
v0.3.0/jp/_static/images/netease.png | Bin 0 -> 1732 bytes
v0.3.0/jp/_static/images/nrf_logo.png | Bin 0 -> 27949 bytes
v0.3.0/jp/_static/images/nus.png | Bin 0 -> 26329 bytes
v0.3.0/jp/_static/images/overview.png | Bin 0 -> 76106 bytes
v0.3.0/jp/_static/images/partition_fc.png | Bin 0 -> 23874 bytes
v0.3.0/jp/_static/images/rbm-feature.PNG | Bin 0 -> 246667 bytes
v0.3.0/jp/_static/images/rbm-rnn.png | Bin 0 -> 15499 bytes
v0.3.0/jp/_static/images/rbm-weight.PNG | Bin 0 -> 419189 bytes
v0.3.0/jp/_static/images/rnn-refine.png | Bin 0 -> 43651 bytes
v0.3.0/jp/_static/images/rnn1.png | Bin 0 -> 41578 bytes
v0.3.0/jp/_static/images/rnnlm.png | Bin 0 -> 18846 bytes
v0.3.0/jp/_static/images/sgd.png | Bin 0 -> 15553 bytes
v0.3.0/jp/_static/images/singa-logo.png | Bin 0 -> 203695 bytes
v0.3.0/jp/_static/images/singa-title.png | Bin 0 -> 7933 bytes
v0.3.0/jp/_static/images/singa.jpg | Bin 0 -> 48580 bytes
v0.3.0/jp/_static/images/software_stack.jpg | Bin 0 -> 73625 bytes
v0.3.0/jp/_static/images/sutd.png | Bin 0 -> 14297 bytes
v0.3.0/jp/_static/images/unroll-rbm.png | Bin 0 -> 7692 bytes
v0.3.0/jp/_static/images/unroll-rnn.png | Bin 0 -> 12784 bytes
v0.3.0/jp/_static/images/zheda.png | Bin 0 -> 90478 bytes
v0.3.0/jp/_static/jquery-1.11.1.js | 10308 ++++++++++++++++++
v0.3.0/jp/_static/jquery.js | 4 +
v0.3.0/jp/_static/js/modernizr.min.js | 4 +
v0.3.0/jp/_static/js/theme.js | 153 +
v0.3.0/jp/_static/minus.png | Bin 0 -> 173 bytes
v0.3.0/jp/_static/plus.png | Bin 0 -> 173 bytes
v0.3.0/jp/_static/pygments.css | 65 +
v0.3.0/jp/_static/searchtools.js | 651 ++
v0.3.0/jp/_static/singa.png | Bin 0 -> 25000 bytes
v0.3.0/jp/_static/underscore-1.3.1.js | 999 ++
v0.3.0/jp/_static/underscore.js | 31 +
v0.3.0/jp/_static/up-pressed.png | Bin 0 -> 345 bytes
v0.3.0/jp/_static/up.png | Bin 0 -> 345 bytes
v0.3.0/jp/_static/websupport.js | 808 ++
v0.3.0/jp/docs/architecture.html | 263 +
v0.3.0/jp/docs/distributed-training.html | 252 +
v0.3.0/jp/docs/frameworks.html | 338 +
v0.3.0/jp/docs/index.html | 266 +
v0.3.0/jp/docs/installation.html | 234 +
v0.3.0/jp/docs/installation_source.html | 461 +
v0.3.0/jp/docs/lmdb.html | 225 +
v0.3.0/jp/docs/overview.html | 283 +
v0.3.0/jp/docs/quick-start.html | 397 +
v0.3.0/jp/genindex.html | 232 +
v0.3.0/jp/index.html | 309 +
v0.3.0/jp/objects.inv | 8 +
v0.3.0/jp/search.html | 243 +
v0.3.0/jp/searchindex.js | 1 +
v0.3.0/kr/.buildinfo | 4 +
v0.3.0/kr/_sources/docs/architecture.txt | 47 +
v0.3.0/kr/_sources/docs/data.txt | 98 +
v0.3.0/kr/_sources/docs/distributed-training.txt | 30 +
v0.3.0/kr/_sources/docs/frameworks.txt | 106 +
v0.3.0/kr/_sources/docs/index.txt | 23 +
v0.3.0/kr/_sources/docs/installation.txt | 8 +
v0.3.0/kr/_sources/docs/lmdb.txt | 0
v0.3.0/kr/_sources/docs/overview.txt | 70 +
v0.3.0/kr/_sources/docs/programming-guide.txt | 77 +
v0.3.0/kr/_sources/docs/quick-start.txt | 176 +
v0.3.0/kr/_sources/index.txt | 108 +
v0.3.0/kr/_static/ajax-loader.gif | Bin 0 -> 673 bytes
v0.3.0/kr/_static/apache.jpg | Bin 0 -> 2310 bytes
v0.3.0/kr/_static/basic.css | 604 ++
v0.3.0/kr/_static/comment-bright.png | Bin 0 -> 3500 bytes
v0.3.0/kr/_static/comment-close.png | Bin 0 -> 3578 bytes
v0.3.0/kr/_static/comment.png | Bin 0 -> 3445 bytes
v0.3.0/kr/_static/css/badge_only.css | 2 +
v0.3.0/kr/_static/css/theme.css | 5 +
v0.3.0/kr/_static/doctools.js | 287 +
v0.3.0/kr/_static/down-pressed.png | Bin 0 -> 347 bytes
v0.3.0/kr/_static/down.png | Bin 0 -> 347 bytes
v0.3.0/kr/_static/file.png | Bin 0 -> 358 bytes
v0.3.0/kr/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 66352 bytes
v0.3.0/kr/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 84548 bytes
v0.3.0/kr/_static/fonts/Lato-Bold.ttf | Bin 0 -> 121788 bytes
v0.3.0/kr/_static/fonts/Lato-Regular.ttf | Bin 0 -> 120196 bytes
v0.3.0/kr/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes
v0.3.0/kr/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes
v0.3.0/kr/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes
v0.3.0/kr/_static/fonts/fontawesome-webfont.svg | 520 +
v0.3.0/kr/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes
v0.3.0/kr/_static/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes
v0.3.0/kr/_static/images/arch.png | Bin 0 -> 40937 bytes
v0.3.0/kr/_static/images/arch/arch1.jpg | Bin 0 -> 103390 bytes
v0.3.0/kr/_static/images/arch/arch1.png | Bin 0 -> 49490 bytes
v0.3.0/kr/_static/images/arch/arch2.jpg | Bin 0 -> 62897 bytes
v0.3.0/kr/_static/images/arch/arch2.png | Bin 0 -> 19268 bytes
v0.3.0/kr/_static/images/arch/arch3.jpg | Bin 0 -> 62566 bytes
v0.3.0/kr/_static/images/arch/arch3.png | Bin 0 -> 20245 bytes
v0.3.0/kr/_static/images/arch/arch4.jpg | Bin 0 -> 77581 bytes
v0.3.0/kr/_static/images/arch/arch4.png | Bin 0 -> 28874 bytes
v0.3.0/kr/_static/images/arch/comm.png | Bin 0 -> 41749 bytes
v0.3.0/kr/_static/images/arch/logical.jpg | Bin 0 -> 97332 bytes
v0.3.0/kr/_static/images/arch/logical.png | Bin 0 -> 44666 bytes
v0.3.0/kr/_static/images/astar.jpg | Bin 0 -> 9899 bytes
v0.3.0/kr/_static/images/astar.png | Bin 0 -> 31992 bytes
v0.3.0/kr/_static/images/autoencoder_new.PNG | Bin 0 -> 50781 bytes
v0.3.0/kr/_static/images/bottom-rbm.png | Bin 0 -> 14470 bytes
v0.3.0/kr/_static/images/char-rnn-net.jpg | Bin 0 -> 85309 bytes
v0.3.0/kr/_static/images/char-rnn.png | Bin 0 -> 38959 bytes
v0.3.0/kr/_static/images/cnn-example | Bin 0 -> 701229 bytes
v0.3.0/kr/_static/images/cnn_example.png | Bin 0 -> 701229 bytes
v0.3.0/kr/_static/images/conv-mnist-datap.png | Bin 0 -> 66865 bytes
v0.3.0/kr/_static/images/conv-mnist-layerp.png | Bin 0 -> 91054 bytes
v0.3.0/kr/_static/images/conv-mnist.png | Bin 0 -> 13728 bytes
v0.3.0/kr/_static/images/dcnn-cifar10.png | Bin 0 -> 102763 bytes
.../kr/_static/images/distributed/frameworks.png | Bin 0 -> 28182 bytes
v0.3.0/kr/_static/images/distributed/logical.png | Bin 0 -> 45379 bytes
v0.3.0/kr/_static/images/example-autoencoder.png | Bin 0 -> 60113 bytes
v0.3.0/kr/_static/images/example-cnn.png | Bin 0 -> 26549 bytes
v0.3.0/kr/_static/images/example-mlp.png | Bin 0 -> 15562 bytes
v0.3.0/kr/_static/images/example-rbm1.png | Bin 0 -> 12627 bytes
v0.3.0/kr/_static/images/example-rbm2.png | Bin 0 -> 19174 bytes
v0.3.0/kr/_static/images/example-rbm3.png | Bin 0 -> 25798 bytes
v0.3.0/kr/_static/images/example-rbm4.png | Bin 0 -> 32040 bytes
v0.3.0/kr/_static/images/feature.PNG.1 | Bin 0 -> 246667 bytes
v0.3.0/kr/_static/images/frameworks.png | Bin 0 -> 28182 bytes
v0.3.0/kr/_static/images/incubator.png | Bin 0 -> 10991 bytes
v0.3.0/kr/_static/images/layer.png | Bin 0 -> 6268 bytes
v0.3.0/kr/_static/images/logical.png | Bin 0 -> 45379 bytes
v0.3.0/kr/_static/images/loss-time.png | Bin 0 -> 18632 bytes
v0.3.0/kr/_static/images/mlp-net.png | Bin 0 -> 6905 bytes
v0.3.0/kr/_static/images/mlp.png | Bin 0 -> 31473 bytes
v0.3.0/kr/_static/images/mlp_example.png | Bin 0 -> 689687 bytes
v0.3.0/kr/_static/images/model-categorization.png | Bin 0 -> 93318 bytes
v0.3.0/kr/_static/images/model-category.png | Bin 0 -> 18395 bytes
v0.3.0/kr/_static/images/msg-flow.png | Bin 0 -> 52630 bytes
v0.3.0/kr/_static/images/msg.png | Bin 0 -> 3283 bytes
v0.3.0/kr/_static/images/netease.png | Bin 0 -> 1732 bytes
v0.3.0/kr/_static/images/nrf_logo.png | Bin 0 -> 27949 bytes
v0.3.0/kr/_static/images/nus.png | Bin 0 -> 26329 bytes
v0.3.0/kr/_static/images/overview.png | Bin 0 -> 76106 bytes
v0.3.0/kr/_static/images/partition_fc.png | Bin 0 -> 23874 bytes
v0.3.0/kr/_static/images/rbm-feature.PNG | Bin 0 -> 246667 bytes
v0.3.0/kr/_static/images/rbm-rnn.png | Bin 0 -> 15499 bytes
v0.3.0/kr/_static/images/rbm-weight.PNG | Bin 0 -> 419189 bytes
v0.3.0/kr/_static/images/rnn-refine.png | Bin 0 -> 43651 bytes
v0.3.0/kr/_static/images/rnn1.png | Bin 0 -> 41578 bytes
v0.3.0/kr/_static/images/rnnlm.png | Bin 0 -> 18846 bytes
v0.3.0/kr/_static/images/sgd.png | Bin 0 -> 15553 bytes
v0.3.0/kr/_static/images/singa-logo.png | Bin 0 -> 203695 bytes
v0.3.0/kr/_static/images/singa-title.png | Bin 0 -> 7933 bytes
v0.3.0/kr/_static/images/singa.jpg | Bin 0 -> 48580 bytes
v0.3.0/kr/_static/images/software_stack.jpg | Bin 0 -> 73625 bytes
v0.3.0/kr/_static/images/sutd.png | Bin 0 -> 14297 bytes
v0.3.0/kr/_static/images/unroll-rbm.png | Bin 0 -> 7692 bytes
v0.3.0/kr/_static/images/unroll-rnn.png | Bin 0 -> 12784 bytes
v0.3.0/kr/_static/images/zheda.png | Bin 0 -> 90478 bytes
v0.3.0/kr/_static/jquery-1.11.1.js | 10308 ++++++++++++++++++
v0.3.0/kr/_static/jquery.js | 4 +
v0.3.0/kr/_static/js/modernizr.min.js | 4 +
v0.3.0/kr/_static/js/theme.js | 153 +
v0.3.0/kr/_static/minus.png | Bin 0 -> 173 bytes
v0.3.0/kr/_static/plus.png | Bin 0 -> 173 bytes
v0.3.0/kr/_static/pygments.css | 65 +
v0.3.0/kr/_static/searchtools.js | 651 ++
v0.3.0/kr/_static/singa.png | Bin 0 -> 25000 bytes
v0.3.0/kr/_static/underscore-1.3.1.js | 999 ++
v0.3.0/kr/_static/underscore.js | 31 +
v0.3.0/kr/_static/up-pressed.png | Bin 0 -> 345 bytes
v0.3.0/kr/_static/up.png | Bin 0 -> 345 bytes
v0.3.0/kr/_static/websupport.js | 808 ++
v0.3.0/kr/docs/architecture.html | 266 +
v0.3.0/kr/docs/data.html | 324 +
v0.3.0/kr/docs/distributed-training.html | 252 +
v0.3.0/kr/docs/frameworks.html | 318 +
v0.3.0/kr/docs/index.html | 266 +
v0.3.0/kr/docs/installation.html | 234 +
v0.3.0/kr/docs/lmdb.html | 225 +
v0.3.0/kr/docs/overview.html | 282 +
v0.3.0/kr/docs/programming-guide.html | 294 +
v0.3.0/kr/docs/quick-start.html | 396 +
v0.3.0/kr/genindex.html | 232 +
v0.3.0/kr/index.html | 309 +
v0.3.0/kr/objects.inv | 8 +
v0.3.0/kr/search.html | 243 +
v0.3.0/kr/searchindex.js | 1 +
v0.3.0/zh/.buildinfo | 4 +
v0.3.0/zh/_sources/docs/index.txt | 7 +
v0.3.0/zh/_sources/docs/installation_source.txt | 228 +
v0.3.0/zh/_sources/docs/overview.txt | 41 +
v0.3.0/zh/_sources/docs/programming-guide.txt | 67 +
v0.3.0/zh/_sources/index.txt | 108 +
v0.3.0/zh/_static/ajax-loader.gif | Bin 0 -> 673 bytes
v0.3.0/zh/_static/apache.jpg | Bin 0 -> 2310 bytes
v0.3.0/zh/_static/basic.css | 604 ++
v0.3.0/zh/_static/comment-bright.png | Bin 0 -> 3500 bytes
v0.3.0/zh/_static/comment-close.png | Bin 0 -> 3578 bytes
v0.3.0/zh/_static/comment.png | Bin 0 -> 3445 bytes
v0.3.0/zh/_static/css/badge_only.css | 2 +
v0.3.0/zh/_static/css/theme.css | 5 +
v0.3.0/zh/_static/doctools.js | 287 +
v0.3.0/zh/_static/down-pressed.png | Bin 0 -> 347 bytes
v0.3.0/zh/_static/down.png | Bin 0 -> 347 bytes
v0.3.0/zh/_static/file.png | Bin 0 -> 358 bytes
v0.3.0/zh/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 66352 bytes
v0.3.0/zh/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 84548 bytes
v0.3.0/zh/_static/fonts/Lato-Bold.ttf | Bin 0 -> 121788 bytes
v0.3.0/zh/_static/fonts/Lato-Regular.ttf | Bin 0 -> 120196 bytes
v0.3.0/zh/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes
v0.3.0/zh/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes
v0.3.0/zh/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 56006 bytes
v0.3.0/zh/_static/fonts/fontawesome-webfont.svg | 520 +
v0.3.0/zh/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 112160 bytes
v0.3.0/zh/_static/fonts/fontawesome-webfont.woff | Bin 0 -> 65452 bytes
v0.3.0/zh/_static/images/arch.png | Bin 0 -> 40937 bytes
v0.3.0/zh/_static/images/arch/arch1.jpg | Bin 0 -> 103390 bytes
v0.3.0/zh/_static/images/arch/arch1.png | Bin 0 -> 49490 bytes
v0.3.0/zh/_static/images/arch/arch2.jpg | Bin 0 -> 62897 bytes
v0.3.0/zh/_static/images/arch/arch2.png | Bin 0 -> 19268 bytes
v0.3.0/zh/_static/images/arch/arch3.jpg | Bin 0 -> 62566 bytes
v0.3.0/zh/_static/images/arch/arch3.png | Bin 0 -> 20245 bytes
v0.3.0/zh/_static/images/arch/arch4.jpg | Bin 0 -> 77581 bytes
v0.3.0/zh/_static/images/arch/arch4.png | Bin 0 -> 28874 bytes
v0.3.0/zh/_static/images/arch/comm.png | Bin 0 -> 41749 bytes
v0.3.0/zh/_static/images/arch/logical.jpg | Bin 0 -> 97332 bytes
v0.3.0/zh/_static/images/arch/logical.png | Bin 0 -> 44666 bytes
v0.3.0/zh/_static/images/astar.jpg | Bin 0 -> 9899 bytes
v0.3.0/zh/_static/images/astar.png | Bin 0 -> 31992 bytes
v0.3.0/zh/_static/images/autoencoder_new.PNG | Bin 0 -> 50781 bytes
v0.3.0/zh/_static/images/bottom-rbm.png | Bin 0 -> 14470 bytes
v0.3.0/zh/_static/images/char-rnn-net.jpg | Bin 0 -> 85309 bytes
v0.3.0/zh/_static/images/char-rnn.png | Bin 0 -> 38959 bytes
v0.3.0/zh/_static/images/cnn-example | Bin 0 -> 701229 bytes
v0.3.0/zh/_static/images/cnn_example.png | Bin 0 -> 701229 bytes
v0.3.0/zh/_static/images/conv-mnist-datap.png | Bin 0 -> 66865 bytes
v0.3.0/zh/_static/images/conv-mnist-layerp.png | Bin 0 -> 91054 bytes
v0.3.0/zh/_static/images/conv-mnist.png | Bin 0 -> 13728 bytes
v0.3.0/zh/_static/images/dcnn-cifar10.png | Bin 0 -> 102763 bytes
.../zh/_static/images/distributed/frameworks.png | Bin 0 -> 28182 bytes
v0.3.0/zh/_static/images/distributed/logical.png | Bin 0 -> 45379 bytes
v0.3.0/zh/_static/images/example-autoencoder.png | Bin 0 -> 60113 bytes
v0.3.0/zh/_static/images/example-cnn.png | Bin 0 -> 26549 bytes
v0.3.0/zh/_static/images/example-mlp.png | Bin 0 -> 15562 bytes
v0.3.0/zh/_static/images/example-rbm1.png | Bin 0 -> 12627 bytes
v0.3.0/zh/_static/images/example-rbm2.png | Bin 0 -> 19174 bytes
v0.3.0/zh/_static/images/example-rbm3.png | Bin 0 -> 25798 bytes
v0.3.0/zh/_static/images/example-rbm4.png | Bin 0 -> 32040 bytes
v0.3.0/zh/_static/images/feature.PNG.1 | Bin 0 -> 246667 bytes
v0.3.0/zh/_static/images/frameworks.png | Bin 0 -> 28182 bytes
v0.3.0/zh/_static/images/incubator.png | Bin 0 -> 10991 bytes
v0.3.0/zh/_static/images/layer.png | Bin 0 -> 6268 bytes
v0.3.0/zh/_static/images/logical.png | Bin 0 -> 45379 bytes
v0.3.0/zh/_static/images/loss-time.png | Bin 0 -> 18632 bytes
v0.3.0/zh/_static/images/mlp-net.png | Bin 0 -> 6905 bytes
v0.3.0/zh/_static/images/mlp.png | Bin 0 -> 31473 bytes
v0.3.0/zh/_static/images/mlp_example.png | Bin 0 -> 689687 bytes
v0.3.0/zh/_static/images/model-categorization.png | Bin 0 -> 93318 bytes
v0.3.0/zh/_static/images/model-category.png | Bin 0 -> 18395 bytes
v0.3.0/zh/_static/images/msg-flow.png | Bin 0 -> 52630 bytes
v0.3.0/zh/_static/images/msg.png | Bin 0 -> 3283 bytes
v0.3.0/zh/_static/images/netease.png | Bin 0 -> 1732 bytes
v0.3.0/zh/_static/images/nrf_logo.png | Bin 0 -> 27949 bytes
v0.3.0/zh/_static/images/nus.png | Bin 0 -> 26329 bytes
v0.3.0/zh/_static/images/overview.png | Bin 0 -> 76106 bytes
v0.3.0/zh/_static/images/partition_fc.png | Bin 0 -> 23874 bytes
v0.3.0/zh/_static/images/rbm-feature.PNG | Bin 0 -> 246667 bytes
v0.3.0/zh/_static/images/rbm-rnn.png | Bin 0 -> 15499 bytes
v0.3.0/zh/_static/images/rbm-weight.PNG | Bin 0 -> 419189 bytes
v0.3.0/zh/_static/images/rnn-refine.png | Bin 0 -> 43651 bytes
v0.3.0/zh/_static/images/rnn1.png | Bin 0 -> 41578 bytes
v0.3.0/zh/_static/images/rnnlm.png | Bin 0 -> 18846 bytes
v0.3.0/zh/_static/images/sgd.png | Bin 0 -> 15553 bytes
v0.3.0/zh/_static/images/singa-logo.png | Bin 0 -> 203695 bytes
v0.3.0/zh/_static/images/singa-title.png | Bin 0 -> 7933 bytes
v0.3.0/zh/_static/images/singa.jpg | Bin 0 -> 48580 bytes
v0.3.0/zh/_static/images/software_stack.jpg | Bin 0 -> 73625 bytes
v0.3.0/zh/_static/images/sutd.png | Bin 0 -> 14297 bytes
v0.3.0/zh/_static/images/unroll-rbm.png | Bin 0 -> 7692 bytes
v0.3.0/zh/_static/images/unroll-rnn.png | Bin 0 -> 12784 bytes
v0.3.0/zh/_static/images/zheda.png | Bin 0 -> 90478 bytes
v0.3.0/zh/_static/jquery-1.11.1.js | 10308 ++++++++++++++++++
v0.3.0/zh/_static/jquery.js | 4 +
v0.3.0/zh/_static/js/modernizr.min.js | 4 +
v0.3.0/zh/_static/js/theme.js | 153 +
v0.3.0/zh/_static/minus.png | Bin 0 -> 173 bytes
v0.3.0/zh/_static/plus.png | Bin 0 -> 173 bytes
v0.3.0/zh/_static/pygments.css | 65 +
v0.3.0/zh/_static/searchtools.js | 651 ++
v0.3.0/zh/_static/singa.png | Bin 0 -> 25000 bytes
v0.3.0/zh/_static/underscore-1.3.1.js | 999 ++
v0.3.0/zh/_static/underscore.js | 31 +
v0.3.0/zh/_static/up-pressed.png | Bin 0 -> 345 bytes
v0.3.0/zh/_static/up.png | Bin 0 -> 345 bytes
v0.3.0/zh/_static/websupport.js | 808 ++
v0.3.0/zh/docs/index.html | 242 +
v0.3.0/zh/docs/installation_source.html | 449 +
v0.3.0/zh/docs/overview.html | 260 +
v0.3.0/zh/docs/programming-guide.html | 287 +
v0.3.0/zh/genindex.html | 232 +
v0.3.0/zh/index.html | 309 +
v0.3.0/zh/objects.inv | Bin 0 -> 415 bytes
v0.3.0/zh/search.html | 243 +
v0.3.0/zh/searchindex.js | 1 +
v1.1.0/.buildinfo | 4 +
v1.1.0/_sources/community/issue-tracking.txt | 9 +
v1.1.0/_sources/community/mail-lists.txt | 28 +
v1.1.0/_sources/community/source-repository.txt | 22 +
v1.1.0/_sources/community/team-list.txt | 79 +
v1.1.0/_sources/develop/contribute-code.txt | 59 +
v1.1.0/_sources/develop/contribute-docs.txt | 36 +
v1.1.0/_sources/develop/how-contribute.txt | 9 +
v1.1.0/_sources/develop/schedule.txt | 66 +
v1.1.0/_sources/docs.txt | 23 +
v1.1.0/_sources/docs/cnn.txt | 141 +
v1.1.0/_sources/docs/converter.txt | 23 +
v1.1.0/_sources/docs/data.txt | 25 +
v1.1.0/_sources/docs/dependencies.txt | 92 +
v1.1.0/_sources/docs/device.txt | 54 +
v1.1.0/_sources/docs/docker.txt | 58 +
v1.1.0/_sources/docs/examples/caffe/README.txt | 32 +
v1.1.0/_sources/docs/examples/char-rnn/README.txt | 33 +
v1.1.0/_sources/docs/examples/cifar10/README.txt | 76 +
v1.1.0/_sources/docs/examples/imagenet/README.txt | 58 +
v1.1.0/_sources/docs/examples/index.txt | 28 +
v1.1.0/_sources/docs/examples/mnist/README.txt | 18 +
v1.1.0/_sources/docs/image_tool.txt | 23 +
v1.1.0/_sources/docs/index.txt | 39 +
v1.1.0/_sources/docs/initializer.txt | 30 +
v1.1.0/_sources/docs/installation.txt | 505 +
v1.1.0/_sources/docs/layer.txt | 32 +
v1.1.0/_sources/docs/loss.txt | 25 +
v1.1.0/_sources/docs/metric.txt | 26 +
v1.1.0/_sources/docs/model_zoo/caffe/README.txt | 32 +
v1.1.0/_sources/docs/model_zoo/char-rnn/README.txt | 33 +
v1.1.0/_sources/docs/model_zoo/cifar10/README.txt | 76 +
.../docs/model_zoo/examples/caffe/README.txt | 32 +
.../docs/model_zoo/examples/char-rnn/README.txt | 33 +
.../docs/model_zoo/examples/cifar10/README.txt | 76 +
.../model_zoo/examples/imagenet/alexnet/README.txt | 58 +
.../examples/imagenet/googlenet/README.txt | 66 +
v1.1.0/_sources/docs/model_zoo/examples/index.txt | 29 +
.../docs/model_zoo/examples/mnist/README.txt | 18 +
v1.1.0/_sources/docs/model_zoo/imagenet/README.txt | 58 +
.../docs/model_zoo/imagenet/alexnet/README.txt | 58 +
.../docs/model_zoo/imagenet/googlenet/README.txt | 66 +
v1.1.0/_sources/docs/model_zoo/index.txt | 29 +
v1.1.0/_sources/docs/model_zoo/mnist/README.txt | 18 +
v1.1.0/_sources/docs/net.txt | 26 +
v1.1.0/_sources/docs/neural-net.txt | 326 +
v1.1.0/_sources/docs/notebook/README.txt | 3 +
v1.1.0/_sources/docs/optimizer.txt | 29 +
v1.1.0/_sources/docs/snapshot.txt | 24 +
v1.1.0/_sources/docs/software_stack.txt | 99 +
v1.1.0/_sources/docs/tensor.txt | 48 +
v1.1.0/_sources/docs/utils.txt | 24 +
v1.1.0/_sources/downloads.txt | 108 +
v1.1.0/_sources/index.txt | 134 +
v1.1.0/_sources/releases/RELEASE_NOTES_0.1.0.txt | 99 +
v1.1.0/_sources/releases/RELEASE_NOTES_0.2.0.txt | 84 +
v1.1.0/_sources/releases/RELEASE_NOTES_0.3.0.txt | 37 +
v1.1.0/_sources/releases/RELEASE_NOTES_1.0.0.txt | 91 +
v1.1.0/_sources/releases/RELEASE_NOTES_1.1.0.txt | 49 +
v1.1.0/_static/ajax-loader.gif | Bin 0 -> 673 bytes
v1.1.0/_static/apache.jpg | Bin 0 -> 2310 bytes
v1.1.0/_static/basic.css | 599 ++
v1.1.0/_static/comment-bright.png | Bin 0 -> 3500 bytes
v1.1.0/_static/comment-close.png | Bin 0 -> 3578 bytes
v1.1.0/_static/comment.png | Bin 0 -> 3445 bytes
v1.1.0/_static/css/badge_only.css | 2 +
v1.1.0/_static/css/theme.css | 5 +
v1.1.0/_static/doctools.js | 263 +
v1.1.0/_static/down-pressed.png | Bin 0 -> 347 bytes
v1.1.0/_static/down.png | Bin 0 -> 347 bytes
v1.1.0/_static/file.png | Bin 0 -> 358 bytes
v1.1.0/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 66352 bytes
v1.1.0/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 84548 bytes
v1.1.0/_static/fonts/Lato-Bold.ttf | Bin 0 -> 683116 bytes
v1.1.0/_static/fonts/Lato-Regular.ttf | Bin 0 -> 661592 bytes
v1.1.0/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes
v1.1.0/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes
v1.1.0/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 70807 bytes
v1.1.0/_static/fonts/fontawesome-webfont.svg | 655 ++
v1.1.0/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 142072 bytes
v1.1.0/_static/fonts/fontawesome-webfont.woff | Bin 0 -> 83588 bytes
v1.1.0/_static/images/mlp-net.png | Bin 0 -> 6905 bytes
v1.1.0/_static/images/model-category.png | Bin 0 -> 18395 bytes
v1.1.0/_static/images/overview.png | Bin 0 -> 76106 bytes
v1.1.0/_static/images/partition_fc.png | Bin 0 -> 23874 bytes
v1.1.0/_static/images/rbm-rnn.png | Bin 0 -> 15499 bytes
v1.1.0/_static/images/sgd.png | Bin 0 -> 15553 bytes
v1.1.0/_static/images/singa.png | Bin 0 -> 203695 bytes
v1.1.0/_static/images/singav1-sw.png | Bin 0 -> 24326 bytes
v1.1.0/_static/jquery-1.11.1.js | 10308 ++++++++++++++++++
v1.1.0/_static/jquery.js | 10351 +++++++++++++++++++
v1.1.0/_static/js/modernizr.min.js | 1 +
v1.1.0/_static/js/theme.js | 153 +
v1.1.0/_static/minus.png | Bin 0 -> 173 bytes
v1.1.0/_static/plus.png | Bin 0 -> 173 bytes
v1.1.0/_static/pygments.css | 65 +
v1.1.0/_static/searchtools.js | 651 ++
v1.1.0/_static/singa.png | Bin 0 -> 25000 bytes
v1.1.0/_static/style.css | 3 +
v1.1.0/_static/underscore-1.3.1.js | 999 ++
v1.1.0/_static/underscore.js | 1415 +++
v1.1.0/_static/up-pressed.png | Bin 0 -> 345 bytes
v1.1.0/_static/up.png | Bin 0 -> 345 bytes
v1.1.0/_static/websupport.js | 808 ++
v1.1.0/community/issue-tracking.html | 258 +
v1.1.0/community/mail-lists.html | 285 +
v1.1.0/community/source-repository.html | 276 +
v1.1.0/community/team-list.html | 372 +
v1.1.0/develop/contribute-code.html | 311 +
v1.1.0/develop/contribute-docs.html | 289 +
v1.1.0/develop/how-contribute.html | 260 +
v1.1.0/develop/schedule.html | 435 +
v1.1.0/docs.html | 341 +
v1.1.0/docs/cnn.html | 379 +
v1.1.0/docs/converter.html | 273 +
v1.1.0/docs/data.html | 329 +
v1.1.0/docs/dependencies.html | 315 +
v1.1.0/docs/device.html | 346 +
v1.1.0/docs/docker.html | 297 +
v1.1.0/docs/examples/caffe/README.html | 278 +
v1.1.0/docs/examples/char-rnn/README.html | 276 +
v1.1.0/docs/examples/cifar10/README.html | 321 +
v1.1.0/docs/examples/imagenet/README.html | 316 +
v1.1.0/docs/examples/index.html | 271 +
v1.1.0/docs/examples/mnist/README.html | 263 +
v1.1.0/docs/image_tool.html | 563 +
v1.1.0/docs/index.html | 367 +
v1.1.0/docs/initializer.html | 343 +
v1.1.0/docs/installation.html | 792 ++
v1.1.0/docs/layer.html | 1161 +++
v1.1.0/docs/loss.html | 431 +
v1.1.0/docs/metric.html | 350 +
v1.1.0/docs/model_zoo/caffe/README.html | 276 +
v1.1.0/docs/model_zoo/char-rnn/README.html | 317 +
v1.1.0/docs/model_zoo/cifar10/README.html | 362 +
v1.1.0/docs/model_zoo/examples/caffe/README.html | 278 +
.../docs/model_zoo/examples/char-rnn/README.html | 276 +
v1.1.0/docs/model_zoo/examples/cifar10/README.html | 321 +
.../examples/imagenet/alexnet/README.html | 316 +
.../examples/imagenet/googlenet/README.html | 310 +
v1.1.0/docs/model_zoo/examples/index.html | 276 +
v1.1.0/docs/model_zoo/examples/mnist/README.html | 263 +
v1.1.0/docs/model_zoo/imagenet/README.html | 358 +
v1.1.0/docs/model_zoo/imagenet/alexnet/README.html | 357 +
.../docs/model_zoo/imagenet/googlenet/README.html | 352 +
v1.1.0/docs/model_zoo/index.html | 312 +
v1.1.0/docs/model_zoo/mnist/README.html | 261 +
v1.1.0/docs/net.html | 524 +
v1.1.0/docs/neural-net.html | 561 +
v1.1.0/docs/notebook/README.html | 240 +
v1.1.0/docs/optimizer.html | 631 ++
v1.1.0/docs/snapshot.html | 323 +
v1.1.0/docs/software_stack.html | 364 +
v1.1.0/docs/tensor.html | 1487 +++
v1.1.0/docs/utils.html | 291 +
v1.1.0/downloads.html | 375 +
v1.1.0/genindex.html | 1332 +++
v1.1.0/index.html | 327 +
v1.1.0/objects.inv | Bin 0 -> 1659 bytes
v1.1.0/py-modindex.html | 324 +
v1.1.0/releases/RELEASE_NOTES_0.1.0.html | 348 +
v1.1.0/releases/RELEASE_NOTES_0.2.0.html | 337 +
v1.1.0/releases/RELEASE_NOTES_0.3.0.html | 277 +
v1.1.0/releases/RELEASE_NOTES_1.0.0.html | 336 +
v1.1.0/releases/RELEASE_NOTES_1.1.0.html | 289 +
v1.1.0/search.html | 256 +
v1.1.0/searchindex.js | 1 +
zh/.buildinfo | 4 +
zh/_sources/community/issue-tracking.md.txt | 9 +
zh/_sources/community/mail-lists.rst.txt | 28 +
zh/_sources/community/source-repository.md.txt | 40 +
zh/_sources/community/team-list.rst.txt | 84 +
zh/_sources/develop/contribute-code.md.txt | 48 +
zh/_sources/develop/how-contribute.md.txt | 9 +
zh/_sources/develop/schedule.rst.txt | 65 +
zh/_sources/docs.rst.txt | 23 +
zh/_sources/docs/data.md.txt | 69 +
zh/_sources/docs/device.md.txt | 56 +
zh/_sources/docs/image_tool.md.txt | 193 +
zh/_sources/docs/index.rst.txt | 38 +
zh/_sources/docs/initializer.md.txt | 59 +
zh/_sources/docs/install_macos1013.rst.txt | 151 +
zh/_sources/docs/install_win.rst.txt | 419 +
zh/_sources/docs/installation.md.txt | 309 +
zh/_sources/docs/layer.md.txt | 510 +
zh/_sources/docs/loss.md.txt | 103 +
zh/_sources/docs/metric.md.txt | 62 +
zh/_sources/docs/model_zoo/char-rnn/README.md.txt | 42 +
zh/_sources/docs/model_zoo/cifar10/README.md.txt | 78 +
.../docs/model_zoo/imagenet/alexnet/README.md.txt | 64 +
.../docs/model_zoo/imagenet/densenet/README.md.txt | 61 +
.../model_zoo/imagenet/googlenet/README.md.txt | 84 +
.../model_zoo/imagenet/inception/README.md.txt | 54 +
.../docs/model_zoo/imagenet/resnet/README.md.txt | 68 +
.../docs/model_zoo/imagenet/vgg/README.md.txt | 66 +
zh/_sources/docs/model_zoo/index.rst.txt | 34 +
zh/_sources/docs/model_zoo/mnist/README.md.txt | 34 +
zh/_sources/docs/net.md.txt | 169 +
zh/_sources/docs/optimizer.md.txt | 255 +
zh/_sources/docs/snapshot.md.txt | 60 +
zh/_sources/docs/software_stack.md.txt | 61 +
zh/_sources/docs/tensor.md.txt | 683 ++
zh/_sources/docs/utils.md.txt | 31 +
zh/_sources/downloads.md.txt | 157 +
zh/_sources/index.rst.txt | 139 +
zh/_sources/index.txt | 27 +
zh/_static/ajax-loader.gif | Bin 0 -> 673 bytes
zh/_static/apache.jpg | Bin 0 -> 2310 bytes
zh/_static/apache.png | Bin 0 -> 30207 bytes
zh/_static/awsmp.gif | Bin 0 -> 3550 bytes
zh/_static/basic.css | 748 ++
zh/_static/comment-bright.png | Bin 0 -> 756 bytes
zh/_static/comment-close.png | Bin 0 -> 829 bytes
zh/_static/comment.png | Bin 0 -> 641 bytes
zh/_static/css/badge_only.css | 1 +
zh/_static/css/theme.css | 6 +
zh/_static/docker.png | Bin 0 -> 6452 bytes
zh/_static/doctools.js | 314 +
zh/_static/documentation_options.js | 10 +
zh/_static/down-pressed.png | Bin 0 -> 222 bytes
zh/_static/down.png | Bin 0 -> 202 bytes
zh/_static/file.png | Bin 0 -> 286 bytes
zh/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 109948 bytes
zh/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 96964 bytes
zh/_static/fonts/Inconsolata.ttf | Bin 0 -> 63184 bytes
zh/_static/fonts/Lato-Bold.ttf | Bin 0 -> 656544 bytes
zh/_static/fonts/Lato-BoldItalic.ttf | Bin 0 -> 698364 bytes
zh/_static/fonts/Lato-Italic.ttf | Bin 0 -> 722900 bytes
zh/_static/fonts/Lato-Regular.ttf | Bin 0 -> 656568 bytes
zh/_static/fonts/Lato/lato-bold.eot | Bin 0 -> 256056 bytes
zh/_static/fonts/Lato/lato-bold.ttf | Bin 0 -> 600856 bytes
zh/_static/fonts/Lato/lato-bold.woff | Bin 0 -> 309728 bytes
zh/_static/fonts/Lato/lato-bold.woff2 | Bin 0 -> 184912 bytes
zh/_static/fonts/Lato/lato-bolditalic.eot | Bin 0 -> 266158 bytes
zh/_static/fonts/Lato/lato-bolditalic.ttf | Bin 0 -> 622572 bytes
zh/_static/fonts/Lato/lato-bolditalic.woff | Bin 0 -> 323344 bytes
zh/_static/fonts/Lato/lato-bolditalic.woff2 | Bin 0 -> 193308 bytes
zh/_static/fonts/Lato/lato-italic.eot | Bin 0 -> 268604 bytes
zh/_static/fonts/Lato/lato-italic.ttf | Bin 0 -> 639388 bytes
zh/_static/fonts/Lato/lato-italic.woff | Bin 0 -> 328412 bytes
zh/_static/fonts/Lato/lato-italic.woff2 | Bin 0 -> 195704 bytes
zh/_static/fonts/Lato/lato-regular.eot | Bin 0 -> 253461 bytes
zh/_static/fonts/Lato/lato-regular.ttf | Bin 0 -> 607720 bytes
zh/_static/fonts/Lato/lato-regular.woff | Bin 0 -> 309192 bytes
zh/_static/fonts/Lato/lato-regular.woff2 | Bin 0 -> 182708 bytes
zh/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes
zh/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes
.../fonts/RobotoSlab/roboto-slab-v7-bold.eot | Bin 0 -> 79520 bytes
.../fonts/RobotoSlab/roboto-slab-v7-bold.ttf | Bin 0 -> 170616 bytes
.../fonts/RobotoSlab/roboto-slab-v7-bold.woff | Bin 0 -> 87624 bytes
.../fonts/RobotoSlab/roboto-slab-v7-bold.woff2 | Bin 0 -> 67312 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.eot | Bin 0 -> 78331 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.ttf | Bin 0 -> 169064 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.woff | Bin 0 -> 86288 bytes
.../fonts/RobotoSlab/roboto-slab-v7-regular.woff2 | Bin 0 -> 66444 bytes
zh/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes
zh/_static/fonts/fontawesome-webfont.svg | 2671 +++++
zh/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes
zh/_static/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes
zh/_static/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes
zh/_static/github.png | Bin 0 -> 2625 bytes
zh/_static/images/benchmark.png | Bin 0 -> 124430 bytes
zh/_static/images/mlp-net.png | Bin 0 -> 6905 bytes
zh/_static/images/model-category.png | Bin 0 -> 18395 bytes
zh/_static/images/overview.png | Bin 0 -> 76106 bytes
zh/_static/images/partition_fc.png | Bin 0 -> 23874 bytes
zh/_static/images/rbm-rnn.png | Bin 0 -> 15499 bytes
zh/_static/images/sgd.png | Bin 0 -> 15553 bytes
zh/_static/images/singa.png | Bin 0 -> 203695 bytes
zh/_static/images/singav1-sw.png | Bin 0 -> 24326 bytes
zh/_static/jquery-1.11.1.js | 10308 ++++++++++++++++++
zh/_static/jquery-3.1.0.js | 10074 ++++++++++++++++++
zh/_static/jquery-3.2.1.js | 10253 ++++++++++++++++++
zh/_static/jquery.js | 4 +
zh/_static/js/modernizr.min.js | 4 +
zh/_static/js/theme.js | 3 +
zh/_static/jupyter.png | Bin 0 -> 24631 bytes
zh/_static/language_data.js | 297 +
zh/_static/minus.png | Bin 0 -> 90 bytes
zh/_static/plus.png | Bin 0 -> 90 bytes
zh/_static/pygments.css | 69 +
zh/_static/searchtools.js | 505 +
zh/_static/singa-logo-updated.ai | 1557 +++
zh/_static/singa.png | Bin 0 -> 81502 bytes
zh/_static/style.css | 25 +
zh/_static/underscore-1.3.1.js | 999 ++
zh/_static/underscore.js | 31 +
zh/_static/up-pressed.png | Bin 0 -> 214 bytes
zh/_static/up.png | Bin 0 -> 203 bytes
zh/_static/websupport.js | 808 ++
zh/community/issue-tracking.html | 284 +
zh/community/mail-lists.html | 311 +
zh/community/source-repository.html | 319 +
zh/community/team-list.html | 407 +
zh/develop/contribute-code.html | 326 +
zh/develop/how-contribute.html | 286 +
zh/develop/schedule.html | 457 +
zh/docs.html | 657 ++
zh/docs/data.html | 363 +
zh/docs/device.html | 354 +
zh/docs/image_tool.html | 505 +
zh/docs/index.html | 682 ++
zh/docs/initializer.html | 357 +
zh/docs/install_macos1013.html | 385 +
zh/docs/install_win.html | 724 ++
zh/docs/installation.html | 616 ++
zh/docs/layer.html | 802 ++
zh/docs/loss.html | 397 +
zh/docs/metric.html | 355 +
zh/docs/model_zoo/char-rnn/README.html | 353 +
zh/docs/model_zoo/cifar10/README.html | 388 +
zh/docs/model_zoo/imagenet/alexnet/README.html | 390 +
zh/docs/model_zoo/imagenet/densenet/README.html | 378 +
zh/docs/model_zoo/imagenet/googlenet/README.html | 392 +
zh/docs/model_zoo/imagenet/inception/README.html | 368 +
zh/docs/model_zoo/imagenet/resnet/README.html | 385 +
zh/docs/model_zoo/imagenet/vgg/README.html | 383 +
zh/docs/model_zoo/index.html | 365 +
zh/docs/model_zoo/mnist/README.html | 346 +
zh/docs/net.html | 467 +
zh/docs/optimizer.html | 589 ++
zh/docs/snapshot.html | 355 +
zh/docs/software_stack.html | 349 +
zh/docs/tensor.html | 934 ++
zh/docs/utils.html | 328 +
zh/downloads.html | 454 +
zh/genindex.html | 271 +
zh/index.html | 363 +
zh/objects.inv | Bin 0 -> 1090 bytes
zh/search.html | 284 +
zh/searchindex.js | 1 +
1945 files changed, 347193 insertions(+)
diff --git a/README b/README
new file mode 100644
index 0000000..e69de29
diff --git a/_sources/community/issue-tracking.md.txt b/_sources/community/issue-tracking.md.txt
new file mode 100644
index 0000000..c6ff200
--- /dev/null
+++ b/_sources/community/issue-tracking.md.txt
@@ -0,0 +1,27 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+## Issue Tracking
+
+___
+
+SINGA uses [JIRA](https://www.atlassian.com/software/jira) a J2EE-based, issue tracking and project management application.
+
+Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.
+
+* https://issues.apache.org/jira/browse/singa
diff --git a/_sources/community/mail-lists.rst.txt b/_sources/community/mail-lists.rst.txt
new file mode 100644
index 0000000..e4cd2df
--- /dev/null
+++ b/_sources/community/mail-lists.rst.txt
@@ -0,0 +1,29 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Project Mailing Lists
+=====================
+
+These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.
+
+.. csv-table:: Mailing Lists
+ :header: "Name", "Post", "Subscribe", "Unsubscribe", "Archive"
+
+ "Development", "dev@singa.incubator.apache.org", "`Subscribe <ma...@singa.incubator.apache.org>`_", "`Unsubscribe <ma...@singa.incubator.apache.org.>`_", "`mail-archives.apache.org <http://mail-archives.apache.org/mod_mbox/singa-dev/>`_"
+ "Commits", "commits@singa.incubator.apache.org", "`Subscribe <ma...@singa.incubator.apache.org>`_", "`Unsubscribe <ma...@singa.incubator.apache.org>`_", "`mail-archives.apache.org <http://mail-archives.apache.org/mod_mbox/singa-commits/>`_"
+ "Security", "security@singa.apache.org", private, private, private
diff --git a/_sources/community/source-repository.rst.txt b/_sources/community/source-repository.rst.txt
new file mode 100644
index 0000000..5dc014f
--- /dev/null
+++ b/_sources/community/source-repository.rst.txt
@@ -0,0 +1,64 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+Source Repository
+=================
+
+This project uses `Git <http://git-scm.com/>`_ to manage its source code. Instructions on Git use can be found at http://git-scm.com/documentation .
+
+Web Access
+----------
+
+The following is a link to the online source repository.
+
+* https://gitbox.apache.org/repos/asf?p=incubator-singa.git
+
+Contributors
+------------
+
+Contributors are encouraged to rebase their commits onto the latest master before sending the pull requests to make the git history clean. The following git instructors should be executed after committing the current work:
+
+.. code-block:: bash
+
+ git checkout master
+ git pull <apache/incubator-singa upstream> master:master
+ git checkout <new feature branch>
+ git rebase master
+
+Committers
+----------
+
+* To connect your Apache account with your Github account, Please follow the instructions on: https://gitbox.apache.org/setup/. After that you can directly merge PRs using GitHub’s UI.
+
+To merge pull request https://github.com/apache/incubator-singa/pull/xxx, the following instructions should be executed,
+
+.. code-block:: bash
+
+ git clone https://github.com/apache/incubator-singa.git
+ git remote add asf https://gitbox.apache.org/repos/asf/incubator-singa.git
+ # optional
+ git pull asf master:master
+ git fetch origin pull/xxx/head:prxxx
+ git merge prxxx
+ git push asf master:master
+
+* To migrate from git-wip-us.apache.org to Gitbox: If you already cloned the SINGA repository from the old repo https://git-wip-us.apache.org/repos/asf/incubator-singa.git, you can update the master by:
+
+.. code-block:: bash
+
+ git remote set-url origin git@github.com/apache/singa.git
+
diff --git a/_sources/community/team-list.rst.txt b/_sources/community/team-list.rst.txt
new file mode 100644
index 0000000..043540c
--- /dev/null
+++ b/_sources/community/team-list.rst.txt
@@ -0,0 +1,84 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+The SINGA Team
+==============
+
+A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+
+Mentors
+-------
+
+================== ============
+Name Email
+================== ============
+Daniel Dai daijy@apache.org
+Ted Dunning tdunning@apache.org
+Alan Gates gates@apache.org
+Thejas Nair thejas@apache.org
+================== ============
+
+
+Developers
+----------
+
+The SINGA community has developers mainly from National University of Singapore, Zhejiang University, NetEase, Osaka University, yzBigData, etc.
+
++--------------------+--------------------------------+-----------------------------------------------+
+| Name | Email | Organization |
++====================+================================+===============================================+
+| Gang Chen | cg@zju.edu.cn | Zhejiang University |
++--------------------+--------------------------------+-----------------------------------------------+
+| Haibo Chen | hzchenhaibo@corp.netease.com | NetEase |
++--------------------+--------------------------------+-----------------------------------------------+
+| Anh Dinh | dinhtta@apache.org | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Jinyang Gao | jinyang@apache.org | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Xin Ji | jixin@comp.nus.edu.sg | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Chonho Lee | chonho@gmail.com | Osaka University |
++--------------------+--------------------------------+-----------------------------------------------+
+| Zhaojing Luo | zhaojing@apache.org | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Beng Chin Ooi | ooibc@comp.nus.edu.sg | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Kian-Lee Tan | tankl@apache.org | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Anthony K. H. Tung | atung@comp.nus.edu.sg | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Ji Wang | wangji@comp.nus.edu.sg | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Sheng Wang | wangsh@apache.org | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Wei Wang | wangwei@apache.org | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Yuan Wang | wangyuan@corp.netease.com | NetEase |
++--------------------+--------------------------------+-----------------------------------------------+
+| Wenfeng Wu | wuwf@comp.nus.edu.sg | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Zhongle Xie | zhongle@apache.org | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Meihui Zhang | meihui_zhang@sutd.edu.sg | Singapore University of Technology and Design |
++--------------------+--------------------------------+-----------------------------------------------+
+| Kaiping Zheng | kaiping@apache.org | National University of Singapore |
++--------------------+--------------------------------+-----------------------------------------------+
+| Moaz Reyad | moaz@apache.org | University of Genoa |
++--------------------+--------------------------------+-----------------------------------------------+
+| Chang Yao | yaochang2009@gmail.com | yzBigdata |
++--------------------+--------------------------------+-----------------------------------------------+
diff --git a/_sources/develop/contribute-code.md.txt b/_sources/develop/contribute-code.md.txt
new file mode 100644
index 0000000..bbb22de
--- /dev/null
+++ b/_sources/develop/contribute-code.md.txt
@@ -0,0 +1,77 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+## How to Contribute Code
+
+
+### Coding Style
+
+The SINGA codebase follows the [Google C++ Style Guide](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml).
+
+To check if your code follows the style, you can use the provided cpplint tool:
+
+ $ ./tool/cpplint.py YOUR_FILE
+
+
+### JIRA format
+
+Like other Apache projects, SINGA uses JIRA to track bugs, improvements and
+other high-level discussions (e.g., system design and features). Github pull requests are
+used for implementation discussions, e.g., code review and code merge.
+
+* Provide a descriptive Title.
+* Write a detailed Description. For bug reports, this should ideally include a
+ short reproduction of the problem. For new features, it may include a design
+ document.
+* Set [required fields](https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark#ContributingtoSpark-JIRA)
+
+### Pull Request
+
+The work flow is
+
+* Fork the [SINGA Github repository](https://github.com/apache/incubator-singa) to
+your own Github account.
+
+* Clone your fork, create a new branch (e.g., feature-foo or fixbug-foo),
+ work on it. After finishing your job,
+ [rebase](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) it to the
+ current latest master and push commits to your own Github account (the new
+ branch).
+
+* Open a pull request against the master branch of apache/incubator-singa.
+The PR title should be of the form SINGA-xxxx Title, where
+SINGA-xxxx is the relevant JIRA number, and Title may be the JIRA's title or a
+more specific title describing the PR itself, for example, "SINGA-6 Implement thread-safe singleton". Detailed description can be copied from the JIRA.
+Consider identifying committers or other contributors who have worked on the
+code being changed. Find the file(s) in Github and click "Blame" to see a
+line-by-line annotation of who changed the code last. You can add @username in
+the PR description to ping them immediately.
+Please state that the contribution is your original work and that you license
+the work to the project under the project's open source license. Further commits (e.g., bug fix)
+to your new branch will be added to this pull request automatically by Github.
+
+* Wait for one committer to review the patch. If no conflicts, the committers will merge it with
+the master branch. The merge should a) not use rebase b) disable fast forward merge c) check the
+commit message format and test the code/feature.
+
+* If there are too many small commit messages, you will be told to squash your commits into fewer meaningful
+commits. If your commit message does not follow the format (i.e., SINGA-xxxx), you will be told to
+reword your commit message. Both changes can be done using interactive git rebase. Once you
+get the commits corrected, push them to you own github again. Your pull request
+will be automatically updated. For details, please refer to
+[Rebase Pull Requests](https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request).
diff --git a/_sources/develop/contribute-docs.md.txt b/_sources/develop/contribute-docs.md.txt
new file mode 100644
index 0000000..6de5072
--- /dev/null
+++ b/_sources/develop/contribute-docs.md.txt
@@ -0,0 +1,54 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# How to Contribute to Documentation
+
+
+## Website
+This document gives step-by-step instructions for deploying [SINGA website](http://singa.incubator.apache.org).
+
+SINGA website is built by [Sphinx](http://www.sphinx-doc.org) >=1.4.4 from a source tree stored in git: https://github.com/apache/incubator-singa/tree/master/doc.
+
+To install Sphinx:
+
+ $ pip install -U Sphinx
+
+To install the markdown support for Sphinx:
+
+ $ pip install recommonmark
+
+To install the rtd theme:
+
+ $ pip install sphinx_rtd_theme
+
+You can build the website by executing the following command from the doc folder:
+
+ $ ./build.sh html
+
+Committers can update the [SINGA website](http://singa.apache.org/en/index.html) by following these steps:
+
+ $ cd _build
+ $ svn co https://svn.apache.org/repos/asf/incubator/singa/site/trunk
+ $ cp -r html/* trunk
+ # svn add <newly added html files>
+ $ svn commit -m "commit messages" --username <committer ID> --password <password>
+
+
+## CPP API
+
+To generate docs, run "doxygen" from the doc folder (Doxygen >= 1.8 recommended)
diff --git a/_sources/develop/how-contribute.md.txt b/_sources/develop/how-contribute.md.txt
new file mode 100644
index 0000000..399a954
--- /dev/null
+++ b/_sources/develop/how-contribute.md.txt
@@ -0,0 +1,36 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# How to Contribute to SINGA
+
+As with any open source project, there are several ways you can help:
+
+* Join the [mailing list](http://singa.apache.org/en/community/mail-lists.html) and answer other user's questions.
+* [Build SINGA](http://singa.apache.org/en/docs/installation.html) by yourself.
+* Report bugs, feature requests and other issues in the [issue tracking](http://singa.apache.org/en/community/issue-tracking.html) application.
+* Check SINGA's [development schedule](http://singa.apache.org/en/develop/schedule.html) and [contribute code](http://singa.apache.org/en/develop/contribute-code.html) by providing patches.
+* [Help with the documentation](http://singa.apache.org/en/develop/contribute-docs.html) by updating webpages that are lacking or unclear.
+
+
+# How to become a SINGA committer
+
+SINGA committers are members that have write access to SINGA code and documentation repositories. They can contribute by themselves and accept other contributions.
+
+Becoming a SINGA committer requires understanding the Apache Way and being an active member in the SINGA project. An active member participates on mailing lists, answers questions, contributes code, tests and documentation, presents SINGA in talks and seminars, verifies releases and report issues or feature requests.
+
+New committers can be suggested by current committers or PPMC members, and voted upon by the PPMC according to Apache guidelines. You can start by talking to other committers and ask for their advice and guidance.
diff --git a/_sources/develop/how-to-release.rst.txt b/_sources/develop/how-to-release.rst.txt
new file mode 100644
index 0000000..5b884bc
--- /dev/null
+++ b/_sources/develop/how-to-release.rst.txt
@@ -0,0 +1,228 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+How to prepare a release
+========================
+
+This is a guide for the release preparing process in SINGA.
+
+Select a release manager
+------------------------
+
+The release manager (RM) is the coordinator for the release process. It is the RM's signature (.asc) that is uploaded together with the release. The RM generates KEY (RSA 4096-bit) and uploads it to a public key server. The RM needs to get his key endorsed (signed) by other Apache user, to be connected to the web of trust. He should first ask the mentor to help signing his key. http://www.apache.org/dev/release-signing.html
+
+Check:
+ + The codebase does not include third-party code which is not compatible to APL
+ + The dependencies are compatible with APL. GNU-like licenses are NOT compatible
+ + All source files written by us MUST include the Apache license header: http://www.apache.org/legal/src-headers.html. There's a script in there which helps propagating the header to all files.
+ + The build process is error-free.
+ + Unit tests are included (as much as possible)
+ + The Jupyter notebooks are working with the new release
+ + The online documentation on the Apache website is up to date.
+
+Prepare LICENSE file
+--------------------
+
+copy and paste this http://apache.org/licenses/LICENSE-2.0.txt
+
+Prepare NOTICE file
+-------------------
+
+ + Use this template: http://apache.org/legal/src-headers.html#notice
+ + If we include any third party code in the release package which is not APL, must state it at the end of the NOTICE file.
+ + Example: http://apache.org/licenses/example-NOTICE.txt
+
+Prepare RELEASE_NOTES file
+--------------------------
+
+ + Introduction, Features, Bugs (link to JIRA), Changes (N/A for first erlease), Dependency list, Incompatibility issues.
+ + Follow this example: http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt
+
+Prepare README file
+-------------------
+ + How to build, run test, run examples
+ + List of dependencies.
+ + Mail list, website, etc. Any information useful for user to start.
+
+Prepare DISCLAIMER file
+-----------------------
+ + modify from http://incubator.apache.org/guides/branding.html#disclaimers
+
+Package the release
+-------------------
+
+The release should be packaged into : apache-singa-incubating-xx.xx.xx.tar.gz
+ + src/
+ + README
+ + LICENSE
+ + NOTICE
+ + RELEASE_NOTES
+ + DISCLAIMER
+ + ...
+
+Upload the release
+-------------------
+
+The release is uploaded to the RM’s Apache page: people.apache.org/~ID/...
+ + apache-singa-incubating-xx.xx.xx.tar.gz
+ + KEY
+ + XX.acs
+ + XX.md5
+
+Roll out artifacts to mirrors
+-----------------------------
+
+svn add to “dist/release/incubator/singa”
+
+Delete old artifacts (automatically archived)
+
+Update the Download page
+------------------------
+
+The tar.gz file MUST be downloaded from mirror, using closer.cgi script
+other artifacts MUST be downloaded from main Apache site
+Good idea to update EC2 image and make it available for download as well
+
+Make the internal announcements
+-------------------------------
+
+Template for singa-dev@ voting:
+
+To: dev@singa.incubator.apache.org
+Subject: [VOTE] Release apache-singa-X.Y.Z-incubating (release candidate N)
+
+Hi all,
+
+I have created a build for Apache SINGA X.Y.Z-incubating, release candidate N.
+
+The artifacts to be voted on are located here:
+https://dist.apache.org/repos/dist/dev/incubator/singa/apache-singa-X.Y.Z-incubating-rcN/
+
+The hashes of the artifacts are as follows:
+apache-singa-X.Y.Z-incubating.tar.gz.md5 XXXX
+apache-singa-X.Y.Z-incubating.tar.gz.sha256 XXXX
+
+Release artifacts are signed with the following key:
+https://people.apache.org/keys/committer/{Apache ID of the Release Manager}.asc
+
+and the signature file is:
+apache-singa-X.Y.Z-incubating.tar.gz.asc
+
+Please vote on releasing this package. The vote is open for at least 72 hours and passes if a majority of at least three +1 votes are cast.
+
+[ ] +1 Release this package as Apache SINGA X.Y.Z-incubating
+[ ] 0 I don't feel strongly about it, but I'm okay with the release
+[ ] -1 Do not release this package because...
+
+Here is my vote:
+
++1
+
+{SINGA Team Member Name}
+
+Wait at least 48 hours for test responses
+
+Any PPMC, committer or contributor can test features for releasing, and feedback. Based on that, PPMC will decide whether start a vote.
+
+Call a vote in dev
+------------------
+
+Call a vote in dev@singa.apache.org
+
+
+
+Vote Check
+----------
+
+All PPMC members and committers should check these before vote +1 :
+
+
+Call for a vote in Apache IPMC
+------------------------------
+
+Call a vote in general@incubator.apache.org
+
+Vote result mail
+----------------
+
+Template for singa-dev@ voting (results):
+
+
+Subject: [RESULT] [VOTE] Release apache-singa-X.Y.Z-incubating (release candidate N)
+To: dev@singa.incubator.apache.org
+
+Thanks to everyone who has voted and given their comments. The tally is as follows.
+
+N binding +1s:
+<names>
+
+N non-binding +1s:
+<names>
+
+No 0s or -1s.
+
+I am delighted to announce that the proposal to release
+Apache SINGA X.Y.Z-incubating has passed.
+
+I'll now start a vote on the general list. Those of you in the IPMC, please recast your vote on the new thread.
+
+{SINGA Team Member Name}
+
+Template for general@ voting - results
+
+
+To: general@incubator.apache.org
+Subject: [RESULT] [VOTE] Release Apache SINGA X.Y.Z (incubating)
+
+Thanks everyone for their votes and comments.
+
+I'm delighted to announce that this vote passes with the following results:
+
+N binding +1s:
+<names>
+
+N non-binding +1s:
+<names>
+
+No 0s or -1s.
+
+We’ll now roll the release out to the mirrors.
+
+{SINGA Team Member Name}
+
+
+Publish release
+---------------
+
+Template for ANNOUNCING the release
+
+To: announce@apache.org, dev@singa.apache.org
+Subject: [ANNOUNCE] Apache SINGA (incubating) X.Y.Z released
+
+We are pleased to announce that SINGA (incubating) X.Y.Z is released.
+
+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 of popular deep learning models.
+
+The release is available at:
+http://singa.incubator.apache.org/downloads.html
+
+The main features of this release include XXX
+
+We look forward to hearing your feedbacks, suggestions, and contributions to the project.
+
+On behalf of the SINGA team,
+{SINGA Team Member Name}
\ No newline at end of file
diff --git a/_sources/develop/schedule.rst.txt b/_sources/develop/schedule.rst.txt
new file mode 100644
index 0000000..0dc1572
--- /dev/null
+++ b/_sources/develop/schedule.rst.txt
@@ -0,0 +1,65 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Development Schedule
+====================
+
+.. csv-table::
+ :header: "Release","Module","Feature"
+
+ "v0.1 Sep 2015 ","Neural Network ","Feed forward neural network, including CNN, MLP "
+ " "," ","RBM-like model, including RBM "
+ " "," ","Recurrent neural network, including standard RNN "
+ " ","Architecture ","One worker group on single node (with data partition) "
+ " "," ","Multi worker groups on single node using `Hogwild <http://www.eecs.berkeley.edu/~brecht/papers/hogwildTR.pdf>`_ "
+ " "," ","Distributed Hogwild"
+ " "," ","Multi groups across nodes, like `Downpour <http://papers.nips.cc/paper/4687-large-scale-distributed-deep-networks>`_"
+ " "," ","All-Reduce training architecture like `DeepImage <http://arxiv.org/abs/1501.02876>`_ "
+ " "," ","Load-balance among servers "
+ " ","Failure recovery ","Checkpoint and restore "
+ " ","Tools ","Installation with GNU auto Tools "
+ "v0.2 Jan 2016 ","Neural Network ","Feed forward neural network, including AlexNet, cuDNN layers,Tools "
+ " "," ","Recurrent neural network, including GRULayer and BPTT "
+ " "," ","Model partition and hybrid partition "
+ " ","Tools ","Integration with Mesos for resource management "
+ " "," ","Prepare Docker images for deployment"
+ " "," ","Visualization of neural net and debug information "
+ " ","Binding ","Python binding for major components "
+ " ","GPU ","Single node with multiple GPUs "
+ "v0.3 April 2016 ","GPU ","Multiple nodes, each with multiple GPUs"
+ " "," ","Heterogeneous training using both GPU and CPU `CcT <http://arxiv.org/abs/1504.04343>`_"
+ " "," ","Support cuDNN v4 "
+ " ","Installation ","Remove dependency on ZeroMQ, CZMQ, Zookeeper for single node training"
+ " ","Updater ","Add new SGD updaters including Adam, AdamMax and AdaDelta"
+ " ","Binding ","Enhance Python binding for training"
+ "v1.0 Sep 2016 ","Programming abstraction ","Tensor with linear algebra, neural net and random operations "
+ " "," ","Updater for distributed parameter updating "
+ " ","Hardware ","Use Cuda and Cudnn for Nvidia GPU"
+ " "," ","Use OpenCL for AMD GPU or other devices"
+ " ","Cross-platform ","To extend from Linux to MacOS"
+ " "," ","Large image models, e.g., `VGG <https://arxiv.org/pdf/1409.1556.pdf>`_ and `Residual Net <http://arxiv.org/abs/1512.03385>`_"
+ "v1.1 Jan 2017 ","Model Zoo ","GoogleNet; Health-care models"
+ " ","Caffe converter ","Use SINGA to train models configured in caffe proto files"
+ " ","Model components ","Add concat and slice layers; accept multiple inputs to the net"
+ " ","Compilation and installation ","Windows suppport"
+ " "," ","Simplify the installation by compiling protobuf and openblas together with SINGA"
+ " "," ","Build python wheel automatically using Jenkins"
+ " "," ","Install SINGA from Debian packages"
+ "v1.2 June 2018 ","AutoGrad ","AutoGrad for BP"
+ " ","Python 3 ","Support Python 3 for PySinga"
+ " ","Models ","Add popular models, including VGG, ResNet, DenseNet, InceptionNet"
diff --git a/_sources/docs.rst.txt b/_sources/docs.rst.txt
new file mode 100644
index 0000000..1b94d02
--- /dev/null
+++ b/_sources/docs.rst.txt
@@ -0,0 +1,23 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Documentation
+=============
+
+.. toctree::
+ docs/index
diff --git a/_sources/docs/autograd.md.txt b/_sources/docs/autograd.md.txt
new file mode 100644
index 0000000..f80f2cb
--- /dev/null
+++ b/_sources/docs/autograd.md.txt
@@ -0,0 +1,166 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+# Autograd in Singa
+
+There are two typical ways to implement autograd, via symbolic differentiation like [Theano](http://deeplearning.net/software/theano/index.html) or reverse differentiation like [Pytorch](https://pytorch.org/docs/stable/notes/autograd.html). Singa follows Pytorch way, which records the computation graph and apply the backward propagation automatically after forward propagation. The autograd algorithm is explained in details [here](https://pytorch.org/docs/stable/notes/autograd.html). We e [...]
+
+## Relevant Modules
+
+There are three classes involved in autograd, namely `singa.tensor.Tensor` , `singa.autograd.Operation`, and `singa.autograd.Layer`. In the rest of this article, we use tensor, operation and layer to refer to an instance of the respective class.
+
+### Tensor
+
+Three attributes of Tensor are used by autograd,
+- `.creator` is an `Operation` instance. It records the operation that generates the Tensor instance.
+- `.requires_grad` is a boolean variable. It is used to indicate that the autograd algorithm needs to compute the gradient of the tensor (i.e., the owner). For example, during backpropagation, the gradients of the tensors for the weight matrix of a linear layer and the feature maps of a convolution layer (not the bottom layer) should be computed.
+- `.stores_grad` is a boolean variable. It is used to indicate that the gradient of the owner tensor should be stored and output by the backward function. For example, the gradient of the feature maps is computed during backpropagation, but is not included in the output of the backward function.
+
+Programmers can change `requires_grad` and `stores_grad` of a Tensor instance. For example, if later is set to True, the corresponding gradient is included in the output of the backward function. It should be noted that if `stores_grad` is True, then `requires_grad` must be true, not vice versa.
+
+
+### Operation
+
+It takes one or more `Tensor` instances as input, and then outputs one or more `Tensor` instances. For example, ReLU can be implemented as a specific Operation subclass. When an `Operation` instance is called (after instantiation), the following two steps are executed:
+
+1. record the source operations, i.e., the `creator`s of the input tensors. 2. do calculation by calling member function `.forward()`
+
+There are two member functions for forwarding and backwarding, i.e., `.forward()` and `.backward()`. They take `Tensor.data` as inputs (the type is `CTensor`), and output `Ctensor`s. To add a specific operation, subclass `operation` should implement their own `.forward()` and `.backward()`. The `backward()` function is called by the `backward()` function of autograd automatically during backward propogation to compute the gradients of inputs (according to the `require_grad` field).
+
+### Layer
+
+For those operations that require parameters, we package them into a new class, `Layer`. For example, convolution operation is wrapped into a convolution layer. `Layer` manages (stores) the parameters and calls the corresponding `Operation`s to implement the transformation.
+
+
+
+## Examples
+
+Multiple examples are provided in the [example folder](https://github.com/apache/incubator-singa/tree/master/examples/autograd). We explain two representative examples here.
+
+### Operation only
+
+The following codes implement a MLP model using only Operation instances (no Layer instances).
+
+#### Import packages
+
+```
+from singa.tensor import Tensor
+from singa import autograd
+from singa import opt
+```
+
+#### Create weight matrix and bias vector
+
+The parameter tensors are created with both `requires_grad` and `stores_grad` set to True.
+
+```
+w0 = Tensor(shape=(2, 3), requires_grad=True, stores_grad=True)
+w0.gaussian(0.0, 0.1)
+b0 = Tensor(shape=(1, 3), requires_grad=True, stores_grad=True)
+b0.set_value(0.0)
+
+w1 = Tensor(shape=(3, 2), requires_grad=True, stores_grad=True)
+w1.gaussian(0.0, 0.1)
+b1 = Tensor(shape=(1, 2), requires_grad=True, stores_grad=True)
+b1.set_value(0.0)
+```
+
+#### Training
+```
+inputs = Tensor(data=data) # data matrix
+target = Tensor(data=label) # label vector
+autograd.training = True # for training
+sgd = opt.SGD(0.05) # optimizer
+
+for i in range(10):
+ x = autograd.matmul(inputs, w0) # matrix multiplication
+ x = autograd.add_bias(x, b0) # add the bias vector
+ x = autograd.relu(x) # ReLU activation operation
+
+ x = autograd.matmul(x, w1)
+ x = autograd.add_bias(x, b1)
+
+ loss = autograd.softmax_cross_entropy(x, target)
+
+ for p, g in autograd.backward(loss):
+ sgd.update(p, g)
+```
+
+
+### Operation + Layer
+
+The following [example](https://github.com/apache/incubator-singa/blob/master/examples/autograd/mnist_cnn.py) implements a CNN model using layers provided by the autograd module.
+
+#### Create the layers
+
+```
+conv1 = autograd.Conv2d(1, 32, 3, padding=1, bias=False)
+bn1 = autograd.BatchNorm2d(32)
+pooling1 = autograd.MaxPool2d(3, 1, padding=1)
+conv21 = autograd.Conv2d(32, 16, 3, padding=1)
+conv22 = autograd.Conv2d(32, 16, 3, padding=1)
+bn2 = autograd.BatchNorm2d(32)
+linear = autograd.Linear(32 * 28 * 28, 10)
+pooling2 = autograd.AvgPool2d(3, 1, padding=1)
+```
+
+#### Define the forward function
+
+The operations in the forward pass will be recorded automatically for backward propagation.
+
+```
+def forward(x, t):
+ # x is the input data (a batch of images)
+ # t the the label vector (a batch of integers)
+ y = conv1(x) # Conv layer
+ y = autograd.relu(y) # ReLU operation
+ y = bn1(y) # BN layer
+ y = pooling1(y) # Pooling Layer
+
+ # two parallel convolution layers
+ y1 = conv21(y)
+ y2 = conv22(y)
+ y = autograd.cat((y1, y2), 1) # cat operation
+ y = autograd.relu(y) # ReLU operation
+ y = bn2(y)
+ y = pooling2(y)
+
+ y = autograd.flatten(y) # flatten operation
+ y = linear(y) # Linear layer
+ loss = autograd.softmax_cross_entropy(y, t) # operation
+ return loss, y
+```
+
+#### Training
+
+```
+autograd.training = True
+for epoch in range(epochs):
+ for i in range(batch_number):
+ inputs = tensor.Tensor(device=dev, data=x_train[
+ i * batch_sz:(1 + i) * batch_sz], stores_grad=False)
+ targets = tensor.Tensor(device=dev, data=y_train[
+ i * batch_sz:(1 + i) * batch_sz], requires_grad=False, stores_grad=False)
+
+ loss, y = forward(inputs, targets) # forward the net
+
+ for p, gp in autograd.backward(loss): # auto backward
+ sgd.update(p, gp)
+```
diff --git a/_sources/docs/benchmark.md.txt b/_sources/docs/benchmark.md.txt
new file mode 100644
index 0000000..0cb793f
--- /dev/null
+++ b/_sources/docs/benchmark.md.txt
@@ -0,0 +1,33 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+# Benchmark for Distributed training
+
+
+Workload: we use a deep convolutional neural network, [ResNet-50](https://github.com/apache/incubator-singa/blob/master/examples/autograd/resnet.py) as the application. ResNet-50 is has 50 convolution layers for image classification. It requires 3.8 GFLOPs to pass a single image (of size 224x224) through the network. The input image size is 224x224.
+
+
+Hardware: we use p2.8xlarge instances from AWS, each of which has 8 Nvidia Tesla K80 GPUs, 96 GB GPU memory in total, 32 vCPU, 488 GB main memory, 10 Gbps network bandwidth.
+
+Metric: we measure the time per iteration for different number of workers to evaluate the scalability of SINGA. The batch size is fixed to be 32 per GPU. Synchronous training scheme is applied. As a result, the effective batch size is $32N$, where N is the number of GPUs. We compare with a popular open source system which uses the parameter server topology. The first GPU is selected as the server.
+
+<img src="../_static/images/benchmark.png" align="center" width="500px"/>
+<br/>
+<span><strong>Scalability test. Bars are for the throughput; lines are for the communication cost.</strong></span>
\ No newline at end of file
diff --git a/_sources/docs/cnn.md.txt b/_sources/docs/cnn.md.txt
new file mode 100644
index 0000000..64aad5a
--- /dev/null
+++ b/_sources/docs/cnn.md.txt
@@ -0,0 +1,159 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Quickstart - Cifar10 example
+Convolution neural network (CNN) is a type of feed-forward artificial neural network widely used for image classification. In this example, we will use a deep CNN model to do image classification for the [CIFAR10 dataset](http://www.cs.toronto.edu/~kriz/cifar.html).
+
+## Running instructions for CPP version
+Please refer to [Installation](installation.html) page for how to install SINGA. Currently, we CNN requires CUDNN, hence both CUDA and CUDNN should be installed and SINGA should be compiled with CUDA and CUDNN.
+
+The Cifar10 dataset could be downloaded by running
+
+ # switch to cifar10 directory
+ $ cd ../examples/cifar10
+ # download data for CPP version
+ $ python download_data.py bin
+
+'bin' is for downloading binary version of Cifar10 data.
+
+During downloading, you should see the detailed output like
+
+ Downloading CIFAR10 from http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
+ The tar file does exist. Extracting it now..
+ Finished!
+
+Now you have prepared the data for this Cifar10 example, the final step is to execute the `run.sh` script,
+
+ # in SINGA_ROOT/examples/cifar10/
+ $ ./run.sh
+
+You should see the detailed output as follows: first read the data files in order, show the statistics of training and testing data, then show the details of neural net structure with some parameter information, finally illustrate the performance details during training and validation process. The number of epochs can be specified in `run.sh` file.
+
+ Start training
+ Reading file cifar-10-batches-bin/data_batch_1.bin
+ Reading file cifar-10-batches-bin/data_batch_2.bin
+ Reading file cifar-10-batches-bin/data_batch_3.bin
+ Reading file cifar-10-batches-bin/data_batch_4.bin
+ Reading file cifar-10-batches-bin/data_batch_5.bin
+ Reading file cifar-10-batches-bin/test_batch.bin
+ Training samples = 50000, Test samples = 10000
+ conv1(32, 32, 32, )
+ pool1(32, 16, 16, )
+ relu1(32, 16, 16, )
+ lrn1(32, 16, 16, )
+ conv2(32, 16, 16, )
+ relu2(32, 16, 16, )
+ pool2(32, 8, 8, )
+ lrn2(32, 8, 8, )
+ conv3(64, 8, 8, )
+ relu3(64, 8, 8, )
+ pool3(64, 4, 4, )
+ flat(1024, )
+ ip(10, )
+ conv1_weight : 8.09309e-05
+ conv1_bias : 0
+ conv2_weight : 0.00797731
+ conv2_bias : 0
+ conv3_weight : 0.00795888
+ conv3_bias : 0
+ ip_weight : 0.00798683
+ ip_bias : 0
+ Messages will be appended to an existed file: train_perf
+ Messages will be appended to an existed file: val_perf
+ Epoch 0, training loss = 1.828369, accuracy = 0.329420, lr = 0.001000
+ Epoch 0, val loss = 1.561823, metric = 0.420600
+ Epoch 1, training loss = 1.465898, accuracy = 0.469940, lr = 0.001000
+ Epoch 1, val loss = 1.361778, metric = 0.513300
+ Epoch 2, training loss = 1.320708, accuracy = 0.529000, lr = 0.001000
+ Epoch 2, val loss = 1.242080, metric = 0.549100
+ Epoch 3, training loss = 1.213776, accuracy = 0.571620, lr = 0.001000
+ Epoch 3, val loss = 1.175346, metric = 0.582000
+
+The training details are stored in `train_perf` file in the same directory and the validation details in `val_perf` file.
+
+
+## Running instructions for Python version
+To run CNN example in Python version, we need to compile SINGA with Python binding,
+
+ $ mkdir build && cd build
+ $ cmake -DUSE_PYTHON=ON ..
+ $ make
+
+Now download the Cifar10 dataset,
+
+ # switch to cifar10 directory
+ $ cd ../examples/cifar10
+ # download data for Python version
+ $ python download_data.py py
+
+During downloading, you should see the detailed output like
+
+ Downloading CIFAR10 from http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
+ The tar file does exist. Extracting it now..
+ Finished!
+
+Then execute the `train.py` script to build the model
+
+ $ python train.py
+
+You should see the output as follows including the details of neural net structure with some parameter information, reading data files, and the performance details during training and testing process.
+
+ (32L, 32L, 32L)
+ (32L, 16L, 16L)
+ (32L, 16L, 16L)
+ (32L, 16L, 16L)
+ (32L, 16L, 16L)
+ (32L, 16L, 16L)
+ (32L, 8L, 8L)
+ (32L, 8L, 8L)
+ (64L, 8L, 8L)
+ (64L, 8L, 8L)
+ (64L, 4L, 4L)
+ (1024L,)
+ Start intialization............
+ conv1_weight gaussian 7.938460476e-05
+ conv1_bias constant 0.0
+ conv2_weight gaussian 0.00793507322669
+ conv2_bias constant 0.0
+ conv3_weight gaussian 0.00799657031894
+ conv3_bias constant 0.0
+ dense_weight gaussian 0.00804364029318
+ dense_bias constant 0.0
+ Loading data ..................
+ Loading data file cifar-10-batches-py/data_batch_1
+ Loading data file cifar-10-batches-py/data_batch_2
+ Loading data file cifar-10-batches-py/data_batch_3
+ Loading data file cifar-10-batches-py/data_batch_4
+ Loading data file cifar-10-batches-py/data_batch_5
+ Loading data file cifar-10-batches-py/test_batch
+ Epoch 0
+ training loss = 1.881866, training accuracy = 0.306360 accuracy = 0.420000
+ test loss = 1.602577, test accuracy = 0.412200
+ Epoch 1
+ training loss = 1.536011, training accuracy = 0.441940 accuracy = 0.500000
+ test loss = 1.378170, test accuracy = 0.507600
+ Epoch 2
+ training loss = 1.333137, training accuracy = 0.519960 accuracy = 0.520000
+ test loss = 1.272205, test accuracy = 0.540600
+ Epoch 3
+ training loss = 1.185212, training accuracy = 0.574120 accuracy = 0.540000
+ test loss = 1.211573, test accuracy = 0.567600
+
+This script will call `alexnet.py` file to build the alexnet model. After the training is finished, SINGA will save the model parameters into a checkpoint file `model.bin` in the same directory. Then we can use this `model.bin` file for prediction.
+
+ $ python predict.py
diff --git a/_sources/docs/converter.rst.txt b/_sources/docs/converter.rst.txt
new file mode 100644
index 0000000..16a81b8
--- /dev/null
+++ b/_sources/docs/converter.rst.txt
@@ -0,0 +1,23 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Caffe Converter
+================
+
+.. automodule:: singa.converter
+ :members:
diff --git a/_sources/docs/data.rst.txt b/_sources/docs/data.rst.txt
new file mode 100644
index 0000000..d495dfd
--- /dev/null
+++ b/_sources/docs/data.rst.txt
@@ -0,0 +1,25 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Data
+========
+
+
+
+.. automodule:: singa.data
+ :members:
diff --git a/_sources/docs/dependencies.md.txt b/_sources/docs/dependencies.md.txt
new file mode 100644
index 0000000..febf6da
--- /dev/null
+++ b/_sources/docs/dependencies.md.txt
@@ -0,0 +1,110 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Dependent library installation
+
+## Windows
+
+This section is used to compile and install the dependent libraries under
+windows system from source codes. The following instructions ONLY work for Visual Studio 2015 as
+previous VS does not support [C++11 features](https://msdn.microsoft.com/en-us/library/hh567368.aspx) well (including generic lambdas, auto, non-static
+data member initializers). If you intend to generate a 32-bit/64-bit singa solution, please configure all the
+VS projects for the dependent libraries as 32-bit/64-bit. This can be done by
+"Configuration Manager" in VS 2015 or use corresponding generator in cmake. When compiling the following libraries, you
+may get system-specific warnings/errors. Please fix them according to the
+prompts by VS.
+
+### Google Logging
+The glog library is an optional library for singa project. But it is currently necessary for Window compilation.
+Since the latest release version of glog will encounter error C2084 on sprintf function
+under VS2015, we test the compilation and installation using the master branch from [github](https://github.com/google/glog).
+
+Step 1: Download and decompress the source code. Or use `git clone
+https://github.com/google/glog` to get the code.
+
+Step 2: Open "glog.sln" file under project folder. You will get a conversion
+dialog and please finish it by the prompts. Compile all the projects in the solution after
+proper configuration, especially "libglog" and "libglog_static" projects.
+
+Step 3: Copy all the header files and the entire directory named "glog" under
+"src\windows\" folder into the installation include folder (or system folder).
+Copy all the generated library files into the installation library folder (or
+system folder).
+
+Step 4: Done.
+
+
+### Google protobuf
+
+Tested on version 2.6.1:
+
+Step 1: Download and decompress the source code.
+
+Step 2: Open "protobuf.sln" file under "vsprojects" folder. You will get a conversion
+dialog and please finish it by the prompts. Compile all the projects in the solution after proper
+configuration. Especially "libprotobuf", "libprotobuf-lite", "libprotoc" and
+"protoc" projects.
+
+Step 3: Run "extract_includes.bat" script under "vsprojects" folder, you will
+get a new "include" folder with all the headers.
+
+Step 4: Copy the library files, such as "libprotobuf.lib",
+"libprotobuf-lite.lib", "libprotoc.lib", etc., into your installation library folder (or
+system folder). Copy the binary file "protoc" into your installation binary
+folder (or system folder). Copy all the headers and folders in "include" folder into your
+installation include folder (or system folder).
+
+Step 5: Done.
+
+### CBLAS
+
+There are ready-to-use binary packages online
+([link](https://sourceforge.net/projects/openblas/files/)). However, we still install
+OpenBLAS with version 0.2.18 as test:
+
+Step 1: Download and decompress the source code.
+
+Step 2: Start a cmd window under the OpenBLAS folder then run the following
+commands to generate the solution:
+
+ $ md build $$ cd build
+ $ cmake -G "Visual Studio 14" ..
+
+Or run `cmake -G "Visual Studio 14 Win64"` as you wish.
+
+Step 3: Install Perl into your system and put perl.exe on your path. Open "OpenBlas.sln" and build the solution, especially "libopenblas"
+project.
+
+Step 4: Copy the library files under "build\lib" folder and all header files
+under OpenBLAS folder into installation library and include folders (or system
+folders).
+
+Step 5: Done.
+
+
+## FAQ
+
+1. Error C2375 'snprintf': redefinition; different linkage
+
+ Add “HAVE_SNPRINTF” to “C/C++ - Preprocessor - Preprocessor definitions”
+
+2. Error due to hash map
+
+ Add "_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS" to Preprocessor Definitions.
+
+
diff --git a/_sources/docs/device.rst.txt b/_sources/docs/device.rst.txt
new file mode 100644
index 0000000..57993f9
--- /dev/null
+++ b/_sources/docs/device.rst.txt
@@ -0,0 +1,54 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Device
+=======
+
+
+The Device abstract represents any hardware device with memory and compuation units.
+All [Tensor operations](tensor.html) are scheduled by the resident device for execution.
+Tensor memory is also managed by the device's memory manager. Therefore, optimization
+of memory and execution are implemented in the Device class.
+
+Specific devices
+----------------
+Currently, SINGA has three Device implmentations,
+
+1. CudaGPU for an Nvidia GPU card which runs Cuda code
+2. CppCPU for a CPU which runs Cpp code
+3. OpenclGPU for a GPU card which runs OpenCL code
+
+
+Python API
+----------
+
+.. automodule:: singa.device
+ :members: create_cuda_gpus, create_cuda_gpus_on, get_default_device
+
+
+The following code provides examples of creating devices::
+
+ from singa import device
+ cuda = device.create_cuda_gpu_on(0) # use GPU card of ID 0
+ host = device.get_default_device() # get the default host device (a CppCPU)
+ ary1 = device.create_cuda_gpus(2) # create 2 devices, starting from ID 0
+ ary2 = device.create_cuda_gpus([0,2]) # create 2 devices on ID 0 and 2
+
+
+CPP API
+---------
diff --git a/_sources/docs/docker.md.txt b/_sources/docs/docker.md.txt
new file mode 100644
index 0000000..287e52d
--- /dev/null
+++ b/_sources/docs/docker.md.txt
@@ -0,0 +1,71 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Docker Images
+
+
+## Available tags
+
+* `devel`, with SINGA and the development packages installed on Ubuntu16.04 (no GPU)
+* `devel-cuda`, with SINGA, CUDA8.0, CUDNN5, and other development packages installed on Ubuntu16.04
+
+## Use the existing Docker images
+
+Users can pull the Docker images from Dockerhub via
+
+ docker pull apache/singa:devel
+ # or
+ docker pull apache/singa:devel-cuda
+
+Run the docker container using
+
+ docker run -it apache/singa:devel /bin/bash
+ # or
+ docker run -it apache/singa:devel-cuda /bin/bash
+
+The latest SINGA code is under the `incubator-singa` folder.
+
+## Create new Docker images from Dockerfile
+
+New Docker images could be created by executing the following command within the
+Dockerfile folder, e.g., tool/docker/devel/
+
+ docker build -t singa:<TAG> -f Dockerfile
+
+The `<TAG>` is named as
+
+ devel|runtime[-CUDA|CPU][-CUDNN]
+
+* devel: development images with all dependent libs' header files installed and SINGA's source code; runtime: the minimal images which can run SINGA programs.
+* CUDA: cuda10.0, cuda9.0
+* CUDNN: cudnn7
+
+Here are some example tags:
+
+`devel-cuda9-cudnn7`, `devel-cuda9-cudnn7`, `devel-cuda10-cudnn7`, `devel-cpu`, `runtime-gpu` and `runtime-cpu`
+
+
+Please follow the existing Dockefiles under tool/docker/ to create other Dockefiles.
+The folder structure is like
+
+ level1: devel|runtime
+ level2: Dockerfile, OS
+ level3: Dockerfile, CUDA|MKLDNN
+
+
+For example, the path of the Dockerfile for `devel-cuda9-cudnn7` is `tool/docker/devel/ubuntu/cuda9/Dockerfile`.
diff --git a/_sources/docs/image_tool.rst.txt b/_sources/docs/image_tool.rst.txt
new file mode 100644
index 0000000..764f036
--- /dev/null
+++ b/_sources/docs/image_tool.rst.txt
@@ -0,0 +1,23 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Image Tool
+==========
+
+.. automodule:: singa.image_tool
+ :members:
diff --git a/_sources/docs/index.rst.txt b/_sources/docs/index.rst.txt
new file mode 100644
index 0000000..76ece28
--- /dev/null
+++ b/_sources/docs/index.rst.txt
@@ -0,0 +1,43 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Documentation
+=============
+
+.. toctree::
+
+ installation
+ software_stack
+ benchmark
+ device
+ tensor
+ layer
+ net
+ initializer
+ loss
+ metric
+ optimizer
+ autograd
+ data
+ image_tool
+ snapshot
+ converter
+ utils
+ model_zoo/index
+ security
+
diff --git a/_sources/docs/initializer.rst.txt b/_sources/docs/initializer.rst.txt
new file mode 100644
index 0000000..6790a8e
--- /dev/null
+++ b/_sources/docs/initializer.rst.txt
@@ -0,0 +1,30 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Initializer
+===========
+
+Python API
+----------
+
+.. automodule:: singa.initializer
+ :members: uniform, gaussian
+ :member-order: bysource
+
+CPP API
+--------
diff --git a/_sources/docs/install_macos1013.rst.txt b/_sources/docs/install_macos1013.rst.txt
new file mode 100644
index 0000000..9cc9ad1
--- /dev/null
+++ b/_sources/docs/install_macos1013.rst.txt
@@ -0,0 +1,153 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Installing SINGA on macOS 13.10
+===============================
+
+Requirements
+------------
+
+* homebrew is used to install the requirements. Try:
+
+.. code-block:: bash
+
+ brew update
+
+If you don't have homebrew in your system or if you upgraded from a previous operating system, you may see an error message. See FAQ below.
+
+* installing required software for building SINGA:
+
+.. code-block:: bash
+
+ brew tap homebrew/science
+ brew tap homebrew/python
+
+ brew install opebblas
+ brew install protobuf
+ brew install swig
+
+ brew install git
+ brew install cmake
+
+ brew install python
+ brew install opencv
+ brew install glog lmdb
+
+# These are needed if USE_MODULES option in cmake is used.
+
+.. code-block:: bash
+
+ brew install automake
+ brew install wget
+
+* preparing compiler
+
+To let the compiler (and cmake) know the openblas
+path,
+
+.. code-block:: bash
+
+ export CMAKE_INCLUDE_PATH=/usr/local/opt/openblas/include:$CMAKE_INCLUDE_PATH
+ export CMAKE_LIBRARY_PATH=/usr/local/opt/openblas/lib:$CMAKE_LIBRARY_PATH
+
+To let the runtime know the openblas path,
+
+.. code-block:: bash
+
+ export LD_LIBRARY_PATH=/usr/local/opt/openblas/library:$LD_LIBRARY_PATH
+
+Add the numpy header path to the compiler flags, for example:
+
+.. code-block:: bash
+
+ export CXXFLAGS="-I /usr/local/lib/python2.7/site-packages/numpy/core/include $CXXFLAGS"
+
+* Get the source code and build it:
+
+.. code-block:: bash
+
+ git clone https://github.com/apache/incubator-singa.git
+
+ cd incubator-singa
+ mkdir build
+ cd build
+
+ cmake ..
+ make
+
+* Optional: create virtual enviromnet:
+
+.. code-block:: bash
+
+ virtualenv ~/venv
+ source ~/venv/bin/activate
+
+* Install the python module
+
+.. code-block:: bash
+
+ cd python
+ pip install .
+
+If there is no error message from
+
+.. code-block:: bash
+
+ python -c "from singa import tensor"
+
+then SINGA is installed successfully.
+
+* Run Jupyter notebook
+
+.. code-block:: bash
+
+ pip install matplotlib
+
+ cd ../../doc/en/docs/notebook
+ jupyter notebook
+
+Video Tutorial
+--------------
+
+See these steps in the following video:
+
+.. |video| image:: https://img.youtube.com/vi/T8xGTH9vCBs/0.jpg
+ :scale: 100%
+ :align: middle
+ :target: https://www.youtube.com/watch?v=T8xGTH9vCBs
+
++---------+
+| |video| |
++---------+
+
+FAQ
+---
+
+* How to install or update homebrew:
+
+.. code-block:: bash
+
+ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+
+* There is an error with protobuf.
+
+Try overwriting the links:
+
+.. code-block:: bash
+
+ brew link --overwrite protobuf
diff --git a/_sources/docs/install_win.rst.txt b/_sources/docs/install_win.rst.txt
new file mode 100644
index 0000000..4cd0142
--- /dev/null
+++ b/_sources/docs/install_win.rst.txt
@@ -0,0 +1,419 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Building SINGA on Windows
+=========================
+
+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.
+
+1. Install Dependencies
+-----------------------
+
+You may create a folder for building the dependencies.
+
+The dependencies are:
+
+* Compiler and IDE
+ * Visual Studio. The community edition is free and can be used to build SINGA. https://www.visualstudio.com/
+* CMake
+ * Can be downloaded from http://cmake.org/
+ * Make sure the path to cmake executable is in the system path, or use full path when calling cmake.
+* SWIG
+ * Can be downloaded from http://swig.org/
+ * Make sure the path to swig executable is in the system path, or use full path when calling swig. Use a recent version such as 3.0.12.
+
+* Protocol Buffers
+ * Download a suitable version such as 2.6.1: https://github.com/google/protobuf/releases/tag/v2.6.1 .
+ * Download both protobuf-2.6.1.zip and protoc-2.6.1-win32.zip .
+ * Extract both of them in dependencies folder. Add the path to protoc executable to the system path, or use full path when calling it.
+ * Open the Visual Studio solution which can be found in vsproject folder.
+ * Change the build settings to Release and x64.
+ * build libprotobuf project.
+* Openblas
+ * Download a suitable source version such as 0.2.20 from http://www.openblas.net
+ * Extract the source in the dependencies folder.
+ * If you don't have Perl installed, download a perl environment such as Strawberry Perl (http://strawberryperl.com/)
+ * Build the Visual Studio solution by running this command in the source folder:
+
+ .. code-block:: bash
+
+ cmake -G "Visual Studio 15 2017 Win64"
+
+ * Open the Visual Studio solution and change the build settings to Release and x64.
+ * Build libopenblas project
+
+* Google glog
+ * Download a suitable version such as 0.3.5 from https://github.com/google/glog/releases
+ * Extract the source in the dependencies folder.
+ * Open the Visual Studio solution.
+ * Change the build settings to Release and x64.
+ * Build libglog project
+
+2. Build SINGA source
+---------------------
+
+* Download SINGA source code
+* Compile the protobuf files:
+ * Goto src/proto folder
+
+.. code-block:: bash
+
+ mkdir python_out
+ protoc.exe *.proto --python_out python_out
+
+* Generate swig interfaces for C++ and Python:
+ Goto src/api
+
+.. code-block:: bash
+
+ swig -python -c++ singa.i
+
+* generate Visual Studio solution for SINGA:
+ Goto SINGA source code root folder
+
+.. code-block:: bash
+
+ mkdir build
+ cd build
+
+* Call cmake and add the paths in your system similar to the following example:
+
+.. code-block:: bash
+
+ cmake -G "Visual Studio 15 2017 Win64" ^
+ -DGLOG_INCLUDE_DIR="D:/WinSinga/dependencies/glog-0.3.5/src/windows" ^
+ -DGLOG_LIBRARIES="D:/WinSinga/dependencies/glog-0.3.5/x64/Release" ^
+ -DCBLAS_INCLUDE_DIR="D:/WinSinga/dependencies/openblas-0.2.20/lapack-netlib/CBLAS/include" ^
+ -DCBLAS_LIBRARIES="D:/WinSinga/dependencies/openblas-0.2.20/lib/RELEASE" ^
+ -DProtobuf_INCLUDE_DIR="D:/WinSinga/dependencies/protobuf-2.6.1/src" ^
+ -DProtobuf_LIBRARIES="D:/WinSinga/dependencies/protobuf-2.6.1/vsprojects/x64/Release" ^
+ -DProtobuf_PROTOC_EXECUTABLE="D:/WinSinga/dependencies/protoc-2.6.1-win32/protoc.exe" ^
+ ..
+
+* Open the generated solution in Visual Studio
+* Change the build settings to Release and x64
+* Add the singa_wrap.cxx file from src/api to the singa_objects project
+* In the singa_objects project, open Additional Include Directories.
+* Add Python include path
+* Add numpy include path
+* Add protobuf include path
+* In the preprocessor definitions of the singa_objects project, add USE_GLOG
+* Build singa_objects project
+
+* In singa project:
+ * add singa_wrap.obj to Object Libraries
+ * change target name to _singa_wrap
+ * change target extension to .pyd
+ * change configuration type to Dynamic Library (.dll)
+ * goto Additional Library Directories and add the path to python, openblas, protobuf and glog libraries
+ * goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib
+
+* build singa project
+
+
+3. Install Python module
+------------------------
+
+* Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py
+* Copy the files in src/proto/python_out to build/python/singa/proto
+
+* Optionally create and activate a virtual environment:
+
+.. code-block:: bash
+
+ mkdir SingaEnv
+ virtualenv SingaEnv
+ SingaEnv\Scripts\activate
+
+* goto build/python folder and run:
+
+.. code-block:: bash
+
+ python setup.py install
+
+* Make _singa_wrap.pyd, libglog.dll and libopenblas.dll available by adding them to the path or by copying them to singa package folder in the python site-packages
+
+* Verify that SINGA is installed by running:
+
+.. code-block:: bash
+
+ python -c "from singa import tensor"
+
+A video tutorial for the build process can be found here:
+
+
+.. |video| image:: https://img.youtube.com/vi/cteER7WeiGk/0.jpg
+ :scale: 100%
+ :align: middle
+ :target: https://www.youtube.com/watch?v=cteER7WeiGk
+
++---------+
+| |video| |
++---------+
+
+
+4. Run Unit Tests
+-----------------
+
+* In the test folder, generate the Visual Studio solution:
+
+.. code-block:: bash
+
+ cmake -G "Visual Studio 15 2017 Win64"
+
+* Open the generated solution in Visual Studio.
+
+* Change the build settings to Release and x64.
+
+* Build glog project.
+
+* In test_singa project:
+
+ * Add USE_GLOG to the Preprocessor Definitions.
+ * In Additional Include Directories, add path of GLOG_INCLUDE_DIR, CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 2 above. Add also build and build/include folders.
+ * Goto Additional Library Directories and add the path to openblas, protobuf and glog libraries. Add also build/src/singa_objects.dir/Release.
+ * Goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib. Fix the names of the two libraries: gtest.lib and singa_objects.lib.
+
+* Build test_singa project.
+
+* Make libglog.dll and libopenblas.dll available by adding them to the path or by copying them to test/release folder
+
+* The unit tests can be executed
+
+ * From the command line:
+
+ .. code-block:: bash
+
+ test_singa.exe
+
+ * From Visual Studio:
+ * right click on the test_singa project and choose 'Set as StartUp Project'.
+ * from the Debug menu, choose 'Start Without Debugging'
+
+A video tutorial for running the unit tests can be found here:
+
+
+.. |video| image:: https://img.youtube.com/vi/393gPtzMN1k/0.jpg
+ :scale: 100%
+ :align: middle
+ :target: https://www.youtube.com/watch?v=393gPtzMN1k
+
++---------+
+| |video| |
++---------+
+
+
+5. Build GPU support with CUDA
+------------------------------
+
+In this section, we will extend the previous steps to enable GPU.
+
+5.1 Install Dependencies
+------------------------
+
+In addition to the dependencies in section 1 above, we will need the following:
+
+* CUDA
+
+ Download a suitable version such as 9.1 from https://developer.nvidia.com/cuda-downloads . Make sure to install the Visual Studio integration module.
+
+* cuDNN
+
+ Download a suitable version such as 7.1 from https://developer.nvidia.com/cudnn
+
+* cnmem:
+
+ * Download the latest version from https://github.com/NVIDIA/cnmem
+ * Build the Visual Studio solution:
+
+ .. code-block:: bash
+
+ cmake -G "Visual Studio 15 2017 Win64"
+
+ * Open the generated solution in Visual Studio.
+ * Change the build settings to Release and x64.
+ * Build the cnmem project.
+
+
+5.2 Build SINGA source
+----------------------
+
+* Call cmake and add the paths in your system similar to the following example:
+
+ .. code-block:: bash
+
+ cmake -G "Visual Studio 15 2017 Win64" ^
+ -DGLOG_INCLUDE_DIR="D:/WinSinga/dependencies/glog-0.3.5/src/windows" ^
+ -DGLOG_LIBRARIES="D:/WinSinga/dependencies/glog-0.3.5/x64/Release" ^
+ -DCBLAS_INCLUDE_DIR="D:/WinSinga/dependencies/openblas-0.2.20/lapack-netlib/CBLAS/include" ^
+ -DCBLAS_LIBRARIES="D:/WinSinga/dependencies/openblas-0.2.20/lib/RELEASE" ^
+ -DProtobuf_INCLUDE_DIR="D:/WinSinga/dependencies/protobuf-2.6.1/src" ^
+ -DProtobuf_LIBRARIES="D:\WinSinga/dependencies/protobuf-2.6.1/vsprojects/x64/Release" ^
+ -DProtobuf_PROTOC_EXECUTABLE="D:/WinSinga/dependencies/protoc-2.6.1-win32/protoc.exe" ^
+ -DCUDNN_INCLUDE_DIR=D:\WinSinga\dependencies\cudnn-9.1-windows10-x64-v7.1\cuda\include ^
+ -DCUDNN_LIBRARIES=D:\WinSinga\dependencies\cudnn-9.1-windows10-x64-v7.1\cuda\lib\x64 ^
+ -DSWIG_DIR=D:\WinSinga\dependencies\swigwin-3.0.12 ^
+ -DSWIG_EXECUTABLE=D:\WinSinga\dependencies\swigwin-3.0.12\swig.exe ^
+ -DUSE_CUDA=YES ^
+ -DCUDNN_VERSION=7 ^
+ ..
+
+
+* Generate swig interfaces for C++ and Python:
+ Goto src/api
+
+ .. code-block:: bash
+
+ swig -python -c++ singa.i
+
+* Open the generated solution in Visual Studio
+
+* Change the build settings to Release and x64
+
+5.2.1 Building singa_objects
+----------------------------
+
+* Add the singa_wrap.cxx file from src/api to the singa_objects project
+* In the singa_objects project, open Additional Include Directories.
+* Add Python include path
+* Add numpy include path
+* Add protobuf include path
+* Add include path for CUDA, cuDNN and cnmem
+* In the preprocessor definitions of the singa_objects project, add USE_GLOG, USE_CUDA and USE_CUDNN. Remove DISABLE_WARNINGS.
+* Build singa_objects project
+
+5.2.2 Building singa-kernel
+---------------------------
+
+* Create a new Visual Studio project of type "CUDA 9.1 Runtime". Give it a name such as singa-kernel.
+* The project comes with an initial file called kernel.cu. Remove this file from the project.
+* Add this file: src/core/tensor/math_kernel.cu
+* In the project settings:
+
+ * Set Platform Toolset to "Visual Studio 2015 (v140)"
+ * Set Configuration Type to " Static Library (.lib)"
+ * In the Include Directories, add build/include.
+
+* Build singa-kernel project
+
+
+5.2.3 Building singa
+--------------------
+
+* In singa project:
+ * add singa_wrap.obj to Object Libraries
+ * change target name to _singa_wrap
+ * change target extension to .pyd
+ * change configuration type to Dynamic Library (.dll)
+ * goto Additional Library Directories and add the path to python, openblas, protobuf and glog libraries
+ * Add also the library path to singa-kernel, cnmem, cuda and cudnn.
+ * goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib.
+ * Add also: singa-kernel.lib, cnmem.lib, cudnn.lib, cuda.lib , cublas.lib, curand.lib and cudart.lib.
+
+* build singa project
+
+5.3. Install Python module
+--------------------------
+
+* Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py
+* Copy the files in src/proto/python_out to build/python/singa/proto
+
+* Optionally create and activate a virtual environment:
+
+.. code-block:: bash
+
+ mkdir SingaEnv
+ virtualenv SingaEnv
+ SingaEnv\Scripts\activate
+
+* goto build/python folder and run:
+
+.. code-block:: bash
+
+ python setup.py install
+
+* Make _singa_wrap.pyd, libglog.dll, libopenblas.dll, cnmem.dll, CUDA Runtime (e.g. cudart64_91.dll) and cuDNN (e.g. cudnn64_7.dll) available by adding them to the path or by copying them to singa package folder in the python site-packages
+
+* Verify that SINGA is installed by running:
+
+.. code-block:: bash
+
+ python -c "from singa import device; dev = device.create_cuda_gpu()"
+
+A video tutorial for this part can be found here:
+
+
+.. |video| image:: https://img.youtube.com/vi/YasKVjRtuDs/0.jpg
+ :scale: 100%
+ :align: middle
+ :target: https://www.youtube.com/watch?v=YasKVjRtuDs
+
++---------+
+| |video| |
++---------+
+
+5.4. Run Unit Tests
+-------------------
+
+* In the test folder, generate the Visual Studio solution:
+
+.. code-block:: bash
+
+ cmake -G "Visual Studio 15 2017 Win64"
+
+* Open the generated solution in Visual Studio, or add the project to the singa solution that was created in step 5.2
+
+* Change the build settings to Release and x64.
+
+* Build glog project.
+
+* In test_singa project:
+
+ * Add USE_GLOG; USE_CUDA; USE_CUDNN to the Preprocessor Definitions.
+ * In Additional Include Directories, add path of GLOG_INCLUDE_DIR, CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 5.2 above. Add also build, build/include, CUDA and cuDNN include folders.
+ * Goto Additional Library Directories and add the path to openblas, protobuf and glog libraries. Add also build/src/singa_objects.dir/Release, singa-kernel, cnmem, CUDA and cuDNN library paths.
+ * Goto Additional Dependencies and add libopenblas.lib; libglog.lib; libprotobuf.lib; cnmem.lib; cudnn.lib; cuda.lib; cublas.lib; curand.lib; cudart.lib; singa-kernel.lib. Fix the names of the two libraries: gtest.lib and singa_objects.lib.
+
+
+* Build test_singa project.
+
+* Make libglog.dll, libopenblas.dll, cnmem.dll, cudart64_91.dll and cudnn64_7.dll available by adding them to the path or by copying them to test/release folder
+
+* The unit tests can be executed
+
+ * From the command line:
+
+ .. code-block:: bash
+
+ test_singa.exe
+
+ * From Visual Studio:
+ * right click on the test_singa project and choose 'Set as StartUp Project'.
+ * from the Debug menu, choose 'Start Without Debugging'
+
+A video tutorial for running the unit tests can be found here:
+
+
+.. |video| image:: https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg
+ :scale: 100%
+ :align: middle
+ :target: https://www.youtube.com/watch?v=YOjwtrvTPn4
+
++---------+
+| |video| |
++---------+
diff --git a/_sources/docs/installation.md.txt b/_sources/docs/installation.md.txt
new file mode 100644
index 0000000..70da2f8
--- /dev/null
+++ b/_sources/docs/installation.md.txt
@@ -0,0 +1,381 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Installation
+
+## From Conda
+
+Conda is a package manager for Python, CPP and other packages.
+
+Currently, SINGA has conda packages (Python 2.7 and Python 3.6) for Linux and MacOSX.
+[Miniconda3](https://conda.io/miniconda.html) is recommended to use with SINGA.
+After installing miniconda, execute the one of the following commands to install
+SINGA.
+
+1. CPU only
+
+ conda install -c nusdbsystem singa-cpu
+
+2. GPU with CUDA and cuDNN
+
+ conda install -c nusdbsystem singa-gpu
+
+
+ CUDA driver (for CUDA >=9.0) must be installed before executing the above command. Singa
+ packages for other CUDA versions are also available. The following instruction
+ lists all the available Singa packages.
+
+ conda search -c nusdbsystem singa
+
+If there is no error message from
+
+ python -c "from singa import tensor"
+
+then SINGA is installed successfully.
+
+
+## From source
+
+The source files could be downloaded either as a
+[tar.gz file](https://dist.apache.org/repos/dist/dev/incubator/singa/), or as a git repo
+
+ $ git clone https://github.com/apache/incubator-singa.git
+ $ cd incubator-singa/
+
+### Use Conda to build SINGA
+
+Conda-build is a building tool that installs the dependent libraries from anaconda cloud and
+executes the building scripts. The generated package can be uploaded to anaconda
+cloud for others to download and install.
+
+To install conda-build (after installing miniconda)
+
+ conda install conda-build
+
+To build the CPU version of SINGA
+
+ conda build tool/conda/singa/ --python 3.6
+The above commands have been tested on Ubuntu 16.04 and Mac OSX.
+Refer to the [Travis-CI page](https://travis-ci.org/apache/incubator-singa) for more information.
+
+
+To build the GPU version of SINGA
+
+ export CUDA=x.y (e.g. 9.0)
+ conda build tool/conda/singa/ --python 3.6
+
+The commands for building on GPU platforms have been tested on Ubuntu 16.04 (cuDNN>=7 and CUDA>=9).
+[Nvidia's Docker image](https://hub.docker.com/r/nvidia/cuda/) provides the building
+environment with cuDNN and CUDA.
+
+The location of the generated package file is shown on the screen.
+Refer to [conda install](https://conda.io/docs/commands/conda-install.html) for
+the instructions of installing the package from the local file.
+
+
+### Use native tools to build SINGA on Ubuntu
+
+The following libraries are required to compile and run SINGA.
+Refer to SINGA [Dockerfiles](https://github.com/apache/incubator-singa/blob/master/tool/docker/)
+for the instructions of installing them on Ubuntu 16.04.
+
+* cmake (>=2.8)
+* gcc (>=4.8.1)
+* google protobuf (>=2.5)
+* blas (tested with openblas >=0.2.10)
+* swig(>=3.0.10) for compiling PySINGA
+* numpy(>=1.11.0) for compiling PySINGA
+
+
+1. create a `build` folder inside incubator-singa and go into that folder
+2. run `cmake [options] ..`
+ by default all options are OFF except `USE_PYTHON`
+
+ * `USE_MODULES=ON`, used if protobuf and blas are not installed a prior
+ * `USE_CUDA=ON`, used if CUDA and cuDNN is available
+ * `USE_PYTHON3=ON`, used for compiling with Python 3 support. (The default is Python 2)
+ * `USE_OPENCL=ON`, used for compiling with OpenCL support
+ * `USE_MKLDNN=ON`, used for compiling with Intel MKL-dnn support
+ * `PACKAGE=ON`, used for building the Debian package
+ * `ENABLE_TEST`, used for compiling unit test cases
+
+3. compile the code, `make`
+4. goto python folder
+5. run `pip install .` or `pip install -e .` The second command creates symlinks instead of copying files into python site-package folder.
+
+Execute step 4 and 5 are to install PySINGA when USE_PYTHON=ON.
+
+After compiling SINGA with ENABLE_TEST=ON, you can run the unit tests by
+
+ $ ./bin/test_singa
+
+You can see all the testing cases with testing results. If SINGA passes all
+tests, then you have successfully installed SINGA.
+
+
+### Compile SINGA on Windows
+
+Instructions for building on Windows with Python support can be found [here](install_win.html).
+
+### More details about the compilation options
+
+### USE_MODULES
+
+If protobuf and openblas are not installed, you can compile SINGA together with them
+
+ $ In SINGA ROOT folder
+ $ mkdir build
+ $ cd build
+ $ cmake -DUSE_MODULES=ON ..
+ $ make
+
+cmake would download OpenBlas and Protobuf (2.6.1) and compile them together
+with SINGA.
+
+You can use `ccmake ..` to configure the compilation options.
+If some dependent libraries are not in the system default paths, you need to export
+the following environment variables
+
+ export CMAKE_INCLUDE_PATH=<path to the header file folder>
+ export CMAKE_LIBRARY_PATH=<path to the lib file folder>
+
+#### USE_PYTHON
+
+Similar to compile CPP code, PySINGA is compiled by
+
+ $ cmake -DUSE_PYTHON=ON ..
+ $ make
+ $ cd python
+ $ pip install .
+
+
+#### USE_CUDA
+
+Users are encouraged to install the CUDA and
+[cuDNN](https://developer.nvidia.com/cudnn) for running SINGA on GPUs to
+get better performance.
+
+SINGA has been tested over CUDA 9, and cuDNN 7. If cuDNN is
+installed into non-system folder, e.g. /home/bob/local/cudnn/, the following
+commands should be executed for cmake and the runtime to find it
+
+ $ export CMAKE_INCLUDE_PATH=/home/bob/local/cudnn/include:$CMAKE_INCLUDE_PATH
+ $ export CMAKE_LIBRARY_PATH=/home/bob/local/cudnn/lib64:$CMAKE_LIBRARY_PATH
+ $ export LD_LIBRARY_PATH=/home/bob/local/cudnn/lib64:$LD_LIBRARY_PATH
+
+The cmake options for CUDA and cuDNN should be switched on
+
+ # Dependent libs are install already
+ $ cmake -DUSE_CUDA=ON ..
+ $ make
+
+#### USE_OPENCL
+
+SINGA uses opencl-headers and viennacl (version 1.7.1 or newer) for OpenCL support, which
+can be installed using via
+
+ # On Ubuntu 16.04
+ $ sudo apt-get install opencl-headers, libviennacl-dev
+ # On Fedora
+ $ sudo yum install opencl-headers, viennacl
+
+Additionally, you will need the OpenCL Installable Client Driver (ICD) for the platforms that you want to run OpenCL on.
+
+* For AMD and nVidia GPUs, the driver package should also install the correct OpenCL ICD.
+* For Intel CPUs and/or GPUs, get the driver from the [Intel website.](https://software.intel.com/en-us/articles/opencl-drivers) Note that the drivers provided on that website only supports recent CPUs and Iris GPUs.
+* For older Intel CPUs, you can use the `beignet-opencl-icd` package.
+
+Note that running OpenCL on CPUs is not currently recommended because it is slow.
+Memory transfer is on the order of whole seconds (1000's of ms on CPUs as compared to 1's of ms on GPUs).
+
+More information on setting up a working OpenCL environment may be found [here](https://wiki.tiker.net/OpenCLHowTo).
+
+If the package version of ViennaCL is not at least 1.7.1, you will need to build it from source:
+
+Clone [the repository from here](https://github.com/viennacl/viennacl-dev), checkout the `release-1.7.1` tag and build it.
+Remember to add its directory to `PATH` and the built libraries to `LD_LIBRARY_PATH`.
+
+To build SINGA with OpenCL support (tested on SINGA 1.1):
+
+ $ cmake -DUSE_OPENCL=ON ..
+ $ make
+
+#### USE_MKLDNN
+
+User can enable MKL-DNN to enhance the performance of CPU computation.
+
+Installation guide of MKL-DNN could be found [here](https://github.com/intel/mkl-dnn#installation).
+
+SINGA has been tested over MKL-DNN v0.17.2.
+
+To build SINGA with MKL-DNN support:
+
+ # Dependent libs are installed already
+ $ cmake -DUSE_MKLDNN=ON ..
+ $ make
+
+
+#### PACKAGE
+
+This setting is used to build the Debian package. Set PACKAGE=ON and build the package with make command like this:
+
+ $ cmake -DPACKAGE=ON
+ $ make package
+
+
+## FAQ
+
+* Q: Error from 'import singa' using PySINGA installed from wheel.
+
+ A: Please check the detailed error from `python -c "from singa import _singa_wrap"`. Sometimes it is
+ caused by the dependent libraries, e.g. there are multiple versions of protobuf, missing of cudnn, numpy version mismatch. Following
+ steps show the solutions for different cases
+ 1. Check the cudnn and cuda and gcc versions, cudnn5 and cuda7.5 and gcc4.8/4.9 are preferred. if gcc is 5.0, then downgrade it.
+ If cudnn is missing or not match with the wheel version, you can download the correct version of cudnn into ~/local/cudnn/ and
+
+ $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/cudnn/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
+
+ 2. If it is the problem related to protobuf, then download the newest whl files which have [compiled protobuf and openblas into the whl](https://issues.apache.org/jira/browse/SINGA-255) file of PySINGA.
+ Or you can install protobuf from source into a local folder, say ~/local/;
+ Decompress the tar file, and then
+
+ $ ./configure --prefix=/home/<yourname>local
+ $ make && make install
+ $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
+ $ source ~/.bashrc
+
+ 3. If it cannot find other libs including python, then create virtual env using pip or conda;
+
+ 4. If it is not caused by the above reasons, go to the folder of `_singa_wrap.so`,
+
+ $ python
+ >> import importlib
+ >> importlib.import_module('_singa_wrap')
+
+ Check the error message. For example, if the numpy version mismatches, the error message would be,
+
+ RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa
+
+ Then you need to upgrade the numpy.
+
+
+* Q: Error from running `cmake ..`, which cannot find the dependent libraries.
+
+ A: If you haven't installed the libraries, install them. If you installed
+ the libraries in a folder that is outside of the system folder, e.g. /usr/local,
+ you need to export the following variables
+
+ $ export CMAKE_INCLUDE_PATH=<path to your header file folder>
+ $ export CMAKE_LIBRARY_PATH=<path to your lib file folder>
+
+
+* Q: Error from `make`, e.g. the linking phase
+
+ A: If your libraries are in other folders than system default paths, you need
+ to export the following varaibles
+
+ $ export LIBRARY_PATH=<path to your lib file folder>
+ $ export LD_LIBRARY_PATH=<path to your lib file folder>
+
+
+* Q: Error from header files, e.g. 'cblas.h no such file or directory exists'
+
+ A: You need to include the folder of the cblas.h into CPLUS_INCLUDE_PATH,
+ e.g.,
+
+ $ export CPLUS_INCLUDE_PATH=/opt/OpenBLAS/include:$CPLUS_INCLUDE_PATH
+
+* Q:While compiling SINGA, I get error `SSE2 instruction set not enabled`
+
+ A:You can try following command:
+
+ $ make CFLAGS='-msse2' CXXFLAGS='-msse2'
+
+* Q:I get `ImportError: cannot import name enum_type_wrapper` from google.protobuf.internal when I try to import .py files.
+
+ A: You need to install the python binding of protobuf, which could be installed via
+
+ $ sudo apt-get install protobuf
+
+ or from source
+
+ $ cd /PROTOBUF/SOURCE/FOLDER
+ $ cd python
+ $ python setup.py build
+ $ python setup.py install
+
+* Q: When I build OpenBLAS from source, I am told that I need a Fortran compiler.
+
+ A: You can compile OpenBLAS by
+
+ $ make ONLY_CBLAS=1
+
+ or install it using
+
+ $ sudo apt-get install libopenblas-dev
+
+* Q: When I build protocol buffer, it reports that GLIBC++_3.4.20 not found in /usr/lib64/libstdc++.so.6.
+
+ A: This means the linker found libstdc++.so.6 but that library
+ belongs to an older version of GCC than was used to compile and link the
+ program. The program depends on code defined in
+ the newer libstdc++ that belongs to the newer version of GCC, so the linker
+ must be told how to find the newer libstdc++ shared library.
+ The simplest way to fix this is to find the correct libstdc++ and export it to
+ LD_LIBRARY_PATH. For example, if GLIBC++_3.4.20 is listed in the output of the
+ following command,
+
+ $ strings /usr/local/lib64/libstdc++.so.6|grep GLIBC++
+
+ then you just set your environment variable as
+
+ $ export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
+
+* Q: When I build glog, it reports that "src/logging_unittest.cc:83:20: error: ‘gflags’ is not a namespace-name"
+
+ A: It maybe that you have installed gflags with a different namespace such as "google". so glog can't find 'gflags' namespace.
+ Because it is not necessary to have gflags to build glog. So you can change the configure.ac file to ignore gflags.
+
+ 1. cd to glog src directory
+ 2. change line 125 of configure.ac to "AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=0, ac_cv_have_libgflags=0)"
+ 3. autoreconf
+
+ After this, you can build glog again.
+
+* Q: When using virtual environment, everytime I run pip install, it would reinstall numpy. However, the numpy would not be used when I `import numpy`
+
+ A: It could be caused by the `PYTHONPATH` which should be set to empty when you are using virtual environment to avoid the conflicts with the path of
+ the virtual environment.
+
+* Q: When compiling PySINGA from source, there is a compilation error due to the missing of <numpy/objectarray.h>
+
+ A: Please install numpy and export the path of numpy header files as
+
+ $ export CPLUS_INCLUDE_PATH=`python -c "import numpy; print numpy.get_include()"`:$CPLUS_INCLUDE_PATH
+
+* Q: When I run PySINGA in Mac OS X, I got the error "Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6"
+
+ A: This error happens typically when you have multiple version of Python on your system and you installed SINGA via pip (this problem is resolved for installation via conda),
+ e.g, the one comes with the OS and the one installed by Homebrew. The Python linked by PySINGA must be the same as the Python interpreter.
+ You can check your interpreter by `which python` and check the Python linked by PySINGA via `otool -L <path to _singa_wrap.so>`.
+ To fix this error, compile SINGA with the correct version of Python.
+ In particular, if you build PySINGA from source, you need to specify the paths when invoking [cmake](http://stackoverflow.com/questions/15291500/i-have-2-versions-of-python-installed-but-cmake-is-using-older-version-how-do)
+
+ $ cmake -DPYTHON_LIBRARY=`python-config --prefix`/lib/libpython2.7.dylib -DPYTHON_INCLUDE_DIR=`python-config --prefix`/include/python2.7/ ..
+
+ If installed PySINGA from binary packages, e.g. debian or wheel, then you need to change the python interpreter, e.g., reset the $PATH to put the correct path of Python at the front position.
diff --git a/_sources/docs/layer.rst.txt b/_sources/docs/layer.rst.txt
new file mode 100644
index 0000000..1a576f1
--- /dev/null
+++ b/_sources/docs/layer.rst.txt
@@ -0,0 +1,32 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Layer
+======
+
+Python API
+-----------
+.. automodule:: singa.layer
+ :members:
+ :member-order: bysource
+ :show-inheritance:
+ :undoc-members:
+
+
+CPP API
+--------
diff --git a/_sources/docs/loss.rst.txt b/_sources/docs/loss.rst.txt
new file mode 100644
index 0000000..18c587a
--- /dev/null
+++ b/_sources/docs/loss.rst.txt
@@ -0,0 +1,25 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Loss
+=========
+
+
+.. automodule:: singa.loss
+ :members:
+ :show-inheritance:
diff --git a/_sources/docs/metric.rst.txt b/_sources/docs/metric.rst.txt
new file mode 100644
index 0000000..20a7144
--- /dev/null
+++ b/_sources/docs/metric.rst.txt
@@ -0,0 +1,26 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Metric
+=========
+
+
+.. automodule:: singa.metric
+ :members:
+ :show-inheritance:
+ :member-order: bysource
diff --git a/_sources/docs/model_zoo/caffe/README.md.txt b/_sources/docs/model_zoo/caffe/README.md.txt
new file mode 100644
index 0000000..92c9325
--- /dev/null
+++ b/_sources/docs/model_zoo/caffe/README.md.txt
@@ -0,0 +1,32 @@
+# Use parameters pre-trained from Caffe in SINGA
+
+In this example, we use SINGA to load the VGG parameters trained by Caffe to do image classification.
+
+## Run this example
+You can run this example by simply executing `run.sh vgg16` or `run.sh vgg19`
+The script does the following work.
+
+### Obtain the Caffe model
+* Download caffe model prototxt and parameter binary file.
+* Currently we only support the latest caffe format, if your model is in
+ previous version of caffe, please update it to current format.(This is
+ supported by caffe)
+* After updating, we can obtain two files, i.e., the prototxt and parameter
+ binary file.
+
+### Prepare test images
+A few sample images are downloaded into the `test` folder.
+
+### Predict
+The `predict.py` script creates the VGG model and read the parameters,
+
+ usage: predict.py [-h] model_txt model_bin imgclass
+
+where `imgclass` refers to the synsets of imagenet dataset for vgg models.
+You can start the prediction program by executing the following command:
+
+ python predict.py vgg16.prototxt vgg16.caffemodel synset_words.txt
+
+Then you type in the image path, and the program would output the top-5 labels.
+
+More Caffe models would be tested soon.
diff --git a/_sources/docs/model_zoo/char-rnn/README.md.txt b/_sources/docs/model_zoo/char-rnn/README.md.txt
new file mode 100644
index 0000000..dcaf652
--- /dev/null
+++ b/_sources/docs/model_zoo/char-rnn/README.md.txt
@@ -0,0 +1,33 @@
+# Train Char-RNN over plain text
+
+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 [char-rnn](https://github.com/karpathy/char-rnn) 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 to
+generate meaningful code from the model.
+
+
+## Instructions
+
+* Compile and install SINGA. Currently the RNN implementation depends on Cudnn with version >= 5.05.
+
+* Prepare the dataset. Download the [kernel source code](http://cs.stanford.edu/people/karpathy/char-rnn/).
+Other plain text files can also be used.
+
+* Start the training,
+
+ python train.py linux_input.txt
+
+ Some hyper-parameters could be set through command line,
+
+ python train.py -h
+
+* Sample characters from the model by providing the number of characters to sample and the seed string.
+
+ python sample.py 'model.bin' 100 --seed '#include <std'
+
+ Please replace 'model.bin' with the path to one of the checkpoint paths.
+
diff --git a/_sources/docs/model_zoo/cifar10/README.md.txt b/_sources/docs/model_zoo/cifar10/README.md.txt
new file mode 100644
index 0000000..65df5e6
--- /dev/null
+++ b/_sources/docs/model_zoo/cifar10/README.md.txt
@@ -0,0 +1,76 @@
+# Train CNN over Cifar-10
+
+
+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,
+
+1. [AlexNet](https://code.google.com/p/cuda-convnet/source/browse/trunk/example-layers/layers-18pct.cfg)
+the best validation accuracy (without data augmentation) we achieved was about 82%.
+
+2. [VGGNet](http://torch.ch/blog/2015/07/30/cifar.html), the best validation accuracy (without data augmentation) we achieved was about 89%.
+3. [ResNet](https://github.com/facebook/fb.resnet.torch), the best validation accuracy (without data augmentation) we achieved was about 83%.
+4. [Alexnet from Caffe](https://github.com/BVLC/caffe/tree/master/examples/cifar10), SINGA is able to convert model from Caffe seamlessly.
+
+
+## Instructions
+
+
+### SINGA installation
+
+Users can compile and install SINGA from source or install the Python version.
+The code can ran on both CPU and GPU. For GPU training, CUDA and CUDNN (V4 or V5)
+are required. Please refer to the installation page for detailed instructions.
+
+### Data preparation
+
+The binary Cifar-10 dataset could be downloaded by
+
+ python download_data.py bin
+
+The Python version could be downloaded by
+
+ python download_data.py py
+
+### Training
+
+There are four training programs
+
+1. train.py. The following command would train the VGG model using the python
+version of the Cifar-10 dataset in 'cifar-10-batches-py' folder.
+
+ python train.py vgg cifar-10-batches-py
+
+ To train other models, please replace 'vgg' to 'alexnet', 'resnet' or 'caffe',
+ where 'caffe' refers to the alexnet model converted from Caffe. By default
+ the training would run on a CudaGPU device, to run it on CppCPU, add an additional
+ argument
+
+ python train.py vgg cifar-10-batches-py --use_cpu
+
+2. alexnet.cc. It trains the AlexNet model using the CPP APIs on a CudaGPU,
+
+ ./run.sh
+
+3. alexnet-parallel.cc. It trains the AlexNet model using the CPP APIs on two CudaGPU devices.
+The two devices run synchronously to compute the gradients of the mode parameters, which are
+averaged on the host CPU device and then be applied to update the parameters.
+
+ ./run-parallel.sh
+
+4. vgg-parallel.cc. It trains the VGG model using the CPP APIs on two CudaGPU devices similar to alexnet-parallel.cc.
+
+### Prediction
+
+predict.py includes the prediction function
+
+ def predict(net, images, dev, topk=5)
+
+The net is created by loading the previously trained model; Images consist of
+a numpy array of images (one row per image); dev is the training device, e.g.,
+a CudaGPU device or the host CppCPU device; It returns the topk labels for each instance.
+
+The predict.py file's main function provides an example of using the pre-trained alexnet model to do prediction for new images.
+The 'model.bin' file generated by the training program should be placed at the cifar10 folder to run
+
+ python predict.py
diff --git a/_sources/docs/model_zoo/examples/caffe/README.md.txt b/_sources/docs/model_zoo/examples/caffe/README.md.txt
new file mode 100644
index 0000000..6ac0fd0
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/caffe/README.md.txt
@@ -0,0 +1,50 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Use parameters pre-trained from Caffe in SINGA
+
+In this example, we use SINGA to load the VGG parameters trained by Caffe to do image classification.
+
+## Run this example
+You can run this example by simply executing `run.sh vgg16` or `run.sh vgg19`
+The script does the following work.
+
+### Obtain the Caffe model
+* Download caffe model prototxt and parameter binary file.
+* Currently we only support the latest caffe format, if your model is in
+ previous version of caffe, please update it to current format.(This is
+ supported by caffe)
+* After updating, we can obtain two files, i.e., the prototxt and parameter
+ binary file.
+
+### Prepare test images
+A few sample images are downloaded into the `test` folder.
+
+### Predict
+The `predict.py` script creates the VGG model and read the parameters,
+
+ usage: predict.py [-h] model_txt model_bin imgclass
+
+where `imgclass` refers to the synsets of imagenet dataset for vgg models.
+You can start the prediction program by executing the following command:
+
+ python predict.py vgg16.prototxt vgg16.caffemodel synset_words.txt
+
+Then you type in the image path, and the program would output the top-5 labels.
+
+More Caffe models would be tested soon.
diff --git a/_sources/docs/model_zoo/examples/char-rnn/README.md.txt b/_sources/docs/model_zoo/examples/char-rnn/README.md.txt
new file mode 100644
index 0000000..6a3a9bd
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/char-rnn/README.md.txt
@@ -0,0 +1,50 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Train Char-RNN over plain text
+
+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 [char-rnn](https://github.com/karpathy/char-rnn) 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 to
+generate meaningful code from the model.
+
+
+## Instructions
+
+* Compile and install SINGA. Currently the RNN implementation depends on Cudnn with version >= 5.05.
+
+* Prepare the dataset. Download the [kernel source code](http://cs.stanford.edu/people/karpathy/char-rnn/).
+Other plain text files can also be used.
+
+* Start the training,
+
+ python train.py linux_input.txt
+
+ Some hyper-parameters could be set through command line,
+
+ python train.py -h
+
+* Sample characters from the model by providing the number of characters to sample and the seed string.
+
+ python sample.py 'model.bin' 100 --seed '#include <std'
+
+ Please replace 'model.bin' with the path to one of the checkpoint paths.
diff --git a/_sources/docs/model_zoo/examples/cifar10/README.md.txt b/_sources/docs/model_zoo/examples/cifar10/README.md.txt
new file mode 100644
index 0000000..7bb63e7
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/cifar10/README.md.txt
@@ -0,0 +1,94 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Train CNN over Cifar-10
+
+
+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,
+
+1. [AlexNet](https://code.google.com/p/cuda-convnet/source/browse/trunk/example-layers/layers-18pct.cfg)
+the best validation accuracy (without data augmentation) we achieved was about 82%.
+
+2. [VGGNet](http://torch.ch/blog/2015/07/30/cifar.html), the best validation accuracy (without data augmentation) we achieved was about 89%.
+3. [ResNet](https://github.com/facebook/fb.resnet.torch), the best validation accuracy (without data augmentation) we achieved was about 83%.
+4. [Alexnet from Caffe](https://github.com/BVLC/caffe/tree/master/examples/cifar10), SINGA is able to convert model from Caffe seamlessly.
+
+
+## Instructions
+
+
+### SINGA installation
+
+Users can compile and install SINGA from source or install the Python version.
+The code can ran on both CPU and GPU. For GPU training, CUDA and CUDNN (V4 or V5)
+are required. Please refer to the installation page for detailed instructions.
+
+### Data preparation
+
+The binary Cifar-10 dataset could be downloaded by
+
+ python download_data.py bin
+
+The Python version could be downloaded by
+
+ python download_data.py py
+
+### Training
+
+There are four training programs
+
+1. train.py. The following command would train the VGG model using the python
+version of the Cifar-10 dataset in 'cifar-10-batches-py' folder.
+
+ python train.py vgg cifar-10-batches-py
+
+ To train other models, please replace 'vgg' to 'alexnet', 'resnet' or 'caffe',
+ where 'caffe' refers to the alexnet model converted from Caffe. By default
+ the training would run on a CudaGPU device, to run it on CppCPU, add an additional
+ argument
+
+ python train.py vgg cifar-10-batches-py --use_cpu
+
+2. alexnet.cc. It trains the AlexNet model using the CPP APIs on a CudaGPU,
+
+ ./run.sh
+
+3. alexnet-parallel.cc. It trains the AlexNet model using the CPP APIs on two CudaGPU devices.
+The two devices run synchronously to compute the gradients of the mode parameters, which are
+averaged on the host CPU device and then be applied to update the parameters.
+
+ ./run-parallel.sh
+
+4. vgg-parallel.cc. It trains the VGG model using the CPP APIs on two CudaGPU devices similar to alexnet-parallel.cc.
+
+### Prediction
+
+predict.py includes the prediction function
+
+ def predict(net, images, dev, topk=5)
+
+The net is created by loading the previously trained model; Images consist of
+a numpy array of images (one row per image); dev is the training device, e.g.,
+a CudaGPU device or the host CppCPU device; It returns the topk labels for each instance.
+
+The predict.py file's main function provides an example of using the pre-trained alexnet model to do prediction for new images.
+The 'model.bin' file generated by the training program should be placed at the cifar10 folder to run
+
+ python predict.py
diff --git a/_sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt b/_sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt
new file mode 100644
index 0000000..c3d261e
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/imagenet/alexnet/README.md.txt
@@ -0,0 +1,76 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Train AlexNet over ImageNet
+
+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 [deep CNN model](http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks)
+to do image classification against the ImageNet dataset.
+
+## Instructions
+
+### Compile SINGA
+
+Please compile SINGA with CUDA, CUDNN and OpenCV. You can manually turn on the
+options in CMakeLists.txt or run `ccmake ..` in build/ folder.
+
+We have tested CUDNN V4 and V5 (V5 requires CUDA 7.5)
+
+### Data download
+* Please refer to step1-3 on [Instructions to create ImageNet 2012 data](https://github.com/amd/OpenCL-caffe/wiki/Instructions-to-create-ImageNet-2012-data)
+ to download and decompress the data.
+* You can download the training and validation list by
+ [get_ilsvrc_aux.sh](https://github.com/BVLC/caffe/blob/master/data/ilsvrc12/get_ilsvrc_aux.sh)
+ or from [Imagenet](http://www.image-net.org/download-images).
+
+### Data preprocessing
+* Assuming you have downloaded the data and the list.
+ Now we should transform the data into binary files. You can run:
+
+ sh create_data.sh
+
+ The script will generate a test file(`test.bin`), a mean file(`mean.bin`) and
+ several training files(`trainX.bin`) in the specified output folder.
+* You can also change the parameters in `create_data.sh`.
+ + `-trainlist <file>`: the file of training list;
+ + `-trainfolder <folder>`: the folder of training images;
+ + `-testlist <file>`: the file of test list;
+ + `-testfolder <floder>`: the folder of test images;
+ + `-outdata <folder>`: the folder to save output files, including mean, training and test files.
+ The script will generate these files in the specified folder;
+ + `-filesize <int>`: number of training images that stores in each binary file.
+
+### Training
+* After preparing data, you can run the following command to train the Alexnet model.
+
+ sh run.sh
+
+* You may change the parameters in `run.sh`.
+ + `-epoch <int>`: number of epoch to be trained, default is 90;
+ + `-lr <float>`: base learning rate, the learning rate will decrease each 20 epochs,
+ more specifically, `lr = lr * exp(0.1 * (epoch / 20))`;
+ + `-batchsize <int>`: batchsize, it should be changed regarding to your memory;
+ + `-filesize <int>`: number of training images that stores in each binary file, it is the
+ same as the `filesize` in data preprocessing;
+ + `-ntrain <int>`: number of training images;
+ + `-ntest <int>`: number of test images;
+ + `-data <folder>`: the folder which stores the binary files, it is exactly the output
+ folder in data preprocessing step;
+ + `-pfreq <int>`: the frequency(in batch) of printing current model status(loss and accuracy);
+ + `-nthreads <int>`: the number of threads to load data which feed to the model.
diff --git a/_sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt b/_sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt
new file mode 100644
index 0000000..5238ce9
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/imagenet/densenet/README.md.txt
@@ -0,0 +1,63 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+# Image Classification using DenseNet
+
+
+In this example, we convert DenseNet on [PyTorch](https://github.com/pytorch/vision/blob/master/torchvision/models/densenet.py)
+to SINGA for image classification.
+
+## Instructions
+
+* Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,
+
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-121.tar.gz
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/synset_words.txt
+ $ tar xvf densenet-121.tar.gz
+
+* Usage
+
+ $ python serve.py -h
+
+* Example
+
+ # use cpu
+ $ python serve.py --use_cpu --parameter_file densenet-121.pickle --depth 121 &
+ # use gpu
+ $ python serve.py --parameter_file densenet-121.pickle --depth 121 &
+
+ The parameter files for the following model and depth configuration pairs are provided:
+ [121](https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-121.tar.gz), [169](https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-169.tar.gz), [201](https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-201.tar.gz), [161](https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-161.tar.gz)
+
+* Submit images for classification
+
+ $ curl -i -F image=@image1.jpg http://localhost:9999/api
+ $ curl -i -F image=@image2.jpg http://localhost:9999/api
+ $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
+
+## Details
+
+The parameter files were converted from the pytorch via the convert.py program.
+
+Usage:
+
+ $ python convert.py -h
diff --git a/_sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt b/_sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt
new file mode 100644
index 0000000..a1ea8bd
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/imagenet/googlenet/README.md.txt
@@ -0,0 +1,77 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+# Image Classification using GoogleNet
+
+
+In this example, we convert GoogleNet trained on Caffe to SINGA for image classification. Tested on [SINGA commit](8c990f7da2de220e8a012c6a8ecc897dc7532744) with [the parameters](https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz).
+
+## Instructions
+
+* Download the parameter checkpoint file into this folder
+
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
+ $ tar xvf bvlc_googlenet.tar.gz
+
+* Run the program
+
+ # use cpu
+ $ python serve.py -C &
+ # use gpu
+ $ python serve.py &
+
+* Submit images for classification
+
+ $ curl -i -F image=@image1.jpg http://localhost:9999/api
+ $ curl -i -F image=@image2.jpg http://localhost:9999/api
+ $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
+
+## Details
+
+We first extract the parameter values from [Caffe's checkpoint file](http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel) into a pickle version
+After downloading the checkpoint file into `caffe_root/python` folder, run the following script
+
+ # to be executed within caffe_root/python folder
+ import caffe
+ import numpy as np
+ import cPickle as pickle
+
+ model_def = '../models/bvlc_googlenet/deploy.prototxt'
+ weight = 'bvlc_googlenet.caffemodel' # must be downloaded at first
+ net = caffe.Net(model_def, weight, caffe.TEST)
+
+ params = {}
+ for layer_name in net.params.keys():
+ weights=np.copy(net.params[layer_name][0].data)
+ bias=np.copy(net.params[layer_name][1].data)
+ params[layer_name+'_weight']=weights
+ params[layer_name+'_bias']=bias
+ print layer_name, weights.shape, bias.shape
+
+ with open('bvlc_googlenet.pickle', 'wb') as fd:
+ pickle.dump(params, fd)
+
+Then we construct the GoogleNet using SINGA's FeedForwardNet structure.
+Note that we added a EndPadding layer to resolve the issue from discrepancy
+of the rounding strategy of the pooling layer between Caffe (ceil) and cuDNN (floor).
+Only the MaxPooling layers outside inception blocks have this problem.
+Refer to [this](http://joelouismarino.github.io/blog_posts/blog_googlenet_keras.html) for more detials.
diff --git a/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt b/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
new file mode 100644
index 0000000..54aaaa1
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/imagenet/inception/README.md.txt
@@ -0,0 +1,53 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Image Classification using Inception V4
+
+In this example, we convert Inception V4 trained on Tensorflow to SINGA for image classification. Tested on SINGA version 1.1.1 with [parameters pretrained by tensorflow](https://s3-ap-southeast-1.amazonaws.com/dlfile/inception_v4.tar.gz).
+
+## Instructions
+
+* Download the parameter checkpoint file
+
+ $ wget
+ $ tar xvf inception_v4.tar.gz
+
+* Download [synset_word.txt](https://github.com/BVLC/caffe/blob/master/data/ilsvrc12/get_ilsvrc_aux.sh) file.
+
+* Run the program
+
+ # use cpu
+ $ python serve.py -C &
+ # use gpu
+ $ python serve.py &
+
+* Submit images for classification
+
+ $ curl -i -F image=@image1.jpg http://localhost:9999/api
+ $ curl -i -F image=@image2.jpg http://localhost:9999/api
+ $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
+
+## Details
+
+We first extract the parameter values from [Tensorflow's checkpoint file](http://download.tensorflow.org/models/inception_v4_2016_09_09.tar.gz) into a pickle version.
+After downloading and decompressing the checkpoint file, run the following script
+
+ $ python convert.py --file_name=inception_v4.ckpt
diff --git a/_sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt b/_sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt
new file mode 100644
index 0000000..eb317b8
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/imagenet/resnet/README.md.txt
@@ -0,0 +1,66 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+# Image Classification using Residual Networks
+
+
+In this example, we convert Residual Networks trained on [Torch](https://github.com/facebook/fb.resnet.torch) to SINGA for image classification. Tested on [SINGA commit] with the [parameters pretrained by Torch](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz)
+
+## Instructions
+
+* Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,
+
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/synset_words.txt
+ $ tar xvf resnet-18.tar.gz
+
+* Usage
+
+ $ python serve.py -h
+
+* Example
+
+ # use cpu
+ $ python serve.py --use_cpu --parameter_file resnet-18.pickle --model resnet --depth 18 &
+ # use gpu
+ $ python serve.py --parameter_file resnet-18.pickle --model resnet --depth 18 &
+
+ The parameter files for the following model and depth configuration pairs are provided:
+ * resnet (original resnet), [18](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz)|[34](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-34.tar.gz)|[101](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-101.tar.gz)|[152](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-152.tar.gz)
+ * addbn (resnet with a batch normalization layer after the addition), [50](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-50.tar.gz)
+ * wrn (wide resnet), [50](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/wrn-50-2.tar.gz)
+ * preact (resnet with pre-activation) [200](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-200.tar.gz)
+
+* Submit images for classification
+
+ $ curl -i -F image=@image1.jpg http://localhost:9999/api
+ $ curl -i -F image=@image2.jpg http://localhost:9999/api
+ $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
+
+## Details
+
+The parameter files were extracted from the original [torch files](https://github.com/facebook/fb.resnet.torch/tree/master/pretrained) via
+the convert.py program.
+
+Usage:
+
+ $ python convert.py -h
diff --git a/_sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt b/_sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt
new file mode 100644
index 0000000..dbf7ccd
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/imagenet/vgg/README.md.txt
@@ -0,0 +1,63 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Image Classification using VGG
+
+
+In this example, we convert VGG on [PyTorch](https://github.com/pytorch/vision/blob/master/torchvision/models/vgg.py)
+to SINGA for image classification.
+
+## Instructions
+
+* Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,
+
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg11.tar.gz
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/synset_words.txt
+ $ tar xvf vgg11.tar.gz
+
+* Usage
+
+ $ python serve.py -h
+
+* Example
+
+ # use cpu
+ $ python serve.py --use_cpu --parameter_file vgg11.pickle --depth 11 &
+ # use gpu
+ $ python serve.py --parameter_file vgg11.pickle --depth 11 &
+
+ The parameter files for the following model and depth configuration pairs are provided:
+ * Without batch-normalization, [11](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg11.tar.gz), [13](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg13.tar.gz), [16](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg16.tar.gz), [19](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg19.tar.gz)
+ * With batch-normalization, [11](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg11_bn.tar.gz), [13](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg13_bn.tar.gz), [16](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg16_bn.tar.gz), [19](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg19_bn.tar.gz)
+
+* Submit images for classification
+
+ $ curl -i -F image=@image1.jpg http://localhost:9999/api
+ $ curl -i -F image=@image2.jpg http://localhost:9999/api
+ $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
+
+## Details
+
+The parameter files were converted from the pytorch via the convert.py program.
+
+Usage:
+
+ $ python convert.py -h
diff --git a/_sources/docs/model_zoo/examples/index.rst.txt b/_sources/docs/model_zoo/examples/index.rst.txt
new file mode 100644
index 0000000..fca66f9
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/index.rst.txt
@@ -0,0 +1,33 @@
+..
+.. 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 required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+..
+
+Model Zoo
+=========
+
+.. toctree::
+
+ cifar10/README
+ char-rnn/README
+ mnist/README
+ imagenet/alexnet/README
+ imagenet/densenet/README
+ imagenet/googlenet/README
+ imagenet/inception/README
+ imagenet/resnet/README
+ imagenet/vgg/README
+
diff --git a/_sources/docs/model_zoo/examples/mnist/README.md.txt b/_sources/docs/model_zoo/examples/mnist/README.md.txt
new file mode 100644
index 0000000..6d91380
--- /dev/null
+++ b/_sources/docs/model_zoo/examples/mnist/README.md.txt
@@ -0,0 +1,36 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Train a RBM model against MNIST dataset
+
+This example is to train an RBM model using the
+MNIST dataset. The RBM model and its hyper-parameters are set following
+[Hinton's paper](http://www.cs.toronto.edu/~hinton/science.pdf)
+
+## Running instructions
+
+1. Download the pre-processed [MNIST dataset](https://github.com/mnielsen/neural-networks-and-deep-learning/raw/master/data/mnist.pkl.gz)
+
+2. Start the training
+
+ python train.py mnist.pkl.gz
+
+By default the training code would run on CPU. To run it on a GPU card, please start
+the program with an additional argument
+
+ python train.py mnist.pkl.gz --use_gpu
diff --git a/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt b/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
new file mode 100644
index 0000000..be6797c
--- /dev/null
+++ b/_sources/docs/model_zoo/imagenet/alexnet/README.md.txt
@@ -0,0 +1,58 @@
+# Train AlexNet over ImageNet
+
+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 [deep CNN model](http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks)
+to do image classification against the ImageNet dataset.
+
+## Instructions
+
+### Compile SINGA
+
+Please compile SINGA with CUDA, CUDNN and OpenCV. You can manually turn on the
+options in CMakeLists.txt or run `ccmake ..` in build/ folder.
+
+We have tested CUDNN V4 and V5 (V5 requires CUDA 7.5)
+
+### Data download
+* Please refer to step1-3 on [Instructions to create ImageNet 2012 data](https://github.com/amd/OpenCL-caffe/wiki/Instructions-to-create-ImageNet-2012-data)
+ to download and decompress the data.
+* You can download the training and validation list by
+ [get_ilsvrc_aux.sh](https://github.com/BVLC/caffe/blob/master/data/ilsvrc12/get_ilsvrc_aux.sh)
+ or from [Imagenet](http://www.image-net.org/download-images).
+
+### Data preprocessing
+* Assuming you have downloaded the data and the list.
+ Now we should transform the data into binary files. You can run:
+
+ sh create_data.sh
+
+ The script will generate a test file(`test.bin`), a mean file(`mean.bin`) and
+ several training files(`trainX.bin`) in the specified output folder.
+* You can also change the parameters in `create_data.sh`.
+ + `-trainlist <file>`: the file of training list;
+ + `-trainfolder <folder>`: the folder of training images;
+ + `-testlist <file>`: the file of test list;
+ + `-testfolder <floder>`: the folder of test images;
+ + `-outdata <folder>`: the folder to save output files, including mean, training and test files.
+ The script will generate these files in the specified folder;
+ + `-filesize <int>`: number of training images that stores in each binary file.
+
+### Training
+* After preparing data, you can run the following command to train the Alexnet model.
+
+ sh run.sh
+
+* You may change the parameters in `run.sh`.
+ + `-epoch <int>`: number of epoch to be trained, default is 90;
+ + `-lr <float>`: base learning rate, the learning rate will decrease each 20 epochs,
+ more specifically, `lr = lr * exp(0.1 * (epoch / 20))`;
+ + `-batchsize <int>`: batchsize, it should be changed regarding to your memory;
+ + `-filesize <int>`: number of training images that stores in each binary file, it is the
+ same as the `filesize` in data preprocessing;
+ + `-ntrain <int>`: number of training images;
+ + `-ntest <int>`: number of test images;
+ + `-data <folder>`: the folder which stores the binary files, it is exactly the output
+ folder in data preprocessing step;
+ + `-pfreq <int>`: the frequency(in batch) of printing current model status(loss and accuracy);
+ + `-nthreads <int>`: the number of threads to load data which feed to the model.
diff --git a/_sources/docs/model_zoo/imagenet/densenet/README.md.txt b/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
new file mode 100644
index 0000000..1ddef0c
--- /dev/null
+++ b/_sources/docs/model_zoo/imagenet/densenet/README.md.txt
@@ -0,0 +1,68 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+---
+name: DenseNet models on ImageNet
+SINGA version: 1.1.1
+SINGA commit:
+license: https://github.com/pytorch/vision/blob/master/torchvision/models/densenet.py
+---
+
+# Image Classification using DenseNet
+
+
+In this example, we convert DenseNet on [PyTorch](https://github.com/pytorch/vision/blob/master/torchvision/models/densenet.py)
+to SINGA for image classification.
+
+## Instructions
+
+* Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,
+
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-121.tar.gz
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/synset_words.txt
+ $ tar xvf densenet-121.tar.gz
+
+* Usage
+
+ $ python serve.py -h
+
+* Example
+
+ # use cpu
+ $ python serve.py --use_cpu --parameter_file densenet-121.pickle --depth 121 &
+ # use gpu
+ $ python serve.py --parameter_file densenet-121.pickle --depth 121 &
+
+ The parameter files for the following model and depth configuration pairs are provided:
+ [121](https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-121.tar.gz), [169](https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-169.tar.gz), [201](https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-201.tar.gz), [161](https://s3-ap-southeast-1.amazonaws.com/dlfile/densenet/densenet-161.tar.gz)
+
+* Submit images for classification
+
+ $ curl -i -F image=@image1.jpg http://localhost:9999/api
+ $ curl -i -F image=@image2.jpg http://localhost:9999/api
+ $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
+
+## Details
+
+The parameter files were converted from the pytorch via the convert.py program.
+
+Usage:
+
+ $ python convert.py -h
diff --git a/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt b/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
new file mode 100644
index 0000000..e597fc6
--- /dev/null
+++ b/_sources/docs/model_zoo/imagenet/googlenet/README.md.txt
@@ -0,0 +1,66 @@
+---
+name: GoogleNet on ImageNet
+SINGA version: 1.0.1
+SINGA commit: 8c990f7da2de220e8a012c6a8ecc897dc7532744
+parameter_url: https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
+parameter_sha1: 0a88e8948b1abca3badfd8d090d6be03f8d7655d
+license: unrestricted https://github.com/BVLC/caffe/tree/master/models/bvlc_googlenet
+---
+
+# Image Classification using GoogleNet
+
+
+In this example, we convert GoogleNet trained on Caffe to SINGA for image classification.
+
+## Instructions
+
+* Download the parameter checkpoint file into this folder
+
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/bvlc_googlenet.tar.gz
+ $ tar xvf bvlc_googlenet.tar.gz
+
+* Run the program
+
+ # use cpu
+ $ python serve.py -C &
+ # use gpu
+ $ python serve.py &
+
+* Submit images for classification
+
+ $ curl -i -F image=@image1.jpg http://localhost:9999/api
+ $ curl -i -F image=@image2.jpg http://localhost:9999/api
+ $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
+
+## Details
+
+We first extract the parameter values from [Caffe's checkpoint file](http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel) into a pickle version
+After downloading the checkpoint file into `caffe_root/python` folder, run the following script
+
+ # to be executed within caffe_root/python folder
+ import caffe
+ import numpy as np
+ import cPickle as pickle
+
+ model_def = '../models/bvlc_googlenet/deploy.prototxt'
+ weight = 'bvlc_googlenet.caffemodel' # must be downloaded at first
+ net = caffe.Net(model_def, weight, caffe.TEST)
+
+ params = {}
+ for layer_name in net.params.keys():
+ weights=np.copy(net.params[layer_name][0].data)
+ bias=np.copy(net.params[layer_name][1].data)
+ params[layer_name+'_weight']=weights
+ params[layer_name+'_bias']=bias
+ print layer_name, weights.shape, bias.shape
+
+ with open('bvlc_googlenet.pickle', 'wb') as fd:
+ pickle.dump(params, fd)
+
+Then we construct the GoogleNet using SINGA's FeedForwardNet structure.
+Note that we added a EndPadding layer to resolve the issue from discrepancy
+of the rounding strategy of the pooling layer between Caffe (ceil) and cuDNN (floor).
+Only the MaxPooling layers outside inception blocks have this problem.
+Refer to [this](http://joelouismarino.github.io/blog_posts/blog_googlenet_keras.html) for more detials.
diff --git a/_sources/docs/model_zoo/imagenet/inception/README.md.txt b/_sources/docs/model_zoo/imagenet/inception/README.md.txt
new file mode 100644
index 0000000..f129edc
--- /dev/null
+++ b/_sources/docs/model_zoo/imagenet/inception/README.md.txt
@@ -0,0 +1,43 @@
+---
+name: Inception V4 on ImageNet
+SINGA version: 1.1.1
+SINGA commit:
+parameter_url: https://s3-ap-southeast-1.amazonaws.com/dlfile/inception_v4.tar.gz
+parameter_sha1: 5fdd6f5d8af8fd10e7321d9b38bb87ef14e80d56
+license: https://github.com/tensorflow/models/tree/master/slim
+---
+
+# Image Classification using Inception V4
+
+In this example, we convert Inception V4 trained on Tensorflow to SINGA for image classification.
+
+## Instructions
+
+* Download the parameter checkpoint file
+
+ $ wget
+ $ tar xvf inception_v4.tar.gz
+
+* Download [synset_word.txt](https://github.com/BVLC/caffe/blob/master/data/ilsvrc12/get_ilsvrc_aux.sh) file.
+
+* Run the program
+
+ # use cpu
+ $ python serve.py -C &
+ # use gpu
+ $ python serve.py &
+
+* Submit images for classification
+
+ $ curl -i -F image=@image1.jpg http://localhost:9999/api
+ $ curl -i -F image=@image2.jpg http://localhost:9999/api
+ $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
+
+## Details
+
+We first extract the parameter values from [Tensorflow's checkpoint file](http://download.tensorflow.org/models/inception_v4_2016_09_09.tar.gz) into a pickle version.
+After downloading and decompressing the checkpoint file, run the following script
+
+ $ python convert.py --file_name=inception_v4.ckpt
diff --git a/_sources/docs/model_zoo/imagenet/resnet/README.md.txt b/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
new file mode 100644
index 0000000..9ea12cd
--- /dev/null
+++ b/_sources/docs/model_zoo/imagenet/resnet/README.md.txt
@@ -0,0 +1,54 @@
+---
+name: Resnets on ImageNet
+SINGA version: 1.1
+SINGA commit: 45ec92d8ffc1fa1385a9307fdf07e21da939ee2f
+parameter_url: https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz
+license: Apache V2, https://github.com/facebook/fb.resnet.torch/blob/master/LICENSE
+---
+
+# Image Classification using Residual Networks
+
+
+In this example, we convert Residual Networks trained on [Torch](https://github.com/facebook/fb.resnet.torch) to SINGA for image classification.
+
+## Instructions
+
+* Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,
+
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/synset_words.txt
+ $ tar xvf resnet-18.tar.gz
+
+* Usage
+
+ $ python serve.py -h
+
+* Example
+
+ # use cpu
+ $ python serve.py --use_cpu --parameter_file resnet-18.pickle --model resnet --depth 18 &
+ # use gpu
+ $ python serve.py --parameter_file resnet-18.pickle --model resnet --depth 18 &
+
+ The parameter files for the following model and depth configuration pairs are provided:
+ * resnet (original resnet), [18](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-18.tar.gz)|[34](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-34.tar.gz)|[101](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-101.tar.gz)|[152](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-152.tar.gz)
+ * addbn (resnet with a batch normalization layer after the addition), [50](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-50.tar.gz)
+ * wrn (wide resnet), [50](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/wrn-50-2.tar.gz)
+ * preact (resnet with pre-activation) [200](https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/resnet-200.tar.gz)
+
+* Submit images for classification
+
+ $ curl -i -F image=@image1.jpg http://localhost:9999/api
+ $ curl -i -F image=@image2.jpg http://localhost:9999/api
+ $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
+
+## Details
+
+The parameter files were extracted from the original [torch files](https://github.com/facebook/fb.resnet.torch/tree/master/pretrained) via
+the convert.py program.
+
+Usage:
+
+ $ python convert.py -h
diff --git a/_sources/docs/model_zoo/imagenet/vgg/README.md.txt b/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
new file mode 100644
index 0000000..2c99902
--- /dev/null
+++ b/_sources/docs/model_zoo/imagenet/vgg/README.md.txt
@@ -0,0 +1,51 @@
+---
+name: VGG models on ImageNet
+SINGA version: 1.1.1
+SINGA commit:
+license: https://github.com/pytorch/vision/blob/master/torchvision/models/vgg.py
+---
+
+# Image Classification using VGG
+
+
+In this example, we convert VGG on [PyTorch](https://github.com/pytorch/vision/blob/master/torchvision/models/vgg.py)
+to SINGA for image classification.
+
+## Instructions
+
+* Download one parameter checkpoint file (see below) and the synset word file of ImageNet into this folder, e.g.,
+
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg11.tar.gz
+ $ wget https://s3-ap-southeast-1.amazonaws.com/dlfile/resnet/synset_words.txt
+ $ tar xvf vgg11.tar.gz
+
+* Usage
+
+ $ python serve.py -h
+
+* Example
+
+ # use cpu
+ $ python serve.py --use_cpu --parameter_file vgg11.pickle --depth 11 --use_cpu &
+ # use gpu
+ $ python serve.py --use_cpu --parameter_file vgg11.pickle --depth 11 &
+
+ The parameter files for the following model and depth configuration pairs are provided:
+ * Without batch-normalization, [11](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg11.tar.gz), [13](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg13.tar.gz), [16](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg16.tar.gz), [19](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg19.tar.gz)
+ * With batch-normalization, [11](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg11_bn.tar.gz), [13](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg13_bn.tar.gz), [16](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg16_bn.tar.gz), [19](https://s3-ap-southeast-1.amazonaws.com/dlfile/vgg/vgg19_bn.tar.gz)
+
+* Submit images for classification
+
+ $ curl -i -F image=@image1.jpg http://localhost:9999/api
+ $ curl -i -F image=@image2.jpg http://localhost:9999/api
+ $ curl -i -F image=@image3.jpg http://localhost:9999/api
+
+image1.jpg, image2.jpg and image3.jpg should be downloaded before executing the above commands.
+
+## Details
+
+The parameter files were converted from the pytorch via the convert.py program.
+
+Usage:
+
+ $ python convert.py -h
diff --git a/_sources/docs/model_zoo/index.rst.txt b/_sources/docs/model_zoo/index.rst.txt
new file mode 100644
index 0000000..d08a557
--- /dev/null
+++ b/_sources/docs/model_zoo/index.rst.txt
@@ -0,0 +1,29 @@
+..
+.. 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 required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+..
+
+Model Zoo
+=========
+
+.. toctree::
+
+ cifar10/README
+ char-rnn/README
+ imagenet/alexnet/README
+ imagenet/googlenet/README
+
+
diff --git a/_sources/docs/model_zoo/mnist/README.md.txt b/_sources/docs/model_zoo/mnist/README.md.txt
new file mode 100644
index 0000000..60a85e0
--- /dev/null
+++ b/_sources/docs/model_zoo/mnist/README.md.txt
@@ -0,0 +1,18 @@
+# Train a RBM model against MNIST dataset
+
+This example is to train an RBM model using the
+MNIST dataset. The RBM model and its hyper-parameters are set following
+[Hinton's paper](http://www.cs.toronto.edu/~hinton/science.pdf)
+
+## Running instructions
+
+1. Download the pre-processed [MNIST dataset](https://github.com/mnielsen/neural-networks-and-deep-learning/raw/master/data/mnist.pkl.gz)
+
+2. Start the training
+
+ python train.py mnist.pkl.gz
+
+By default the training code would run on CPU. To run it on a GPU card, please start
+the program with an additional argument
+
+ python train.py mnist.pkl.gz --use_gpu
diff --git a/_sources/docs/net.rst.txt b/_sources/docs/net.rst.txt
new file mode 100644
index 0000000..7aff364
--- /dev/null
+++ b/_sources/docs/net.rst.txt
@@ -0,0 +1,26 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+FeedForward Net
+===============
+
+.. automodule:: singa.net
+ :members:
+ :member-order: bysource
+ :show-inheritance:
+ :undoc-members:
diff --git a/_sources/docs/neural-net.md.txt b/_sources/docs/neural-net.md.txt
new file mode 100644
index 0000000..e59a20c
--- /dev/null
+++ b/_sources/docs/neural-net.md.txt
@@ -0,0 +1,344 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Neural Net
+
+
+`NeuralNet` in SINGA represents an instance of user's neural net model. As the
+neural net typically consists of a set of layers, `NeuralNet` comprises
+a set of unidirectionally connected [Layer](layer.html)s.
+This page describes how to convert an user's neural net into
+the configuration of `NeuralNet`.
+
+<img src="../_static/images/model-category.png" align="center" width="200px"/>
+<span><strong>Figure 1 - Categorization of popular deep learning models.</strong></span>
+
+## Net structure configuration
+
+Users configure the `NeuralNet` by listing all layers of the neural net and
+specifying each layer's source layer names. Popular deep learning models can be
+categorized as Figure 1. The subsequent sections give details for each
+category.
+
+### Feed-forward models
+
+<div align = "left">
+<img src="../_static/images/mlp-net.png" align="center" width="200px"/>
+<span><strong>Figure 2 - Net structure of a MLP model.</strong></span>
+</div>
+
+Feed-forward models, e.g., CNN and MLP, can easily get configured as their layer
+connections are undirected without circles. The
+configuration for the MLP model shown in Figure 1 is as follows,
+
+ net {
+ layer {
+ name : 'data"
+ type : kData
+ }
+ layer {
+ name : 'image"
+ type : kImage
+ srclayer: 'data'
+ }
+ layer {
+ name : 'label"
+ type : kLabel
+ srclayer: 'data'
+ }
+ layer {
+ name : 'hidden"
+ type : kHidden
+ srclayer: 'image'
+ }
+ layer {
+ name : 'softmax"
+ type : kSoftmaxLoss
+ srclayer: 'hidden'
+ srclayer: 'label'
+ }
+ }
+
+### Energy models
+
+<img src="../_static/images/rbm-rnn.png" align="center" width="500px"/>
+<span><strong>Figure 3 - Convert connections in RBM and RNN.</strong></span>
+
+
+For energy models including RBM, DBM,
+etc., their connections are undirected (i.e., Category B). To represent these models using
+`NeuralNet`, users can simply replace each connection with two directed
+connections, as shown in Figure 3a. In other words, for each pair of connected layers, their source
+layer field should include each other's name.
+The full [RBM example](rbm.html) has
+detailed neural net configuration for a RBM model, which looks like
+
+ net {
+ layer {
+ name : "vis"
+ type : kVisLayer
+ param {
+ name : "w1"
+ }
+ srclayer: "hid"
+ }
+ layer {
+ name : "hid"
+ type : kHidLayer
+ param {
+ name : "w2"
+ share_from: "w1"
+ }
+ srclayer: "vis"
+ }
+ }
+
+### RNN models
+
+For recurrent neural networks (RNN), users can remove the recurrent connections
+by unrolling the recurrent layer. For example, in Figure 3b, the original
+layer is unrolled into a new layer with 4 internal layers. In this way, the
+model is like a normal feed-forward model, thus can be configured similarly.
+The [RNN example](rnn.html) has a full neural net
+configuration for a RNN model.
+
+
+## Configuration for multiple nets
+
+Typically, a training job includes three neural nets for
+training, validation and test phase respectively. The three neural nets share most
+layers except the data layer, loss layer or output layer, etc.. To avoid
+redundant configurations for the shared layers, users can uses the `exclude`
+filed to filter a layer in the neural net, e.g., the following layer will be
+filtered when creating the testing `NeuralNet`.
+
+
+ layer {
+ ...
+ exclude : kTest # filter this layer for creating test net
+ }
+
+
+
+## Neural net partitioning
+
+A neural net can be partitioned in different ways to distribute the training
+over multiple workers.
+
+### Batch and feature dimension
+
+<img src="../_static/images/partition_fc.png" align="center" width="400px"/>
+<span><strong>Figure 4 - Partitioning of a fully connected layer.</strong></span>
+
+
+Every layer's feature blob is considered a matrix whose rows are feature
+vectors. Thus, one layer can be split on two dimensions. Partitioning on
+dimension 0 (also called batch dimension) slices the feature matrix by rows.
+For instance, if the mini-batch size is 256 and the layer is partitioned into 2
+sub-layers, each sub-layer would have 128 feature vectors in its feature blob.
+Partitioning on this dimension has no effect on the parameters, as every
+[Param](param.html) object is replicated in the sub-layers. Partitioning on dimension
+1 (also called feature dimension) slices the feature matrix by columns. For
+example, suppose the original feature vector has 50 units, after partitioning
+into 2 sub-layers, each sub-layer would have 25 units. This partitioning may
+result in [Param](param.html) object being split, as shown in
+Figure 4. Both the bias vector and weight matrix are
+partitioned into two sub-layers.
+
+
+### Partitioning configuration
+
+There are 4 partitioning schemes, whose configurations are give below,
+
+ 1. Partitioning each singe layer into sub-layers on batch dimension (see
+ below). It is enabled by configuring the partition dimension of the layer to
+ 0, e.g.,
+
+ # with other fields omitted
+ layer {
+ partition_dim: 0
+ }
+
+ 2. Partitioning each singe layer into sub-layers on feature dimension (see
+ below). It is enabled by configuring the partition dimension of the layer to
+ 1, e.g.,
+
+ # with other fields omitted
+ layer {
+ partition_dim: 1
+ }
+
+ 3. Partitioning all layers into different subsets. It is enabled by
+ configuring the location ID of a layer, e.g.,
+
+ # with other fields omitted
+ layer {
+ location: 1
+ }
+ layer {
+ location: 0
+ }
+
+
+ 4. Hybrid partitioning of strategy 1, 2 and 3. The hybrid partitioning is
+ useful for large models. An example application is to implement the
+ [idea proposed by Alex](http://arxiv.org/abs/1404.5997).
+ Hybrid partitioning is configured like,
+
+ # with other fields omitted
+ layer {
+ location: 1
+ }
+ layer {
+ location: 0
+ }
+ layer {
+ partition_dim: 0
+ location: 0
+ }
+ layer {
+ partition_dim: 1
+ location: 0
+ }
+
+Currently SINGA supports strategy-2 well. Other partitioning strategies are
+are under test and will be released in later version.
+
+## Parameter sharing
+
+Parameters can be shared in two cases,
+
+ * sharing parameters among layers via user configuration. For example, the
+ visible layer and hidden layer of a RBM shares the weight matrix, which is configured through
+ the `share_from` field as shown in the above RBM configuration. The
+ configurations must be the same (except name) for shared parameters.
+
+ * due to neural net partitioning, some `Param` objects are replicated into
+ different workers, e.g., partitioning one layer on batch dimension. These
+ workers share parameter values. SINGA controls this kind of parameter
+ sharing automatically, users do not need to do any configuration.
+
+ * the `NeuralNet` for training and testing (and validation) share most layers
+ , thus share `Param` values.
+
+If the shared `Param` instances resident in the same process (may in different
+threads), they use the same chunk of memory space for their values. But they
+would have different memory spaces for their gradients. In fact, their
+gradients will be averaged by the stub or server.
+
+## Advanced user guide
+
+### Creation
+
+ static NeuralNet* NeuralNet::Create(const NetProto& np, Phase phase, int num);
+
+The above function creates a `NeuralNet` for a given phase, and returns a
+pointer to the `NeuralNet` instance. The phase is in {kTrain,
+kValidation, kTest}. `num` is used for net partitioning which indicates the
+number of partitions. Typically, a training job includes three neural nets for
+training, validation and test phase respectively. The three neural nets share most
+layers except the data layer, loss layer or output layer, etc.. The `Create`
+function takes in the full net configuration including layers for training,
+validation and test. It removes layers for phases other than the specified
+phase based on the `exclude` field in
+[layer configuration](layer.html):
+
+ layer {
+ ...
+ exclude : kTest # filter this layer for creating test net
+ }
+
+The filtered net configuration is passed to the constructor of `NeuralNet`:
+
+ NeuralNet::NeuralNet(NetProto netproto, int npartitions);
+
+The constructor creates a graph representing the net structure firstly in
+
+ Graph* NeuralNet::CreateGraph(const NetProto& netproto, int npartitions);
+
+Next, it creates a layer for each node and connects layers if their nodes are
+connected.
+
+ void NeuralNet::CreateNetFromGraph(Graph* graph, int npartitions);
+
+Since the `NeuralNet` instance may be shared among multiple workers, the
+`Create` function returns a pointer to the `NeuralNet` instance .
+
+### Parameter sharing
+
+ `Param` sharing
+is enabled by first sharing the Param configuration (in `NeuralNet::Create`)
+to create two similar (e.g., the same shape) Param objects, and then calling
+(in `NeuralNet::CreateNetFromGraph`),
+
+ void Param::ShareFrom(const Param& from);
+
+It is also possible to share `Param`s of two nets, e.g., sharing parameters of
+the training net and the test net,
+
+ void NeuralNet:ShareParamsFrom(NeuralNet* other);
+
+It will call `Param::ShareFrom` for each Param object.
+
+### Access functions
+`NeuralNet` provides a couple of access function to get the layers and params
+of the net:
+
+ const std::vector<Layer*>& layers() const;
+ const std::vector<Param*>& params() const ;
+ Layer* name2layer(string name) const;
+ Param* paramid2param(int id) const;
+
+
+### Partitioning
+
+
+#### Implementation
+
+SINGA partitions the neural net in `CreateGraph` function, which creates one
+node for each (partitioned) layer. For example, if one layer's partition
+dimension is 0 or 1, then it creates `npartition` nodes for it; if the
+partition dimension is -1, a single node is created, i.e., no partitioning.
+Each node is assigned a partition (or location) ID. If the original layer is
+configured with a location ID, then the ID is assigned to each newly created node.
+These nodes are connected according to the connections of the original layers.
+Some connection layers will be added automatically.
+For instance, if two connected sub-layers are located at two
+different workers, then a pair of bridge layers is inserted to transfer the
+feature (and gradient) blob between them. When two layers are partitioned on
+different dimensions, a concatenation layer which concatenates feature rows (or
+columns) and a slice layer which slices feature rows (or columns) would be
+inserted. These connection layers help making the network communication and
+synchronization transparent to the users.
+
+#### Dispatching partitions to workers
+
+Each (partitioned) layer is assigned a location ID, based on which it is dispatched to one
+worker. Particularly, the pointer to the `NeuralNet` instance is passed
+to every worker within the same group, but each worker only computes over the
+layers that have the same partition (or location) ID as the worker's ID. When
+every worker computes the gradients of the entire model parameters
+(strategy-2), we refer to this process as data parallelism. When different
+workers compute the gradients of different parameters (strategy-3 or
+strategy-1), we call this process model parallelism. The hybrid partitioning
+leads to hybrid parallelism where some workers compute the gradients of the
+same subset of model parameters while other workers compute on different model
+parameters. For example, to implement the hybrid parallelism in for the
+[DCNN model](http://arxiv.org/abs/1404.5997), we set `partition_dim = 0` for
+lower layers and `partition_dim = 1` for higher layers.
+
diff --git a/_sources/docs/notebook/README.md.txt b/_sources/docs/notebook/README.md.txt
new file mode 100644
index 0000000..5a561eb
--- /dev/null
+++ b/_sources/docs/notebook/README.md.txt
@@ -0,0 +1,21 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+These are some examples in IPython notebooks.
+
+You can open them in [notebook viewer](http://nbviewer.jupyter.org/github/apache/incubator-singa/blob/master/doc/en/docs/notebook/index.ipynb).
diff --git a/_sources/docs/optimizer.rst.txt b/_sources/docs/optimizer.rst.txt
new file mode 100644
index 0000000..e6f1da9
--- /dev/null
+++ b/_sources/docs/optimizer.rst.txt
@@ -0,0 +1,29 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Optimizer
+=========
+
+
+.. automodule:: singa.optimizer
+ :members:
+ :member-order: bysource
+ :show-inheritance:
+ :undoc-members:
+
+
diff --git a/_sources/docs/security.rst.txt b/_sources/docs/security.rst.txt
new file mode 100644
index 0000000..1b9eaac
--- /dev/null
+++ b/_sources/docs/security.rst.txt
@@ -0,0 +1,23 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+Security
+========
+
+Users can report security vulnerabilities to Apache Security Team: http://www.apache.org/security/
+
+SINGA is creating a new team for security. More details will be added soon.
diff --git a/_sources/docs/snapshot.rst.txt b/_sources/docs/snapshot.rst.txt
new file mode 100644
index 0000000..7a8be27
--- /dev/null
+++ b/_sources/docs/snapshot.rst.txt
@@ -0,0 +1,24 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Snapshot
+========
+
+
+.. automodule:: singa.snapshot
+ :members:
diff --git a/_sources/docs/software_stack.md.txt b/_sources/docs/software_stack.md.txt
new file mode 100644
index 0000000..141f4ab
--- /dev/null
+++ b/_sources/docs/software_stack.md.txt
@@ -0,0 +1,117 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# Software Stack
+
+SINGA's software stack includes three major components, namely, core, IO and
+model. Figure 1 illustrates these components together with the hardware.
+The core component provides memory management and tensor operations;
+IO has classes for reading (and writing) data from (to) disk and network; The
+model component provides data structures and algorithms for machine learning models,
+e.g., layers for neural network models, optimizers/initializer/metric/loss for
+general machine learning models.
+
+
+<img src="../_static/images/singav1-sw.png" align="center" width="500px"/>
+<br/>
+<span><strong>Figure 1 - SINGA V1 software stack.</strong></span>
+
+## Core
+
+[Tensor](tensor.html) and [Device](device.html) are two core abstractions in SINGA. Tensor class represents a
+multi-dimensional array, which stores model variables and provides linear algebra
+operations for machine learning
+algorithms, including matrix multiplication and random functions. Each tensor
+instance (i.e. a tensor) is allocated on a Device instance.
+Each Device instance (i.e. a device) is created against one hardware device,
+e.g. a GPU card or a CPU core. Devices manage the memory of tensors and execute
+tensor operations on its execution units, e.g. CPU threads or CUDA streams.
+
+Depending on the hardware and the programming language, SINGA have implemented
+the following specific device classes:
+
+* **CudaGPU** represents an Nvidia GPU card. The execution units are the CUDA streams.
+* **CppCPU** represents a normal CPU. The execution units are the CPU threads.
+* **OpenclGPU** represents normal GPU card from both Nvidia and AMD.
+ The execution units are the CommandQueues. Given that OpenCL is compatible with
+ many hardware devices, e.g. FPGA and ARM, the OpenclGPU has the potential to be
+ extended for other devices.
+
+Different types of devices use different programming languages to write the kernel
+functions for tensor operations,
+
+* CppMath (tensor_math_cpp.h) implements the tensor operations using Cpp for CppCPU
+* CudaMath (tensor_math_cuda.h) implements the tensor operations using CUDA for CudaGPU
+* OpenclMath (tensor_math_opencl.h) implements the tensor operations using OpenCL for OpenclGPU
+
+In addition, different types of data, such as float32 and float16, could be supported by adding
+the corresponding tensor functions.
+
+Typically, users would create a device instance and pass it to create multiple
+tensor instances. When users call the Tensor functions, these function would invoke
+the corresponding implementation (CppMath/CudaMath/OpenclMath) automatically. In
+other words, the implementation of Tensor operations is transparent to users.
+
+Most machine learning algorithms could be expressed using (dense or sparse) tensors.
+Therefore, with the Tensor abstraction, SINGA would be able to run a wide range of models,
+including deep learning models and other traditional machine learning models.
+
+The Tensor and Device abstractions are extensible to support a wide range of hardware device
+using different programming languages. A new hardware device would be supported by
+adding a new Device subclass and the corresponding implementation of the Tensor
+operations (xxxMath).
+
+Optimizations in terms of speed and memory could be implemented by Device, which
+manages both operation execution and memory malloc/free. More optimization details
+would be described in the [Device page](device.html).
+
+
+## Model
+
+On top of the Tensor and Device abstractions, SINGA provides some higher level
+classes for machine learning modules.
+
+* [Layer](layer.html) and its subclasses are specific for neural networks. Every layer provides
+ functions for forward propagating features and backward propagating gradients w.r.t the training loss functions.
+ They wraps the complex layer operations so that users can easily create neural nets
+ by connecting a set of layers.
+
+* [Initializer](initializer.html) and its subclasses provide variant methods of initializing
+ model parameters (stored in Tensor instances), following Uniform, Gaussian, etc.
+
+* [Loss](loss.html) and its subclasses defines the training objective loss functions.
+ Both functions of computing the loss values and computing the gradient of the prediction w.r.t the
+ objective loss are implemented. Example loss functions include squared error and cross entropy.
+
+* [Metric](metric.html) and its subclasses provide the function to measure the
+ performance of the model, e.g., the accuracy.
+
+* [Optimizer](optimizer.html) and its subclasses implement the methods for updating
+ model parameter values using parameter gradients, including SGD, AdaGrad, RMSProp etc.
+
+
+## IO
+
+The IO module consists of classes for data loading, data preprocessing and message passing.
+
+* Reader and its subclasses load string records from disk files
+* Writer and its subclasses write string records to disk files
+* Encoder and its subclasses encode Tensor instances into string records
+* Decoder and its subclasses decodes string records into Tensor instances
+* Endpoint represents a communication endpoint which provides functions for passing messages to each other.
+* Message represents communication messages between Endpoint instances. It carries both meta data and payload.
diff --git a/_sources/docs/tensor.rst.txt b/_sources/docs/tensor.rst.txt
new file mode 100644
index 0000000..d9e7f18
--- /dev/null
+++ b/_sources/docs/tensor.rst.txt
@@ -0,0 +1,48 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Tensor
+========
+
+Each Tensor instance is a multi-dimensional array allocated on a specific
+Device instance. Tensor instances store variables and provide
+linear algebra operations over different types of hardware devices without user
+awareness. Note that users need to make sure the tensor operands are
+allocated on the same device except copy functions.
+
+
+Tensor implementation
+---------------------
+
+SINGA has three different sets of implmentations of Tensor functions, one for each
+type of Device.
+
+* 'tensor_math_cpp.h' implements operations using Cpp (with CBLAS) for CppGPU devices.
+* 'tensor_math_cuda.h' implements operations using Cuda (with cuBLAS) for CudaGPU devices.
+* 'tensor_math_opencl.h' implements operations using OpenCL for OpenclGPU devices.
+
+Python API
+----------
+
+
+.. automodule:: singa.tensor
+ :members:
+
+
+CPP API
+---------
diff --git a/_sources/docs/utils.rst.txt b/_sources/docs/utils.rst.txt
new file mode 100644
index 0000000..5a5aa04
--- /dev/null
+++ b/_sources/docs/utils.rst.txt
@@ -0,0 +1,24 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+
+Utils
+=========
+
+
+.. automodule:: singa.utils
+ :members:
diff --git a/_sources/downloads.md.txt b/_sources/downloads.md.txt
new file mode 100644
index 0000000..29df931
--- /dev/null
+++ b/_sources/downloads.md.txt
@@ -0,0 +1,165 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+## Download SINGA
+
+* To verify the downloaded tar.gz file, download the [KEYS](https://www.apache.org/dist/incubator/singa/KEYS) and ASC files and then execute the following commands
+
+ % gpg --import KEYS
+ % gpg --verify downloaded_file.asc downloaded_file
+
+ You can also check the SHA512 or MD5 values to see if the download is completed.
+
+
+* v2.0.0 (20 April 2019):
+ * [Apache SINGA 2.0.0](http://www.apache.org/dyn/closer.cgi/incubator/singa/2.0.0/apache-singa-incubating-2.0.0.tar.gz)
+ [\[SHA512\]](https://www.apache.org/dist/incubator/singa/2.0.0/apache-singa-incubating-2.0.0.tar.gz.sha512)
+ [\[ASC\]](https://www.apache.org/dist/incubator/singa/2.0.0/apache-singa-incubating-2.0.0.tar.gz.asc)
+ * [Release Notes 2.0.0](releases/RELEASE_NOTES_2.0.0.html)
+ * New features and major updates,
+ * Enhance autograd (for Convolution networks and recurrent networks)
+ * Support ONNX
+ * Improve the CPP operations via Intel MKL DNN lib
+ * Implement tensor broadcasting
+ * Move Docker images under Apache user name
+ * Update depdent lib versions in conda-build config
+
+
+* v1.2.0 (6 June 2018):
+ * [Apache SINGA 1.2.0](https://archive.apache.org/dist/incubator/singa/1.2.0/apache-singa-incubating-1.2.0.tar.gz)
+ [\[SHA512\]](https://archive.apache.org/dist/incubator/singa/1.2.0/apache-singa-incubating-1.2.0.tar.gz.sha512)
+ [\[ASC\]](https://archive.apache.org/dist/incubator/singa/1.2.0/apache-singa-incubating-1.2.0.tar.gz.asc)
+ * [Release Notes 1.2.0](releases/RELEASE_NOTES_1.2.0.html)
+ * New features and major updates,
+ * Implement autograd (currently support MLP model)
+ * Upgrade PySinga to support Python 3
+ * Improve the Tensor class with the stride field
+ * Upgrade cuDNN from V5 to V7
+ * Add VGG, Inception V4, ResNet, and DenseNet for ImageNet classification
+ * Create alias for conda packages
+ * Complete documentation in Chinese
+ * Add instructions for running Singa on Windows
+ * Update the compilation, CI
+ * Fix some bugs
+
+
+
+* v1.1.0 (12 February 2017):
+ * [Apache SINGA 1.1.0](https://archive.apache.org/dist/incubator/singa/1.1.0/apache-singa-incubating-1.1.0.tar.gz)
+ [\[MD5\]](https://archive.apache.org/dist/incubator/singa/1.1.0/apache-singa-incubating-1.1.0.tar.gz.md5)
+ [\[ASC\]](https://archive.apache.org/dist/incubator/singa/1.1.0/apache-singa-incubating-1.1.0.tar.gz.asc)
+ * [Release Notes 1.1.0](releases/RELEASE_NOTES_1.1.0.html)
+ * New features and major updates,
+ * Create Docker images (CPU and GPU versions)
+ * Create Amazon AMI for SINGA (CPU version)
+ * Integrate with Jenkins for automatically generating Wheel and Debian packages (for installation), and updating the website.
+ * Enhance the FeedFowardNet, e.g., multiple inputs and verbose mode for debugging
+ * Add Concat and Slice layers
+ * Extend CrossEntropyLoss to accept instance with multiple labels
+ * Add image_tool.py with image augmentation methods
+ * Support model loading and saving via the Snapshot API
+ * Compile SINGA source on Windows
+ * Compile mandatory dependent libraries together with SINGA code
+ * Enable Java binding (basic) for SINGA
+ * Add version ID in checkpointing files
+ * Add Rafiki toolkit for providing RESTFul APIs
+ * Add examples pretrained from Caffe, including GoogleNet
+
+
+
+* v1.0.0 (8 September 2016):
+ * [Apache SINGA 1.0.0](https://archive.apache.org/dist/incubator/singa/1.0.0/apache-singa-incubating-1.0.0.tar.gz)
+ [\[MD5\]](https://archive.apache.org/dist/incubator/singa/1.0.0/apache-singa-incubating-1.0.0.tar.gz.md5)
+ [\[ASC\]](https://archive.apache.org/dist/incubator/singa/1.0.0/apache-singa-incubating-1.0.0.tar.gz.asc)
+ * [Release Notes 1.0.0](releases/RELEASE_NOTES_1.0.0.html)
+ * New features and major updates,
+ * Tensor abstraction for supporting more machine learning models.
+ * Device abstraction for running on different hardware devices, including CPU, (Nvidia/AMD) GPU and FPGA (to be tested in later versions).
+ * Replace GNU autotool with cmake for compilation.
+ * Support Mac OS
+ * Improve Python binding, including installation and programming
+ * More deep learning models, including VGG and ResNet
+ * More IO classes for reading/writing files and encoding/decoding data
+ * New network communication components directly based on Socket.
+ * Cudnn V5 with Dropout and RNN layers.
+ * Replace website building tool from maven to Sphinx
+ * Integrate Travis-CI
+
+
+* v0.3.0 (20 April 2016):
+ * [Apache SINGA 0.3.0](https://archive.apache.org/dist/incubator/singa/0.3.0/apache-singa-incubating-0.3.0.tar.gz)
+ [\[MD5\]](https://archive.apache.org/dist/incubator/singa/0.3.0/apache-singa-incubating-0.3.0.tar.gz.md5)
+ [\[ASC\]](https://archive.apache.org/dist/incubator/singa/0.3.0/apache-singa-incubating-0.3.0.tar.gz.asc)
+ * [Release Notes 0.3.0](releases/RELEASE_NOTES_0.3.0.html)
+ * New features and major updates,
+ * [Training on GPU cluster](v0.3.0/gpu.html) enables training of deep learning models over a GPU cluster.
+ * [Python wrapper improvement](v0.3.0/python.html) makes it easy to configure the job, including neural net and SGD algorithm.
+ * [New SGD updaters](v0.3.0/updater.html) are added, including Adam, AdaDelta and AdaMax.
+ * [Installation](v0.3.0/installation.html) has fewer dependent libraries for single node training.
+ * Heterogeneous training with CPU and GPU.
+ * Support cuDNN V4.
+ * Data prefetching.
+ * Fix some bugs.
+
+
+
+* v0.2.0 (14 January 2016):
+ * [Apache SINGA 0.2.0](https://archive.apache.org/dist/incubator/singa/0.2.0/apache-singa-incubating-0.2.0.tar.gz)
+ [\[MD5\]](https://archive.apache.org/dist/incubator/singa/0.2.0/apache-singa-incubating-0.2.0.tar.gz.md5)
+ [\[ASC\]](https://archive.apache.org/dist/incubator/singa/0.2.0/apache-singa-incubating-0.2.0.tar.gz.asc)
+ * [Release Notes 0.2.0](releases/RELEASE_NOTES_0.2.0.html)
+ * New features and major updates,
+ * [Training on GPU](v0.2.0/gpu.html) enables training of complex models on a single node with multiple GPU cards.
+ * [Hybrid neural net partitioning](v0.2.0/hybrid.html) supports data and model parallelism at the same time.
+ * [Python wrapper](v0.2.0/python.html) makes it easy to configure the job, including neural net and SGD algorithm.
+ * [RNN model and BPTT algorithm](v0.2.0/general-rnn.html) are implemented to support applications based on RNN models, e.g., GRU.
+ * [Cloud software integration](v0.2.0/distributed-training.html) includes Mesos, Docker and HDFS.
+ * Visualization of neural net structure and layer information, which is helpful for debugging.
+ * Linear algebra functions and random functions against Blobs and raw data pointers.
+ * New layers, including SoftmaxLayer, ArgSortLayer, DummyLayer, RNN layers and cuDNN layers.
+ * Update Layer class to carry multiple data/grad Blobs.
+ * Extract features and test performance for new data by loading previously trained model parameters.
+ * Add Store class for IO operations.
+
+
+* v0.1.0 (8 October 2015):
+ * [Apache SINGA 0.1.0](https://archive.apache.org/dist/incubator/singa/apache-singa-incubating-0.1.0.tar.gz)
+ [\[MD5\]](https://archive.apache.org/dist/incubator/singa/apache-singa-incubating-0.1.0.tar.gz.md5)
+ [\[ASC\]](https://archive.apache.org/dist/incubator/singa/apache-singa-incubating-0.1.0.tar.gz.asc)
+ * [Amazon EC2 image](https://console.aws.amazon.com/ec2/v2/home?region=ap-southeast-1#LaunchInstanceWizard:ami=ami-b41001e6)
+ * [Release Notes 0.1.0](releases/RELEASE_NOTES_0.1.0.html)
+ * Major features include,
+ * Installation using GNU build utility
+ * Scripts for job management with zookeeper
+ * Programming model based on NeuralNet and Layer abstractions.
+ * System architecture based on Worker, Server and Stub.
+ * Training models from three different model categories, namely, feed-forward models, energy models and RNN models.
+ * Synchronous and asynchronous distributed training frameworks using CPU
+ * Checkpoint and restore
+ * Unit test using gtest
+
+**Disclaimer**
+
+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.
diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt
new file mode 100644
index 0000000..dc61f29
--- /dev/null
+++ b/_sources/index.rst.txt
@@ -0,0 +1,159 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+Welcome to Apache SINGA
+=======================
+
+Recent News
+-----------
+
+* SINGA participated in mentoring the Google Summer of Code 2019 project `SpamAssassin : Statistical Classifier Plugin <https://summerofcode.withgoogle.com/projects/#5612088771215360>`_ .
+
+* SINGA participated at `EU FOSSA Apache Hackathon <https://eufossa.github.io/apache-hackathon-2019/>`_ in Brussels on 4 and 5 May 2019.
+
+* **Version 2.0.0** is now available, 20 April, 2019. `Download SINGA v2.0.0 <downloads.html>`_
+
+* SINGA was presented at `DISI, University of Trento, Italy <https://www.disi.unitn.it/>`_ on 14 December 2018.
+
+* SINGA was presented at `DIBRIS, University of Genoa, Italy <https://www.dibris.unige.it/>`_ on 16 July 2018.
+
+* **Version 1.2.0** is now available, 6 June, 2018. `Download SINGA v1.2.0 <downloads.html>`_
+
+* **Version 1.1.0** is now available, 12 Feb, 2017. `Download SINGA v1.1.0 <downloads.html>`_
+
+* A tutorial on SINGA V1 will be given at `SGInnovate <https://www.eventbrite.sg/e/ai-eveningssginnovate-apache-singa-tickets-31505061487>`_, on 23 March, 2017
+
+* **Version 1.0.0** is now available, 9 Sep, 2016. `Download SINGA v1.0.0 <downloads.html>`_
+
+* SINGA will be presented at `REWORK <https://www.re-work.co/events/deep-learning-singapore/schedule>`_, 21 Oct, 2016.
+
+* SINGA was presented at `PyDataSG <http://www.meetup.com/PyData-SG/events/229691286/>`_, 16 Aug, 2016.
+
+* **Version 0.3.0** is now available, 20 April, 2016. `Download SINGA v0.3.0 <downloads.html>`_
+
+* **Version 0.2.0** is now available, 14 Jan, 2016. `Download SINGA v0.2.0 <downloads.html>`_.
+
+* SINGA will be presented at `Strata+Hadoop <http://strataconf.com/big-data-conference-sg-2015/public/schedule/detail/45123>`_ on 2 Dec, 2015
+
+* SINGA was presented at `ACM Multimedia <http://www.acmmm.org/2015/at-a-glance/>`_ Best Paper session and Open Source Software Competition session, 26-30 Oct, 2015 (`Slides <http://www.comp.nus.edu.sg/~dbsystem/singa//assets/file/mm2015.ppt>`_)
+
+* **Version 0.1.0** is now available, 8 Oct, 2015. `Download SINGA v0.1.0 <downloads.html>`_.
+
+* SINGA was presented at `workshop on deep learning <http://www.comp.nus.edu.sg/~dbsystem/singa/workshop>`_ held on 16 Sep, 2015
+
+* SINGA was presented at `BOSS <http://boss.dima.tu-berlin.de/>`_ of `VLDB 2015 <http://www.vldb.org/2015/>`_ at Hawaii, 4 Sep, 2015. (slides: `overview <http://www.comp.nus.edu.sg/~dbsystem/singa/assets/file/singa-vldb-boss.pptx>`_, `basic <http://www.comp.nus.edu.sg/~dbsystem/singa/assets/file/basic-user-guide.pptx>`_, `advanced <http://www.comp.nus.edu.sg/~dbsystem/singa/assets/file/advanced-user-guide.pptx>`_)
+
+* SINGA was presented at `ADSC/I2R Deep Learning Workshop <http://adsc.illinois.edu/contact-us>`_, 25 Aug, 2015.
+
+* A tutorial on SINGA was given at VLDB summer school at Tsinghua University, 25-31 July, 2015.
+
+* A half day tutorial on SINGA was given at I2R, 29 June, 2015.
+
+* SINGA was presented at `DanaC <http://danac.org/>`_ of `SIGMOD 2015 <http://www.sigmod2015.org/index.shtml>`_ at Melbourne, 31 May - 4 June, 2015.
+
+* SINGA has been accepted by `Apache Incubator <http://incubator.apache.org/>`_, 17 March, 2015.
+
+Getting Started
+---------------
+* `Install SINGA <docs/installation.html>`_ via conda, apt-get, or from source.
+
+* Try SINGA on `AWS <https://aws.amazon.com/marketplace/pp/B01NAUAWZW>`_ or via `Docker <https://hub.docker.com/r/apache/singa/>`_.
+
+* Refer to the `Jupyter notebooks <http://nbviewer.jupyter.org/github/apache/incubator-singa/blob/master/doc/en/docs/notebook/index.ipynb>`_ for some basic examples and the `model zoo page <./docs/model_zoo/index.html>`_ for more examples.
+
+.. |logo| image:: _static/jupyter.png
+ :scale: 25%
+ :align: middle
+ :target: http://nbviewer.jupyter.org/github/apache/incubator-singa/blob/master/doc/en/docs/notebook/index.ipynb
+
++---------+
+| |logo| |
++---------+
+
+Documentation
+-------------
+
+* Documentation and Python APIs are listed `here <docs.html>`_.
+* `C++ APIs <doxygen/html/index.html>`_ are generated by Doxygen.
+* Research publication list is available `here <http://www.comp.nus.edu.sg/~dbsystem/singa/research/publication/>`_.
+
+How to contribute
+----------------------
+
+* Please subscribe to our development mailing list dev-subscribe@singa.incubator.apache.org.
+
+* If you find any issues using SINGA, please report it to the `Issue Tracker <https://issues.apache.org/jira/browse/singa>`_.
+
+* You can also contact with `SINGA committers <community/team-list.html>`_ directly.
+
+More details on contributing to SINGA is described `here <develop/how-contribute.html>`_ .
+
+History
+------------
+
+SINGA was initiated by the DB System Group at National University of Singapore in 2014, in collaboration with the database group of Zhejiang University.
+Please cite the following two papers if you use SINGA in your research:
+
+* B. C. Ooi, K.-L. Tan, S. Wang, W. Wang, Q. Cai, G. Chen, J. Gao, Z. Luo, A. K. H. Tung, Y. Wang, Z. Xie, M. Zhang, and K. Zheng. `SINGA: A distributed deep learning platform <http://www.comp.nus.edu.sg/~ooibc/singaopen-mm15.pdf>`_. ACM Multimedia (Open Source Software Competition) 2015 (`BibTex <http://www.comp.nus.edu.sg/~dbsystem/singa//assets/file/bib-oss.txt>`_).
+
+* W. Wang, G. Chen, T. T. A. Dinh, B. C. Ooi, K.-L.Tan, J. Gao, and S. Wang. `SINGA: putting deep learning in the hands of multimedia users <http://www.comp.nus.edu.sg/~ooibc/singa-mm15.pdf>`_. ACM Multimedia 2015 (`BibTex <http://www.comp.nus.edu.sg/~dbsystem/singa//assets/file/bib-singa.txt>`_, `Slides <http://www.comp.nus.edu.sg/~dbsystem/singa/assets/file/mm2015.ppt>`_).
+
+Rafiki is a sub module of SINGA. Please cite the following paper if you use Rafiki in your research:
+
+* Wei Wang, Jinyang Gao, Meihui Zhang, Sheng Wang, Gang Chen, Teck Khim Ng, Beng Chin Ooi, Jie Shao, Moaz Reyad. `Rafiki: Machine Learning as an Analytics Service System <http://www.vldb.org/pvldb/vol12/p128-wang.pdf>`_. `VLDB 2019 <http://vldb.org/2019/>`_ (`BibTex <https://dblp.org/rec/bib2/journals/pvldb/WangWGZCNOS18.bib>`_).
+
+Companies like `NetEase <http://tech.163.com/17/0602/17/CLUL016I00098GJ5.html>`_, `yzBigData <http://www.yzbigdata.com/en/index.html>`_, `Shentilium <https://shentilium.com/>`_, `Foodlg <http://www.foodlg.com/>`_ and `Medilot <https://medilot.com/technologies>`_ are using SINGA for their applications.
+
+.. toctree::
+ :hidden:
+
+ docs/index
+ downloads
+ security
+
+.. toctree::
+ :hidden:
+ :maxdepth: 2
+ :caption: Development
+
+ develop/schedule
+ develop/how-contribute
+ develop/contribute-code
+ develop/contribute-docs
+ develop/how-to-release
+
+.. toctree::
+ :hidden:
+ :maxdepth: 2
+ :caption: Community
+
+ community/source-repository
+ community/mail-lists
+ community/issue-tracking
+ community/team-list
+
+
+
+License
+----------
+SINGA is released under `Apache License Version 2.0 <http://www.apache.org/licenses/LICENSE-2.0>`_.
+
+Disclaimers
+-----------
+
+Apache SINGA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. 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 h [...]
+
diff --git a/_sources/releases/RELEASE_NOTES_0.1.0.md.txt b/_sources/releases/RELEASE_NOTES_0.1.0.md.txt
new file mode 100644
index 0000000..b2d8bfb
--- /dev/null
+++ b/_sources/releases/RELEASE_NOTES_0.1.0.md.txt
@@ -0,0 +1,117 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# singa-incubating-0.1.0 Release Notes
+
+---
+
+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 of popular
+deep learning models.
+
+This release includes following features:
+
+ * Job management
+ * [SINGA-3](https://issues.apache.org/jira/browse/SINGA-3) Use Zookeeper to check stopping (finish) time of the system
+ * [SINGA-16](https://issues.apache.org/jira/browse/SINGA-16) Runtime Process id Management
+ * [SINGA-25](https://issues.apache.org/jira/browse/SINGA-25) Setup glog output path
+ * [SINGA-26](https://issues.apache.org/jira/browse/SINGA-26) Run distributed training in a single command
+ * [SINGA-30](https://issues.apache.org/jira/browse/SINGA-30) Enhance easy-to-use feature and support concurrent jobs
+ * [SINGA-33](https://issues.apache.org/jira/browse/SINGA-33) Automatically launch a number of processes in the cluster
+ * [SINGA-34](https://issues.apache.org/jira/browse/SINGA-34) Support external zookeeper service
+ * [SINGA-38](https://issues.apache.org/jira/browse/SINGA-38) Support concurrent jobs
+ * [SINGA-39](https://issues.apache.org/jira/browse/SINGA-39) Avoid ssh in scripts for single node environment
+ * [SINGA-43](https://issues.apache.org/jira/browse/SINGA-43) Remove Job-related output from workspace
+ * [SINGA-56](https://issues.apache.org/jira/browse/SINGA-56) No automatic launching of zookeeper service
+ * [SINGA-73](https://issues.apache.org/jira/browse/SINGA-73) Refine the selection of available hosts from host list
+
+
+ * Installation with GNU Auto tool
+ * [SINGA-4](https://issues.apache.org/jira/browse/SINGA-4) Refine thirdparty-dependency installation
+ * [SINGA-13](https://issues.apache.org/jira/browse/SINGA-13) Separate intermediate files of compilation from source files
+ * [SINGA-17](https://issues.apache.org/jira/browse/SINGA-17) Add root permission within thirdparty/install.
+ * [SINGA-27](https://issues.apache.org/jira/browse/SINGA-27) Generate python modules for proto objects
+ * [SINGA-53](https://issues.apache.org/jira/browse/SINGA-53) Add lmdb compiling options
+ * [SINGA-62](https://issues.apache.org/jira/browse/SINGA-62) Remove building scrips and auxiliary files
+ * [SINGA-67](https://issues.apache.org/jira/browse/SINGA-67) Add singatest into build targets
+
+
+ * Distributed training
+ * [SINGA-7](https://issues.apache.org/jira/browse/SINGA-7) Implement shared memory Hogwild algorithm
+ * [SINGA-8](https://issues.apache.org/jira/browse/SINGA-8) Implement distributed Hogwild
+ * [SINGA-19](https://issues.apache.org/jira/browse/SINGA-19) Slice large Param objects for load-balance
+ * [SINGA-29](https://issues.apache.org/jira/browse/SINGA-29) Update NeuralNet class to enable layer partition type customization
+ * [SINGA-24](https://issues.apache.org/jira/browse/SINGA-24) Implement Downpour training framework
+ * [SINGA-32](https://issues.apache.org/jira/browse/SINGA-32) Implement AllReduce training framework
+ * [SINGA-57](https://issues.apache.org/jira/browse/SINGA-57) Improve Distributed Hogwild
+
+
+ * Training algorithms for different model categories
+ * [SINGA-9](https://issues.apache.org/jira/browse/SINGA-9) Add Support for Restricted Boltzman Machine (RBM) model
+ * [SINGA-10](https://issues.apache.org/jira/browse/SINGA-10) Add Support for Recurrent Neural Networks (RNN)
+
+
+ * Checkpoint and restore
+ * [SINGA-12](https://issues.apache.org/jira/browse/SINGA-12) Support Checkpoint and Restore
+
+
+ * Unit test
+ * [SINGA-64](https://issues.apache.org/jira/browse/SINGA-64) Add the test module for utils/common
+
+
+ * Programming model
+ * [SINGA-36](https://issues.apache.org/jira/browse/SINGA-36) Refactor job configuration, driver program and scripts
+ * [SINGA-37](https://issues.apache.org/jira/browse/SINGA-37) Enable users to set parameter sharing in model configuration
+ * [SINGA-54](https://issues.apache.org/jira/browse/SINGA-54) Refactor job configuration to move fields in ModelProto out
+ * [SINGA-55](https://issues.apache.org/jira/browse/SINGA-55) Refactor main.cc and singa.h
+ * [SINGA-61](https://issues.apache.org/jira/browse/SINGA-61) Support user defined classes
+ * [SINGA-65](https://issues.apache.org/jira/browse/SINGA-65) Add an example of writing user-defined layers
+
+
+ * Other features
+ * [SINGA-6](https://issues.apache.org/jira/browse/SINGA-6) Implement thread-safe singleton
+ * [SINGA-18](https://issues.apache.org/jira/browse/SINGA-18) Update API for displaying performance metric
+ * [SINGA-77](https://issues.apache.org/jira/browse/SINGA-77) Integrate with Apache RAT
+
+
+Some bugs are fixed during the development of this release
+
+ * [SINGA-2](https://issues.apache.org/jira/browse/SINGA-2) Check failed: zsock_connect
+ * [SINGA-5](https://issues.apache.org/jira/browse/SINGA-5) Server early terminate when zookeeper singa folder is not initially empty
+ * [SINGA-15](https://issues.apache.org/jira/browse/SINGA-15) Fixg a bug from ConnectStub function which gets stuck for connecting layer_dealer_
+ * [SINGA-22](https://issues.apache.org/jira/browse/SINGA-22) Cannot find openblas library when it is installed in default path
+ * [SINGA-23](https://issues.apache.org/jira/browse/SINGA-23) Libtool version mismatch error.
+ * [SINGA-28](https://issues.apache.org/jira/browse/SINGA-28) Fix a bug from topology sort of Graph
+ * [SINGA-42](https://issues.apache.org/jira/browse/SINGA-42) Issue when loading checkpoints
+ * [SINGA-44](https://issues.apache.org/jira/browse/SINGA-44) A bug when reseting metric values
+ * [SINGA-46](https://issues.apache.org/jira/browse/SINGA-46) Fix a bug in updater.cc to scale the gradients
+ * [SINGA-47](https://issues.apache.org/jira/browse/SINGA-47) Fix a bug in data layers that leads to out-of-memory when group size is too large
+ * [SINGA-48](https://issues.apache.org/jira/browse/SINGA-48) Fix a bug in trainer.cc that assigns the same NeuralNet instance to workers from diff groups
+ * [SINGA-49](https://issues.apache.org/jira/browse/SINGA-49) Fix a bug in HandlePutMsg func that sets param fields to invalid values
+ * [SINGA-66](https://issues.apache.org/jira/browse/SINGA-66) Fix bugs in Worker::RunOneBatch function and ClusterProto
+ * [SINGA-79](https://issues.apache.org/jira/browse/SINGA-79) Fix bug in singatool that can not parse -conf flag
+
+
+Features planned for the next release
+
+ * [SINGA-11](https://issues.apache.org/jira/browse/SINGA-11) Start SINGA using Mesos
+ * [SINGA-31](https://issues.apache.org/jira/browse/SINGA-31) Extend Blob to support xpu (cpu or gpu)
+ * [SINGA-35](https://issues.apache.org/jira/browse/SINGA-35) Add random number generators
+ * [SINGA-40](https://issues.apache.org/jira/browse/SINGA-40) Support sparse Param update
+ * [SINGA-41](https://issues.apache.org/jira/browse/SINGA-41) Support single node single GPU training
+
diff --git a/_sources/releases/RELEASE_NOTES_0.2.0.md.txt b/_sources/releases/RELEASE_NOTES_0.2.0.md.txt
new file mode 100644
index 0000000..d933f54
--- /dev/null
+++ b/_sources/releases/RELEASE_NOTES_0.2.0.md.txt
@@ -0,0 +1,102 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# singa-incubating-0.2.0 Release Notes
+
+---
+
+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
+of popular deep learning models.
+
+This release includes the following **major features**:
+
+* [Training on GPU](../docs/gpu.html) enables training of complex models on a single node with multiple GPU cards.
+* [Hybrid neural net partitioning](../docs/hybrid.html) supports data and model parallelism at the same time.
+* [Python wrapper](../docs/python.html) makes it easy to configure the job, including neural net and SGD algorithm.
+* [RNN model and BPTT algorithm](../docs/general-rnn.html) are implemented to support applications based on RNN models, e.g., GRU.
+* [Cloud software integration](../docs/distributed-training.md) includes Mesos, Docker and HDFS.
+
+
+**More details** are listed as follows,
+
+ * Programming model
+ * [SINGA-80] New Blob Level and Address Level Math Operation Interface
+ * [SINGA-82] Refactor input layers using data store abstraction
+ * [SINGA-87] Replace exclude field to include field for layer configuration
+ * [SINGA-110] Add Layer member datavec_ and gradvec_
+ * [SINGA-120] Implemented GRU and BPTT (BPTTWorker)
+
+
+ * Neuralnet layers
+ * [SINGA-91] Add SoftmaxLayer and ArgSortLayer
+ * [SINGA-106] Add dummy layer for test purpose
+ * [SINGA-120] Implemented GRU and BPTT (GRULayer and OneHotLayer)
+
+
+ * GPU training support
+ * [SINGA-100] Implement layers using CUDNN for GPU training
+ * [SINGA-104] Add Context Class
+ * [SINGA-105] Update GUN make files for compiling cuda related code
+ * [SINGA-98] Add Support for AlexNet ImageNet Classification Model
+
+
+ * Model/Hybrid partition
+ * [SINGA-109] Refine bridge layers
+ * [SINGA-111] Add slice, concate and split layers
+ * [SINGA-113] Model/Hybrid Partition Support
+
+
+ * Python binding
+ * [SINGA-108] Add Python wrapper to singa
+
+
+ * Predict-only mode
+ * [SINGA-85] Add functions for extracting features and test new data
+
+
+ * Integrate with third-party tools
+ * [SINGA-11] Start SINGA on Apache Mesos
+ * [SINGA-78] Use Doxygen to generate documentation
+ * [SINGA-89] Add Docker support
+
+
+ * Unit test
+ * [SINGA-95] Add make test after building
+
+
+ * Other improvment
+ * [SINGA-84] Header Files Rearrange
+ * [SINGA-93] Remove the asterisk in the log tcp://169.254.12.152:*:49152
+ * [SINGA-94] Move call to google::InitGoogleLogging() from Driver::Init() to main()
+ * [SINGA-96] Add Momentum to Cifar10 Example
+ * [SINGA-101] Add ll (ls -l) command in .bashrc file when using docker
+ * [SINGA-114] Remove short logs in tmp directory
+ * [SINGA-115] Print layer debug information in the neural net graph file
+ * [SINGA-118] Make protobuf LayerType field id easy to assign
+ * [SIGNA-97] Add HDFS Store
+
+
+ * Bugs fixed
+ * [SINGA-85] Fix compilation errors in examples
+ * [SINGA-90] Miscellaneous trivial bug fixes
+ * [SINGA-107] Error from loading pre-trained params for training stacked RBMs
+ * [SINGA-116] Fix a bug in InnerProductLayer caused by weight matrix sharing
+
+
diff --git a/_sources/releases/RELEASE_NOTES_0.3.0.md.txt b/_sources/releases/RELEASE_NOTES_0.3.0.md.txt
new file mode 100644
index 0000000..a5fa1bb
--- /dev/null
+++ b/_sources/releases/RELEASE_NOTES_0.3.0.md.txt
@@ -0,0 +1,55 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# singa-incubating-0.3.0 Release Notes
+
+---
+
+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
+of popular deep learning models.
+
+This release includes following features:
+
+ * GPU Support
+ * [SINGA-131] Implement and optimize hybrid training using both CPU and GPU
+ * [SINGA-136] Support cuDNN v4
+ * [SINGA-134] Extend SINGA to run over a GPU cluster
+ * [SINGA-157] Change the priority of cudnn library and install libsingagpu.so
+
+ * Remove Dependences
+ * [SINGA-156] Remove the dependency on ZMQ for single process training
+ * [SINGA-155] Remove zookeeper for single-process training
+
+ * Python Binding
+ * [SINGA-126] Python Binding for Interactive Training
+
+ * Other Improvements
+ * [SINGA-80] New Blob Level and Address Level Math Operation Interface
+ * [SINGA-130] Data Prefetching
+ * [SINGA-145] New SGD based optimization Updaters: AdaDelta, Adam, AdamMax
+
+ * Bugs Fixed
+ * [SINGA-148] Race condition between Worker threads and Driver
+ * [SINGA-150] Mesos Docker container failed
+ * [SIGNA-141] Undesired Hash collision when locating process id to worker…
+ * [SINGA-149] Docker build fail
+ * [SINGA-143] The compilation cannot detect libsingagpu.so file
+
+
diff --git a/_sources/releases/RELEASE_NOTES_1.0.0.md.txt b/_sources/releases/RELEASE_NOTES_1.0.0.md.txt
new file mode 100644
index 0000000..b45e600
--- /dev/null
+++ b/_sources/releases/RELEASE_NOTES_1.0.0.md.txt
@@ -0,0 +1,109 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# singa-incubating-1.0.0 Release Notes
+
+---
+
+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
+of popular deep learning models.
+
+This release includes following features:
+
+ * Core abstractions including Tensor and Device
+ * [SINGA-207] Update Tensor functions for matrices
+ * [SINGA-205] Enable slice and concatenate operations for Tensor objects
+ * [SINGA-197] Add CNMem as a submodule in lib/
+ * [SINGA-196] Rename class Blob to Block
+ * [SINGA-194] Add a Platform singleton
+ * [SINGA-175] Add memory management APIs and implement a subclass using CNMeM
+ * [SINGA-173] OpenCL Implementation
+ * [SINGA-171] Create CppDevice and CudaDevice
+ * [SINGA-168] Implement Cpp Math functions APIs
+ * [SINGA-162] Overview of features for V1.x
+ * [SINGA-165] Add cross-platform timer API to singa
+ * [SINGA-167] Add Tensor Math function APIs
+ * [SINGA-166] light built-in logging for making glog optional
+ * [SINGA-164] Add the base Tensor class
+
+
+ * IO components for file read/write, network and data pre-processing
+ * [SINGA-233] New communication interface
+ * [SINGA-215] Implement Image Transformation for Image Pre-processing
+ * [SINGA-214] Add LMDBReader and LMDBWriter for LMDB
+ * [SINGA-213] Implement Encoder and Decoder for CSV
+ * [SINGA-211] Add TextFileReader and TextFileWriter for CSV files
+ * [SINGA-210] Enable checkpoint and resume for v1.0
+ * [SINGA-208] Add DataIter base class and a simple implementation
+ * [SINGA-203] Add OpenCV detection for cmake compilation
+ * [SINGA-202] Add reader and writer for binary file
+ * [SINGA-200] Implement Encoder and Decoder for data pre-processing
+
+
+
+ * Module components including layer classes, training algorithms and Python binding
+ * [SINGA-235] Unify the engines for cudnn and singa layers
+ * [SINGA-230] OpenCL Convolution layer and Pooling layer
+ * [SINGA-222] Fixed bugs in IO
+ * [SINGA-218] Implementation for RNN CUDNN version
+ * [SINGA-204] Support the training of feed-forward neural nets
+ * [SINGA-199] Implement Python classes for SGD optimizers
+ * [SINGA-198] Change Layer::Setup API to include input Tensor shapes
+ * [SINGA-193] Add Python layers
+ * [SINGA-192] Implement optimization algorithms for SINGA v1 (nesterove, adagrad, rmsprop)
+ * [SINGA-191] Add "autotune" for CudnnConvolution Layer
+ * [SINGA-190] Add prelu layer and flatten layer
+ * [SINGA-189] Generate python outputs of proto files
+ * [SINGA-188] Add Dense layer
+ * [SINGA-187] Add popular parameter initialization methods
+ * [SINGA-186] Create Python Tensor class
+ * [SINGA-184] Add Cross Entropy loss computation
+ * [SINGA-183] Add the base classes for optimizer, constraint and regularizer
+ * [SINGA-180] Add Activation layer and Softmax layer
+ * [SINGA-178] Add Convolution layer and Pooling layer
+ * [SINGA-176] Add loss and metric base classes
+ * [SINGA-174] Add Batch Normalization layer and Local Response Nomalization layer.
+ * [SINGA-170] Add Dropout layer and CudnnDropout layer.
+ * [SINGA-169] Add base Layer class for V1.0
+
+
+ * Examples
+ * [SINGA-232] Alexnet on Imagenet
+ * [SINGA-231] Batchnormlized VGG model for cifar-10
+ * [SINGA-228] Add Cpp Version of Convolution and Pooling layer
+ * [SINGA-227] Add Split and Merge Layer and add ResNet Implementation
+
+ * Documentation
+ * [SINGA-239] Transfer documentation files of v0.3.0 to github
+ * [SINGA-238] RBM on mnist
+ * [SINGA-225] Documentation for installation and Cifar10 example
+ * [SINGA-223] Use Sphinx to create the website
+
+ * Tools for compilation and some utility code
+ * [SINGA-229] Complete install targets
+ * [SINGA-221] Support for Travis-CI
+ * [SINGA-217] build python package with setup.py
+ * [SINGA-216] add jenkins for CI support
+ * [SINGA-212] Disable the compilation of libcnmem if USE_CUDA is OFF
+ * [SINGA-195] Channel for sending training statistics
+ * [SINGA-185] Add CBLAS and GLOG detection for singav1
+ * [SINGA-181] Add NVCC supporting for .cu files
+ * [SINGA-177] Add fully cmake supporting for the compilation of singa_v1
+ * [SINGA-172] Add CMake supporting for Cuda and Cudnn libs
diff --git a/_sources/releases/RELEASE_NOTES_1.1.0.md.txt b/_sources/releases/RELEASE_NOTES_1.1.0.md.txt
new file mode 100644
index 0000000..fffe6b0
--- /dev/null
+++ b/_sources/releases/RELEASE_NOTES_1.1.0.md.txt
@@ -0,0 +1,67 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# singa-incubating-1.1.0 Release Notes
+
+---
+
+SINGA is a general distributed deep learning platform for training big deep
+learning models over large datasets.
+
+This release includes following features:
+
+ * Core components
+ * [SINGA-296] Add sign and to_host function for pysinga tensor module
+
+ * Model components
+ * [SINGA-254] Implement Adam for V1
+ * [SINGA-264] Extend the FeedForwardNet to accept multiple inputs
+ * [SINGA-267] Add spatial mode in batch normalization layer
+ * [SINGA-271] Add Concat and Slice layers
+ * [SINGA-275] Add Cross Entropy Loss for multiple labels
+ * [SINGA-278] Convert trained caffe parameters to singa
+ * [SINGA-287] Add memory size check for cudnn convolution
+
+ * Utility functions and CI
+ * [SINGA-242] Compile all source files into a single library.
+ * [SINGA-244] Separating swig interface and python binding files
+ * [SINGA-246] Imgtool for image augmentation
+ * [SINGA-247] Add windows support for singa
+ * [SINGA-251] Implement image loader for pysinga
+ * [SINGA-252] Use the snapshot methods to dump and load models for pysinga
+ * [SINGA-255] Compile mandatory dependent libaries together with SINGA code
+ * [SINGA-259] Add maven pom file for building java classes
+ * [SINGA-261] Add version ID into the checkpoint files
+ * [SINGA-266] Add Rafiki python toolkits
+ * [SINGA-273] Improve license and contributions
+ * [SINGA-284] Add python unittest into Jenkins and link static libs into whl file
+ * [SINGA-280] Jenkins CI support
+ * [SINGA-288] Publish wheel of PySINGA generated by Jenkins to public servers
+
+ * Documentation and usability
+ * [SINGA-263] Create Amazon Machine Image
+ * [SINGA-268] Add IPython notebooks to the documentation
+ * [SINGA-276] Create docker images
+ * [SINGA-289] Update SINGA website automatically using Jenkins
+ * [SINGA-295] Add an example of image classification using GoogleNet
+
+ * Bugs fixed
+ * [SINGA-245] float as the first operand can not multiply with a tensor object
+ * [SINGA-293] Bug from compiling PySINGA on Mac OS X with multiple version of Python
+
+
diff --git a/_sources/releases/RELEASE_NOTES_1.2.0.md.txt b/_sources/releases/RELEASE_NOTES_1.2.0.md.txt
new file mode 100644
index 0000000..2c7a134
--- /dev/null
+++ b/_sources/releases/RELEASE_NOTES_1.2.0.md.txt
@@ -0,0 +1,73 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+# singa-incubating-1.2.0 Release Notes
+
+---
+
+SINGA is a general distributed deep learning platform for training big deep
+learning models over large datasets.
+
+This release includes following features:
+
+ * Core components
+ * [SINGA-290] Upgrade to Python 3
+ * [SINGA-341] Added stride functionality to tensors for CPP
+ * [SINGA-347] Create a function that supports einsum
+ * [SINGA-351] Added stride support and cudnn codes to cuda
+
+ * Model components
+ * [SINGA-300] Add residual networks for imagenet classification
+ * [SINGA-312] Rename layer parameters
+ * [SINGA-313] Add L2 norm layer
+ * [SINGA-315] Reduce memory footprint by Python generator for parameter
+ * [SINGA-316] Add SigmoidCrossEntropy
+ * [SINGA-324] Extend RNN layer to accept variant seq length across batches
+ * [SINGA-326] Add Inception V4 for ImageNet classification
+ * [SINGA-328] Add VGG models for ImageNet classification
+ * [SINGA-329] Support layer freezing during training (fine-tuning)
+ * [SINGA-346] Update cudnn from V5 to V7
+ * [SINGA-349] Create layer operations for autograd
+ * [SINGA-363] Add DenseNet for Imagenet classification
+
+ * Utility functions and CI
+ * [SINGA-274] Improve Debian packaging with CPack
+ * [SINGA-303] Create conda packages
+ * [SINGA-337] Add test cases for code
+ * [SINGA-348] Support autograd MLP Example
+ * [SINGA-345] Update Jenkins and fix bugs in compliation
+ * [SINGA-354] Update travis scripts to use conda-build for all platforms
+ * [SINGA-358] Consolidated RUN steps and cleaned caches in Docker containers
+ * [SINGA-359] Create alias for conda packages
+
+ * Documentation and usability
+ * [SINGA-223] Fix side navigation menu in the website
+ * [SINGA-294] Add instructions to run CUDA unit tests on Windows
+ * [SINGA-305] Add jupyter notebooks for SINGA V1 tutorial
+ * [SINGA-319] Fix link errors on the index page
+ * [SINGA-352] Complete SINGA documentation in Chinese version
+ * [SINGA-361] Add git instructions for contributors and committers
+
+ * Bugs fixed
+ * [SINGA-330] fix openblas building on i7 7700k
+ * [SINGA-331] Fix the bug of tensor division operation
+ * [SINGA-350] Error from python3 test
+ * [SINGA-356] Error using travis tool to build SINGA on mac os
+ * [SINGA-363] Fix some bugs in imagenet examples
+ * [SINGA-368] Fix the bug in Cifar10 examples
+ * [SINGA-369] the errors of examples in testing
diff --git a/_sources/releases/RELEASE_NOTES_2.0.0.md.txt b/_sources/releases/RELEASE_NOTES_2.0.0.md.txt
new file mode 100644
index 0000000..b50e288
--- /dev/null
+++ b/_sources/releases/RELEASE_NOTES_2.0.0.md.txt
@@ -0,0 +1,64 @@
+<!--
+ 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# singa-incubating-2.0.0 Release Notes
+
+---
+
+SINGA is a general distributed deep learning platform for training big deep
+learning models over large datasets.
+
+This release includes following features:
+
+ * Core components
+ * [SINGA-434] Support tensor broadcasting
+ * [SINGA-370] Improvement to tensor reshape and various misc. changes related to SINGA-341 and 351
+
+ * Model components
+ * [SINGA-333] Add support for Open Neural Network Exchange (ONNX) format
+ * [SINGA-385] Add new python module for optimizers
+ * [SINGA-394] Improve the CPP operations via Intel MKL DNN lib
+ * [SINGA-425] Add 3 operators , Abs(), Exp() and leakyrelu(), for Autograd
+ * [SINGA-410] Add two function, set_params() and get_params(), for Autograd Layer class
+ * [SINGA-383] Add Separable Convolution for autograd
+ * [SINGA-388] Develop some RNN layers by calling tiny operations like matmul, addbias.
+ * [SINGA-382] Implement concat operation for autograd
+ * [SINGA-378] Implement maxpooling operation and its related functions for autograd
+ * [SINGA-379] Implement batchnorm operation and its related functions for autograd
+
+ * Utility functions and CI
+ * [SINGA-432] Update depdent lib versions in conda-build config
+ * [SINGA-429] Update docker images for latest cuda and cudnn
+ * [SINGA-428] Move Docker images under Apache user name
+
+ * Documentation and usability
+ * [SINGA-395] Add documentation for autograd APIs
+ * [SINGA-344] Add a GAN example
+ * [SINGA-390] Update installation.md
+ * [SINGA-384] Implement ResNet using autograd API
+ * [SINGA-352] Complete SINGA documentation in Chinese version
+
+
+ * Bugs fixed
+ * [SINGA-431] Unit Test failed - Tensor Transpose
+ * [SINGA-422] ModuleNotFoundError: No module named "_singa_wrap"
+ * [SINGA-418] Unsupportive type 'long' in python3.
+ * [SINGA-409] Basic `singa-cpu` import throws error
+ * [SINGA-408] Unsupportive function definition in python3
+ * [SINGA-380] Fix bugs from Reshape
diff --git a/_sources/security.rst.txt b/_sources/security.rst.txt
new file mode 100644
index 0000000..2a848fa
--- /dev/null
+++ b/_sources/security.rst.txt
@@ -0,0 +1,23 @@
+.. 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 required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+Security
+========
+
+Users can report security vulnerabilities to `SINGA Security Team Mail List <ma...@singa.apache.org>`_.
+
+
diff --git a/_static/ajax-loader.gif b/_static/ajax-loader.gif
new file mode 100644
index 0000000..61faf8c
Binary files /dev/null and b/_static/ajax-loader.gif differ
diff --git a/_static/apache.png b/_static/apache.png
new file mode 100644
index 0000000..338169e
Binary files /dev/null and b/_static/apache.png differ
diff --git a/_static/awsmp.gif b/_static/awsmp.gif
new file mode 100644
index 0000000..d77ae62
Binary files /dev/null and b/_static/awsmp.gif differ
diff --git a/_static/basic.css b/_static/basic.css
new file mode 100644
index 0000000..53acd09
--- /dev/null
+++ b/_static/basic.css
@@ -0,0 +1,748 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+ clear: both;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+ width: 100%;
+ font-size: 90%;
+}
+
+div.related h3 {
+ display: none;
+}
+
+div.related ul {
+ margin: 0;
+ padding: 0 0 0 10px;
+ list-style: none;
+}
+
+div.related li {
+ display: inline;
+}
+
+div.related li.right {
+ float: right;
+ margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+ padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+ float: left;
+ width: 230px;
+ margin-left: -100%;
+ font-size: 90%;
+ word-wrap: break-word;
+ overflow-wrap : break-word;
+}
+
+div.sphinxsidebar ul {
+ list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+ margin-left: 20px;
+ list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+ margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+ border: 1px solid #98dbcc;
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox form.search {
+ overflow: hidden;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+ float: left;
+ width: 80%;
+ padding: 0.25em;
+ box-sizing: border-box;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+ float: left;
+ width: 20%;
+ border-left: none;
+ padding: 0.25em;
+ box-sizing: border-box;
+}
+
+
+img {
+ border: 0;
+ max-width: 100%;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+ margin: 10px 0 0 20px;
+ padding: 0;
+}
+
+ul.search li {
+ padding: 5px 0 5px 20px;
+ background-image: url(file.png);
+ background-repeat: no-repeat;
+ background-position: 0 7px;
+}
+
+ul.search li a {
+ font-weight: bold;
+}
+
+ul.search li div.context {
+ color: #888;
+ margin: 2px 0 0 30px;
+ text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+ font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+ width: 90%;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table.contentstable p.biglink {
+ line-height: 150%;
+}
+
+a.biglink {
+ font-size: 1.3em;
+}
+
+span.linkdescr {
+ font-style: italic;
+ padding-top: 5px;
+ font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+ width: 100%;
+}
+
+table.indextable td {
+ text-align: left;
+ vertical-align: top;
+}
+
+table.indextable ul {
+ margin-top: 0;
+ margin-bottom: 0;
+ list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+ padding-left: 0em;
+}
+
+table.indextable tr.pcap {
+ height: 10px;
+}
+
+table.indextable tr.cap {
+ margin-top: 10px;
+ background-color: #f2f2f2;
+}
+
+img.toggler {
+ margin-right: 3px;
+ margin-top: 3px;
+ cursor: pointer;
+}
+
+div.modindex-jumpbox {
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 1em 0;
+ padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+ border-top: 1px solid #ddd;
+ border-bottom: 1px solid #ddd;
+ margin: 1em 0 1em 0;
+ padding: 0.4em;
+}
+
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+ padding: 2px;
+ border-collapse: collapse;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+div.body {
+ min-width: 450px;
+ max-width: 800px;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+ -moz-hyphens: auto;
+ -ms-hyphens: auto;
+ -webkit-hyphens: auto;
+ hyphens: auto;
+}
+
+a.headerlink {
+ visibility: hidden;
+}
+
+a.brackets:before,
+span.brackets > a:before{
+ content: "[";
+}
+
+a.brackets:after,
+span.brackets > a:after {
+ content: "]";
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink,
+caption:hover > a.headerlink,
+p.caption:hover > a.headerlink,
+div.code-block-caption:hover > a.headerlink {
+ visibility: visible;
+}
+
+div.body p.caption {
+ text-align: inherit;
+}
+
+div.body td {
+ text-align: left;
+}
+
+.first {
+ margin-top: 0 !important;
+}
+
+p.rubric {
+ margin-top: 30px;
+ font-weight: bold;
+}
+
+img.align-left, .figure.align-left, object.align-left {
+ clear: left;
+ float: left;
+ margin-right: 1em;
+}
+
+img.align-right, .figure.align-right, object.align-right {
+ clear: right;
+ float: right;
+ margin-left: 1em;
+}
+
+img.align-center, .figure.align-center, object.align-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.align-left {
+ text-align: left;
+}
+
+.align-center {
+ text-align: center;
+}
+
+.align-right {
+ text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar {
+ margin: 0 0 0.5em 1em;
+ border: 1px solid #ddb;
+ padding: 7px 7px 0 7px;
+ background-color: #ffe;
+ width: 40%;
+ float: right;
+}
+
+p.sidebar-title {
+ font-weight: bold;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+ border: 1px solid #ccc;
+ padding: 7px 7px 0 7px;
+ margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ padding: 7px;
+}
+
+div.admonition dt {
+ font-weight: bold;
+}
+
+div.admonition dl {
+ margin-bottom: 0;
+}
+
+p.admonition-title {
+ margin: 0px 10px 5px 0px;
+ font-weight: bold;
+}
+
+div.body p.centered {
+ text-align: center;
+ margin-top: 25px;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+ border: 0;
+ border-collapse: collapse;
+}
+
+table.align-center {
+ margin-left: auto;
+ margin-right: auto;
+}
+
+table caption span.caption-number {
+ font-style: italic;
+}
+
+table caption span.caption-text {
+}
+
+table.docutils td, table.docutils th {
+ padding: 1px 8px 1px 5px;
+ border-top: 0;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 1px solid #aaa;
+}
+
+table.footnote td, table.footnote th {
+ border: 0 !important;
+}
+
+th {
+ text-align: left;
+ padding-right: 5px;
+}
+
+table.citation {
+ border-left: solid 1px gray;
+ margin-left: 1px;
+}
+
+table.citation td {
+ border-bottom: none;
+}
+
+th > p:first-child,
+td > p:first-child {
+ margin-top: 0px;
+}
+
+th > p:last-child,
+td > p:last-child {
+ margin-bottom: 0px;
+}
+
+/* -- figures --------------------------------------------------------------- */
+
+div.figure {
+ margin: 0.5em;
+ padding: 0.5em;
+}
+
+div.figure p.caption {
+ padding: 0.3em;
+}
+
+div.figure p.caption span.caption-number {
+ font-style: italic;
+}
+
+div.figure p.caption span.caption-text {
+}
+
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+ border: 0 !important;
+}
+
+.field-list ul {
+ margin: 0;
+ padding-left: 1em;
+}
+
+.field-list p {
+ margin: 0;
+}
+
+.field-name {
+ -moz-hyphens: manual;
+ -ms-hyphens: manual;
+ -webkit-hyphens: manual;
+ hyphens: manual;
+}
+
+/* -- hlist styles ---------------------------------------------------------- */
+
+table.hlist td {
+ vertical-align: top;
+}
+
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+ list-style: decimal;
+}
+
+ol.loweralpha {
+ list-style: lower-alpha;
+}
+
+ol.upperalpha {
+ list-style: upper-alpha;
+}
+
+ol.lowerroman {
+ list-style: lower-roman;
+}
+
+ol.upperroman {
+ list-style: upper-roman;
+}
+
+li > p:first-child {
+ margin-top: 0px;
+}
+
+li > p:last-child {
+ margin-bottom: 0px;
+}
+
+dl.footnote > dt,
+dl.citation > dt {
+ float: left;
+}
+
+dl.footnote > dd,
+dl.citation > dd {
+ margin-bottom: 0em;
+}
+
+dl.footnote > dd:after,
+dl.citation > dd:after {
+ content: "";
+ clear: both;
+}
+
+dl.field-list {
+ display: flex;
+ flex-wrap: wrap;
+}
+
+dl.field-list > dt {
+ flex-basis: 20%;
+ font-weight: bold;
+ word-break: break-word;
+}
+
+dl.field-list > dt:after {
+ content: ":";
+}
+
+dl.field-list > dd {
+ flex-basis: 70%;
+ padding-left: 1em;
+ margin-left: 0em;
+ margin-bottom: 0em;
+}
+
+dl {
+ margin-bottom: 15px;
+}
+
+dd > p:first-child {
+ margin-top: 0px;
+}
+
+dd ul, dd table {
+ margin-bottom: 10px;
+}
+
+dd {
+ margin-top: 3px;
+ margin-bottom: 10px;
+ margin-left: 30px;
+}
+
+dt:target, span.highlighted {
+ background-color: #fbe54e;
+}
+
+rect.highlighted {
+ fill: #fbe54e;
+}
+
+dl.glossary dt {
+ font-weight: bold;
+ font-size: 1.1em;
+}
+
+.optional {
+ font-size: 1.3em;
+}
+
+.sig-paren {
+ font-size: larger;
+}
+
+.versionmodified {
+ font-style: italic;
+}
+
+.system-message {
+ background-color: #fda;
+ padding: 5px;
+ border: 3px solid red;
+}
+
+.footnote:target {
+ background-color: #ffa;
+}
+
+.line-block {
+ display: block;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+.line-block .line-block {
+ margin-top: 0;
+ margin-bottom: 0;
+ margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+ font-family: sans-serif;
+}
+
+.accelerator {
+ text-decoration: underline;
+}
+
+.classifier {
+ font-style: oblique;
+}
+
+.classifier:before {
+ font-style: normal;
+ margin: 0.5em;
+ content: ":";
+}
+
+abbr, acronym {
+ border-bottom: dotted 1px;
+ cursor: help;
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+ overflow: auto;
+ overflow-y: hidden; /* fixes display issues on Chrome browsers */
+}
+
+span.pre {
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ -webkit-hyphens: none;
+ hyphens: none;
+}
+
+td.linenos pre {
+ padding: 5px 0px;
+ border: 0;
+ background-color: transparent;
+ color: #aaa;
+}
+
+table.highlighttable {
+ margin-left: 0.5em;
+}
+
+table.highlighttable td {
+ padding: 0 0.5em 0 0.5em;
+}
+
+div.code-block-caption {
+ padding: 2px 5px;
+ font-size: small;
+}
+
+div.code-block-caption code {
+ background-color: transparent;
+}
+
+div.code-block-caption + div > div.highlight > pre {
+ margin-top: 0;
+}
+
+div.code-block-caption span.caption-number {
+ padding: 0.1em 0.3em;
+ font-style: italic;
+}
+
+div.code-block-caption span.caption-text {
+}
+
+div.literal-block-wrapper {
+ padding: 1em 1em 0;
+}
+
+div.literal-block-wrapper div.highlight {
+ margin: 0;
+}
+
+code.descname {
+ background-color: transparent;
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+code.descclassname {
+ background-color: transparent;
+}
+
+code.xref, a code {
+ background-color: transparent;
+ font-weight: bold;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+ background-color: transparent;
+}
+
+.viewcode-link {
+ float: right;
+}
+
+.viewcode-back {
+ float: right;
+ font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+ margin: -1px -10px;
+ padding: 0 10px;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+ vertical-align: middle;
+}
+
+div.body div.math p {
+ text-align: center;
+}
+
+span.eqno {
+ float: right;
+}
+
+span.eqno a.headerlink {
+ position: relative;
+ left: 0px;
+ z-index: 1;
+}
+
+div.math:hover a.headerlink {
+ visibility: visible;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+@media print {
+ div.document,
+ div.documentwrapper,
+ div.bodywrapper {
+ margin: 0 !important;
+ width: 100%;
+ }
+
+ div.sphinxsidebar,
+ div.related,
+ div.footer,
+ #top-link {
+ display: none;
+ }
+}
\ No newline at end of file
diff --git a/_static/comment-bright.png b/_static/comment-bright.png
new file mode 100644
index 0000000..15e27ed
Binary files /dev/null and b/_static/comment-bright.png differ
diff --git a/_static/comment-close.png b/_static/comment-close.png
new file mode 100644
index 0000000..4d91bcf
Binary files /dev/null and b/_static/comment-close.png differ
diff --git a/_static/comment.png b/_static/comment.png
new file mode 100644
index 0000000..dfbc0cb
Binary files /dev/null and b/_static/comment.png differ
diff --git a/_static/css/badge_only.css b/_static/css/badge_only.css
new file mode 100644
index 0000000..3c33cef
--- /dev/null
+++ b/_static/css/badge_only.css
@@ -0,0 +1 @@
+.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../fonts/fontawesome-webfont.eot");src:url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff") format("woff"),url("../fonts/fontawesome-webfont.ttf") format("truetype"),url("../fonts/fontawesome-webfon [...]
diff --git a/_static/css/theme.css b/_static/css/theme.css
new file mode 100644
index 0000000..aed8cef
--- /dev/null
+++ b/_static/css/theme.css
@@ -0,0 +1,6 @@
+/* sphinx_rtd_theme version 0.4.3 | MIT license */
+/* Built 20190212 16:02 */
+*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[ [...]
+ * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
+ * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:norma [...]
diff --git a/_static/docker.png b/_static/docker.png
new file mode 100644
index 0000000..10eaae9
Binary files /dev/null and b/_static/docker.png differ
diff --git a/_static/doctools.js b/_static/doctools.js
new file mode 100644
index 0000000..b33f87f
--- /dev/null
+++ b/_static/doctools.js
@@ -0,0 +1,314 @@
+/*
+ * doctools.js
+ * ~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for all documentation.
+ *
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/**
+ * select a different prefix for underscore
+ */
+$u = _.noConflict();
+
+/**
+ * make the code below compatible with browsers without
+ * an installed firebug like debugger
+if (!window.console || !console.firebug) {
+ var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
+ "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
+ "profile", "profileEnd"];
+ window.console = {};
+ for (var i = 0; i < names.length; ++i)
+ window.console[names[i]] = function() {};
+}
+ */
+
+/**
+ * small helper function to urldecode strings
+ */
+jQuery.urldecode = function(x) {
+ return decodeURIComponent(x).replace(/\+/g, ' ');
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+ if (typeof s === 'undefined')
+ s = document.location.search;
+ var parts = s.substr(s.indexOf('?') + 1).split('&');
+ var result = {};
+ for (var i = 0; i < parts.length; i++) {
+ var tmp = parts[i].split('=', 2);
+ var key = jQuery.urldecode(tmp[0]);
+ var value = jQuery.urldecode(tmp[1]);
+ if (key in result)
+ result[key].push(value);
+ else
+ result[key] = [value];
+ }
+ return result;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+ function highlight(node, addItems) {
+ if (node.nodeType === 3) {
+ var val = node.nodeValue;
+ var pos = val.toLowerCase().indexOf(text);
+ if (pos >= 0 &&
+ !jQuery(node.parentNode).hasClass(className) &&
+ !jQuery(node.parentNode).hasClass("nohighlight")) {
+ var span;
+ var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+ if (isInSVG) {
+ span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ } else {
+ span = document.createElement("span");
+ span.className = className;
+ }
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+ document.createTextNode(val.substr(pos + text.length)),
+ node.nextSibling));
+ node.nodeValue = val.substr(0, pos);
+ if (isInSVG) {
+ var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+ var bbox = node.parentElement.getBBox();
+ rect.x.baseVal.value = bbox.x;
+ rect.y.baseVal.value = bbox.y;
+ rect.width.baseVal.value = bbox.width;
+ rect.height.baseVal.value = bbox.height;
+ rect.setAttribute('class', className);
+ addItems.push({
+ "parent": node.parentNode,
+ "target": rect});
+ }
+ }
+ }
+ else if (!jQuery(node).is("button, select, textarea")) {
+ jQuery.each(node.childNodes, function() {
+ highlight(this, addItems);
+ });
+ }
+ }
+ var addItems = [];
+ var result = this.each(function() {
+ highlight(this, addItems);
+ });
+ for (var i = 0; i < addItems.length; ++i) {
+ jQuery(addItems[i].parent).before(addItems[i].target);
+ }
+ return result;
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+ jQuery.uaMatch = function(ua) {
+ ua = ua.toLowerCase();
+
+ var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
+ /(webkit)[ \/]([\w.]+)/.exec(ua) ||
+ /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
+ /(msie) ([\w.]+)/.exec(ua) ||
+ ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
+ [];
+
+ return {
+ browser: match[ 1 ] || "",
+ version: match[ 2 ] || "0"
+ };
+ };
+ jQuery.browser = {};
+ jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+var Documentation = {
+
+ init : function() {
+ this.fixFirefoxAnchorBug();
+ this.highlightSearchWords();
+ this.initIndexTable();
+ if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
+ this.initOnKeyListeners();
+ }
+ },
+
+ /**
+ * i18n support
+ */
+ TRANSLATIONS : {},
+ PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
+ LOCALE : 'unknown',
+
+ // gettext and ngettext don't access this so that the functions
+ // can safely bound to a different name (_ = Documentation.gettext)
+ gettext : function(string) {
+ var translated = Documentation.TRANSLATIONS[string];
+ if (typeof translated === 'undefined')
+ return string;
+ return (typeof translated === 'string') ? translated : translated[0];
+ },
+
+ ngettext : function(singular, plural, n) {
+ var translated = Documentation.TRANSLATIONS[singular];
+ if (typeof translated === 'undefined')
+ return (n == 1) ? singular : plural;
+ return translated[Documentation.PLURALEXPR(n)];
+ },
+
+ addTranslations : function(catalog) {
+ for (var key in catalog.messages)
+ this.TRANSLATIONS[key] = catalog.messages[key];
+ this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
+ this.LOCALE = catalog.locale;
+ },
+
+ /**
+ * add context elements like header anchor links
+ */
+ addContextElements : function() {
+ $('div[id] > :header:first').each(function() {
+ $('<a class="headerlink">\u00B6</a>').
+ attr('href', '#' + this.id).
+ attr('title', _('Permalink to this headline')).
+ appendTo(this);
+ });
+ $('dt[id]').each(function() {
+ $('<a class="headerlink">\u00B6</a>').
+ attr('href', '#' + this.id).
+ attr('title', _('Permalink to this definition')).
+ appendTo(this);
+ });
+ },
+
+ /**
+ * workaround a firefox stupidity
+ * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
+ */
+ fixFirefoxAnchorBug : function() {
+ if (document.location.hash && $.browser.mozilla)
+ window.setTimeout(function() {
+ document.location.href += '';
+ }, 10);
+ },
+
+ /**
+ * highlight the search words provided in the url in the text
+ */
+ highlightSearchWords : function() {
+ var params = $.getQueryParameters();
+ var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
+ if (terms.length) {
+ var body = $('div.body');
+ if (!body.length) {
+ body = $('body');
+ }
+ window.setTimeout(function() {
+ $.each(terms, function() {
+ body.highlightText(this.toLowerCase(), 'highlighted');
+ });
+ }, 10);
+ $('<p class="highlight-link"><a href="javascript:Documentation.' +
+ 'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
+ .appendTo($('#searchbox'));
+ }
+ },
+
+ /**
+ * init the domain index toggle buttons
+ */
+ initIndexTable : function() {
+ var togglers = $('img.toggler').click(function() {
+ var src = $(this).attr('src');
+ var idnum = $(this).attr('id').substr(7);
+ $('tr.cg-' + idnum).toggle();
+ if (src.substr(-9) === 'minus.png')
+ $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
+ else
+ $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
+ }).css('display', '');
+ if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
+ togglers.click();
+ }
+ },
+
+ /**
+ * helper function to hide the search marks again
+ */
+ hideSearchWords : function() {
+ $('#searchbox .highlight-link').fadeOut(300);
+ $('span.highlighted').removeClass('highlighted');
+ },
+
+ /**
+ * make the url absolute
+ */
+ makeURL : function(relativeURL) {
+ return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
+ },
+
+ /**
+ * get the current relative url
+ */
+ getCurrentURL : function() {
+ var path = document.location.pathname;
+ var parts = path.split(/\//);
+ $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
+ if (this === '..')
+ parts.pop();
+ });
+ var url = parts.join('/');
+ return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+ },
+
+ initOnKeyListeners: function() {
+ $(document).keyup(function(event) {
+ var activeElementType = document.activeElement.tagName;
+ // don't navigate when in search box or textarea
+ if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
+ switch (event.keyCode) {
+ case 37: // left
+ var prevHref = $('link[rel="prev"]').prop('href');
+ if (prevHref) {
+ window.location.href = prevHref;
+ return false;
+ }
+ case 39: // right
+ var nextHref = $('link[rel="next"]').prop('href');
+ if (nextHref) {
+ window.location.href = nextHref;
+ return false;
+ }
+ }
+ }
+ });
+ }
+};
+
+// quick alias for translations
+_ = Documentation.gettext;
+
+$(document).ready(function() {
+ Documentation.init();
+});
diff --git a/_static/documentation_options.js b/_static/documentation_options.js
new file mode 100644
index 0000000..3adf28f
--- /dev/null
+++ b/_static/documentation_options.js
@@ -0,0 +1,10 @@
+var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
+ VERSION: '2.0.0',
+ LANGUAGE: 'None',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true,
+ SOURCELINK_SUFFIX: '.txt',
+ NAVIGATION_WITH_KEYS: false
+};
\ No newline at end of file
diff --git a/_static/down-pressed.png b/_static/down-pressed.png
new file mode 100644
index 0000000..5756c8c
Binary files /dev/null and b/_static/down-pressed.png differ
diff --git a/_static/down.png b/_static/down.png
new file mode 100644
index 0000000..1b3bdad
Binary files /dev/null and b/_static/down.png differ
diff --git a/_static/file.png b/_static/file.png
new file mode 100644
index 0000000..a858a41
Binary files /dev/null and b/_static/file.png differ
diff --git a/_static/fonts/Inconsolata-Bold.ttf b/_static/fonts/Inconsolata-Bold.ttf
new file mode 100644
index 0000000..809c1f5
Binary files /dev/null and b/_static/fonts/Inconsolata-Bold.ttf differ
diff --git a/_static/fonts/Inconsolata-Regular.ttf b/_static/fonts/Inconsolata-Regular.ttf
new file mode 100644
index 0000000..fc981ce
Binary files /dev/null and b/_static/fonts/Inconsolata-Regular.ttf differ
diff --git a/_static/fonts/Inconsolata.ttf b/_static/fonts/Inconsolata.ttf
new file mode 100644
index 0000000..4b8a36d
Binary files /dev/null and b/_static/fonts/Inconsolata.ttf differ
diff --git a/_static/fonts/Lato-Bold.ttf b/_static/fonts/Lato-Bold.ttf
new file mode 100644
index 0000000..1d23c70
Binary files /dev/null and b/_static/fonts/Lato-Bold.ttf differ
diff --git a/_static/fonts/Lato-Regular.ttf b/_static/fonts/Lato-Regular.ttf
new file mode 100644
index 0000000..0f3d0f8
Binary files /dev/null and b/_static/fonts/Lato-Regular.ttf differ
diff --git a/_static/fonts/Lato/lato-bold.eot b/_static/fonts/Lato/lato-bold.eot
new file mode 100644
index 0000000..3361183
Binary files /dev/null and b/_static/fonts/Lato/lato-bold.eot differ
diff --git a/_static/fonts/Lato/lato-bold.ttf b/_static/fonts/Lato/lato-bold.ttf
new file mode 100644
index 0000000..29f691d
Binary files /dev/null and b/_static/fonts/Lato/lato-bold.ttf differ
diff --git a/_static/fonts/Lato/lato-bold.woff b/_static/fonts/Lato/lato-bold.woff
new file mode 100644
index 0000000..c6dff51
Binary files /dev/null and b/_static/fonts/Lato/lato-bold.woff differ
diff --git a/_static/fonts/Lato/lato-bold.woff2 b/_static/fonts/Lato/lato-bold.woff2
new file mode 100644
index 0000000..bb19504
Binary files /dev/null and b/_static/fonts/Lato/lato-bold.woff2 differ
diff --git a/_static/fonts/Lato/lato-bolditalic.eot b/_static/fonts/Lato/lato-bolditalic.eot
new file mode 100644
index 0000000..3d41549
Binary files /dev/null and b/_static/fonts/Lato/lato-bolditalic.eot differ
diff --git a/_static/fonts/Lato/lato-bolditalic.ttf b/_static/fonts/Lato/lato-bolditalic.ttf
new file mode 100644
index 0000000..f402040
Binary files /dev/null and b/_static/fonts/Lato/lato-bolditalic.ttf differ
diff --git a/_static/fonts/Lato/lato-bolditalic.woff b/_static/fonts/Lato/lato-bolditalic.woff
new file mode 100644
index 0000000..88ad05b
Binary files /dev/null and b/_static/fonts/Lato/lato-bolditalic.woff differ
diff --git a/_static/fonts/Lato/lato-bolditalic.woff2 b/_static/fonts/Lato/lato-bolditalic.woff2
new file mode 100644
index 0000000..c4e3d80
Binary files /dev/null and b/_static/fonts/Lato/lato-bolditalic.woff2 differ
diff --git a/_static/fonts/Lato/lato-italic.eot b/_static/fonts/Lato/lato-italic.eot
new file mode 100644
index 0000000..3f82642
Binary files /dev/null and b/_static/fonts/Lato/lato-italic.eot differ
diff --git a/_static/fonts/Lato/lato-italic.ttf b/_static/fonts/Lato/lato-italic.ttf
new file mode 100644
index 0000000..b4bfc9b
Binary files /dev/null and b/_static/fonts/Lato/lato-italic.ttf differ
diff --git a/_static/fonts/Lato/lato-italic.woff b/_static/fonts/Lato/lato-italic.woff
new file mode 100644
index 0000000..76114bc
Binary files /dev/null and b/_static/fonts/Lato/lato-italic.woff differ
diff --git a/_static/fonts/Lato/lato-italic.woff2 b/_static/fonts/Lato/lato-italic.woff2
new file mode 100644
index 0000000..3404f37
Binary files /dev/null and b/_static/fonts/Lato/lato-italic.woff2 differ
diff --git a/_static/fonts/Lato/lato-regular.eot b/_static/fonts/Lato/lato-regular.eot
new file mode 100644
index 0000000..11e3f2a
Binary files /dev/null and b/_static/fonts/Lato/lato-regular.eot differ
diff --git a/_static/fonts/Lato/lato-regular.ttf b/_static/fonts/Lato/lato-regular.ttf
new file mode 100644
index 0000000..74decd9
Binary files /dev/null and b/_static/fonts/Lato/lato-regular.ttf differ
diff --git a/_static/fonts/Lato/lato-regular.woff b/_static/fonts/Lato/lato-regular.woff
new file mode 100644
index 0000000..ae1307f
Binary files /dev/null and b/_static/fonts/Lato/lato-regular.woff differ
diff --git a/_static/fonts/Lato/lato-regular.woff2 b/_static/fonts/Lato/lato-regular.woff2
new file mode 100644
index 0000000..3bf9843
Binary files /dev/null and b/_static/fonts/Lato/lato-regular.woff2 differ
diff --git a/_static/fonts/RobotoSlab-Bold.ttf b/_static/fonts/RobotoSlab-Bold.ttf
new file mode 100644
index 0000000..df5d1df
Binary files /dev/null and b/_static/fonts/RobotoSlab-Bold.ttf differ
diff --git a/_static/fonts/RobotoSlab-Regular.ttf b/_static/fonts/RobotoSlab-Regular.ttf
new file mode 100644
index 0000000..eb52a79
Binary files /dev/null and b/_static/fonts/RobotoSlab-Regular.ttf differ
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
new file mode 100644
index 0000000..79dc8ef
Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot differ
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
new file mode 100644
index 0000000..df5d1df
Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf differ
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
new file mode 100644
index 0000000..6cb6000
Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff differ
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
new file mode 100644
index 0000000..7059e23
Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 differ
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
new file mode 100644
index 0000000..2f7ca78
Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot differ
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
new file mode 100644
index 0000000..eb52a79
Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf differ
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
new file mode 100644
index 0000000..f815f63
Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff differ
diff --git a/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
new file mode 100644
index 0000000..f2c76e5
Binary files /dev/null and b/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 differ
diff --git a/_static/fonts/fontawesome-webfont.eot b/_static/fonts/fontawesome-webfont.eot
new file mode 100644
index 0000000..e9f60ca
Binary files /dev/null and b/_static/fonts/fontawesome-webfont.eot differ
diff --git a/_static/fonts/fontawesome-webfont.svg b/_static/fonts/fontawesome-webfont.svg
new file mode 100644
index 0000000..855c845
--- /dev/null
+++ b/_static/fonts/fontawesome-webfont.svg
@@ -0,0 +1,2671 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
+ By ,,,
+Copyright Dave Gandy 2016. All rights reserved.
+</metadata>
+<defs>
+<font id="FontAwesome" horiz-adv-x="1536" >
+ <font-face
+ font-family="FontAwesome"
+ font-weight="400"
+ font-stretch="normal"
+ units-per-em="1792"
+ panose-1="0 0 0 0 0 0 0 0 0 0"
+ ascent="1536"
+ descent="-256"
+ bbox="-1.02083 -256.962 2304.6 1537.02"
+ underline-thickness="0"
+ underline-position="0"
+ unicode-range="U+0020-F500"
+ />
+<missing-glyph horiz-adv-x="896"
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+ <glyph glyph-name=".notdef" horiz-adv-x="896"
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+ <glyph glyph-name=".null" horiz-adv-x="0"
+ />
+ <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597"
+ />
+ <glyph glyph-name="space" unicode=" " horiz-adv-x="448"
+ />
+ <glyph glyph-name="dieresis" unicode="¨" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="copyright" unicode="©" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="registered" unicode="®" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="acute" unicode="´" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="AE" unicode="Æ" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="Oslash" unicode="Ø" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="trademark" unicode="™" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="infinity" unicode="∞" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="notequal" unicode="≠" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="glass" unicode="" horiz-adv-x="1792"
+d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
+ <glyph glyph-name="music" unicode=""
+d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89
+t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="search" unicode="" horiz-adv-x="1664"
+d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5
+t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+ <glyph glyph-name="envelope" unicode="" horiz-adv-x="1792"
+d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13
+t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z
+M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="heart" unicode="" horiz-adv-x="1792"
+d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600
+q-18 -18 -44 -18z" />
+ <glyph glyph-name="star" unicode="" horiz-adv-x="1664"
+d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455
+l502 -73q56 -9 56 -46z" />
+ <glyph glyph-name="star_empty" unicode="" horiz-adv-x="1664"
+d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500
+l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
+ <glyph glyph-name="user" unicode="" horiz-adv-x="1280"
+d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5
+t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+ <glyph glyph-name="film" unicode="" horiz-adv-x="1920"
+d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128
+q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45
+t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128
+q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19
+t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="th_large" unicode="" horiz-adv-x="1664"
+d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38
+h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+ <glyph glyph-name="th" unicode="" horiz-adv-x="1792"
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="th_list" unicode="" horiz-adv-x="1792"
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="ok" unicode="" horiz-adv-x="1792"
+d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
+ <glyph glyph-name="remove" unicode="" horiz-adv-x="1408"
+d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68
+t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
+ <glyph glyph-name="zoom_in" unicode="" horiz-adv-x="1664"
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224
+q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5
+t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+ <glyph glyph-name="zoom_out" unicode="" horiz-adv-x="1664"
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z
+M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z
+" />
+ <glyph glyph-name="off" unicode=""
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5
+t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
+ <glyph glyph-name="signal" unicode="" horiz-adv-x="1792"
+d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
+ <glyph glyph-name="cog" unicode=""
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38
+q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13
+l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22
+q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
+ <glyph glyph-name="trash" unicode="" horiz-adv-x="1408"
+d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832
+q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+ <glyph glyph-name="home" unicode="" horiz-adv-x="1664"
+d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5
+l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
+ <glyph glyph-name="file_alt" unicode=""
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+" />
+ <glyph glyph-name="time" unicode=""
+d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="road" unicode="" horiz-adv-x="1920"
+d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256
+q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
+ <glyph glyph-name="download_alt" unicode="" horiz-adv-x="1664"
+d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136
+q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
+ <glyph glyph-name="download" unicode=""
+d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273
+t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="upload" unicode=""
+d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198
+t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="inbox" unicode=""
+d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552
+q25 -61 25 -123z" />
+ <glyph glyph-name="play_circle" unicode=""
+d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="repeat" unicode=""
+d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9
+l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
+ <glyph glyph-name="refresh" unicode=""
+d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117
+q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5
+q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
+ <glyph glyph-name="list_alt" unicode="" horiz-adv-x="1792"
+d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z
+M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5
+t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47
+t47 -113z" />
+ <glyph glyph-name="lock" unicode="" horiz-adv-x="1152"
+d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="flag" unicode="" horiz-adv-x="1792"
+d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48
+t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="headphones" unicode="" horiz-adv-x="1664"
+d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78
+t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5
+t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
+ <glyph glyph-name="volume_off" unicode="" horiz-adv-x="768"
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
+ <glyph glyph-name="volume_down" unicode="" horiz-adv-x="1152"
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
+ <glyph glyph-name="volume_up" unicode="" horiz-adv-x="1664"
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5
+t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289
+t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
+ <glyph glyph-name="qrcode" unicode="" horiz-adv-x="1408"
+d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z
+M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
+ <glyph glyph-name="barcode" unicode="" horiz-adv-x="1792"
+d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z
+M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
+ <glyph glyph-name="tag" unicode=""
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91z" />
+ <glyph glyph-name="tags" unicode="" horiz-adv-x="1920"
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
+ <glyph glyph-name="book" unicode="" horiz-adv-x="1664"
+d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23
+q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906
+q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5
+t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
+ <glyph glyph-name="bookmark" unicode="" horiz-adv-x="1280"
+d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+ <glyph glyph-name="print" unicode="" horiz-adv-x="1664"
+d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68
+v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
+ <glyph glyph-name="camera" unicode="" horiz-adv-x="1920"
+d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136
+q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+ <glyph glyph-name="font" unicode="" horiz-adv-x="1664"
+d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57
+q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5
+q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
+ <glyph glyph-name="bold" unicode="" horiz-adv-x="1408"
+d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142
+q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5
+t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5
+t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
+ <glyph glyph-name="italic" unicode="" horiz-adv-x="1024"
+d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5
+q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
+ <glyph glyph-name="text_height" unicode="" horiz-adv-x="1792"
+d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2
+t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5
+q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
+ <glyph glyph-name="text_width" unicode=""
+d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1
+t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5
+t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49
+t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
+ <glyph glyph-name="align_left" unicode="" horiz-adv-x="1792"
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="align_center" unicode="" horiz-adv-x="1792"
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19
+h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="align_right" unicode="" horiz-adv-x="1792"
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="align_justify" unicode="" horiz-adv-x="1792"
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="list" unicode="" horiz-adv-x="1792"
+d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5
+t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344
+q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192
+q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
+ <glyph glyph-name="indent_left" unicode="" horiz-adv-x="1792"
+d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+ <glyph glyph-name="indent_right" unicode="" horiz-adv-x="1792"
+d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+ <glyph glyph-name="facetime_video" unicode="" horiz-adv-x="1792"
+d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5
+q39 -17 39 -59z" />
+ <glyph glyph-name="picture" unicode="" horiz-adv-x="1920"
+d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216
+q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="pencil" unicode=""
+d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38
+q53 0 91 -38l235 -234q37 -39 37 -91z" />
+ <glyph glyph-name="map_marker" unicode="" horiz-adv-x="1024"
+d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
+ <glyph glyph-name="adjust" unicode=""
+d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="tint" unicode="" horiz-adv-x="1024"
+d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362
+q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
+ <glyph glyph-name="edit" unicode="" horiz-adv-x="1792"
+d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92
+l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
+ <glyph glyph-name="share" unicode="" horiz-adv-x="1664"
+d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832
+q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5
+t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
+ <glyph glyph-name="check" unicode="" horiz-adv-x="1664"
+d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832
+q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110
+q24 -24 24 -57t-24 -57z" />
+ <glyph glyph-name="move" unicode="" horiz-adv-x="1792"
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45
+t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+ <glyph glyph-name="step_backward" unicode="" horiz-adv-x="1024"
+d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" />
+ <glyph glyph-name="fast_backward" unicode="" horiz-adv-x="1792"
+d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710
+q19 19 32 13t13 -32v-710q4 10 13 19z" />
+ <glyph glyph-name="backward" unicode="" horiz-adv-x="1664"
+d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" />
+ <glyph glyph-name="play" unicode="" horiz-adv-x="1408"
+d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
+ <glyph glyph-name="pause" unicode=""
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="stop" unicode=""
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="forward" unicode="" horiz-adv-x="1664"
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+ <glyph glyph-name="fast_forward" unicode="" horiz-adv-x="1792"
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710
+q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+ <glyph glyph-name="step_forward" unicode="" horiz-adv-x="1024"
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" />
+ <glyph glyph-name="eject" unicode="" horiz-adv-x="1538"
+d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
+ <glyph glyph-name="chevron_left" unicode="" horiz-adv-x="1280"
+d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
+ <glyph glyph-name="chevron_right" unicode="" horiz-adv-x="1280"
+d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
+ <glyph glyph-name="plus_sign" unicode=""
+d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5
+t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="minus_sign" unicode=""
+d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+ <glyph glyph-name="remove_sign" unicode=""
+d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19
+q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="ok_sign" unicode=""
+d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="question_sign" unicode=""
+d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59
+q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="info_sign" unicode=""
+d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23
+t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="screenshot" unicode=""
+d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109
+q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143
+q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="remove_circle" unicode=""
+d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5
+t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="ok_circle" unicode=""
+d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198
+t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="ban_circle" unicode=""
+d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61
+t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
+ <glyph glyph-name="arrow_left" unicode=""
+d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5
+t32.5 -90.5z" />
+ <glyph glyph-name="arrow_right" unicode=""
+d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
+ <glyph glyph-name="arrow_up" unicode="" horiz-adv-x="1664"
+d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651
+q37 -39 37 -91z" />
+ <glyph glyph-name="arrow_down" unicode="" horiz-adv-x="1664"
+d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
+ <glyph glyph-name="share_alt" unicode="" horiz-adv-x="1792"
+d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22
+t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
+ <glyph glyph-name="resize_full" unicode=""
+d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332
+q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="resize_small" unicode=""
+d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45
+t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
+ <glyph glyph-name="plus" unicode="" horiz-adv-x="1408"
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="minus" unicode="" horiz-adv-x="1408"
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="asterisk" unicode="" horiz-adv-x="1664"
+d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154
+q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
+ <glyph glyph-name="exclamation_sign" unicode=""
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192
+q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
+ <glyph glyph-name="gift" unicode=""
+d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320
+q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5
+t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
+ <glyph glyph-name="leaf" unicode="" horiz-adv-x="1792"
+d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268
+q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5
+t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
+ <glyph glyph-name="fire" unicode="" horiz-adv-x="1408"
+d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1
+q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
+ <glyph glyph-name="eye_open" unicode="" horiz-adv-x="1792"
+d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5
+t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
+ <glyph glyph-name="eye_close" unicode="" horiz-adv-x="1792"
+d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9
+q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5
+q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z
+" />
+ <glyph glyph-name="warning_sign" unicode="" horiz-adv-x="1792"
+d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185
+q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
+ <glyph glyph-name="plane" unicode="" horiz-adv-x="1408"
+d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9
+q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
+ <glyph glyph-name="calendar" unicode="" horiz-adv-x="1664"
+d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z
+M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64
+q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47
+h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+ <glyph glyph-name="random" unicode="" horiz-adv-x="1792"
+d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1
+t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5
+v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111
+t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+ <glyph glyph-name="comment" unicode="" horiz-adv-x="1792"
+d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281
+q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
+ <glyph glyph-name="magnet" unicode=""
+d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384
+q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="chevron_up" unicode="" horiz-adv-x="1792"
+d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
+ <glyph glyph-name="chevron_down" unicode="" horiz-adv-x="1792"
+d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
+ <glyph glyph-name="retweet" unicode="" horiz-adv-x="1920"
+d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21
+zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z
+" />
+ <glyph glyph-name="shopping_cart" unicode="" horiz-adv-x="1664"
+d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45
+t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="folder_close" unicode="" horiz-adv-x="1664"
+d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+ <glyph glyph-name="folder_open" unicode="" horiz-adv-x="1920"
+d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5
+t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
+ <glyph glyph-name="resize_vertical" unicode="" horiz-adv-x="768"
+d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
+ <glyph glyph-name="resize_horizontal" unicode="" horiz-adv-x="1792"
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+ <glyph glyph-name="bar_chart" unicode="" horiz-adv-x="2048"
+d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
+ <glyph glyph-name="twitter_sign" unicode=""
+d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4
+q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5
+t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="facebook_sign" unicode=""
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960z" />
+ <glyph glyph-name="camera_retro" unicode="" horiz-adv-x="1792"
+d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5
+t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280
+q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
+ <glyph glyph-name="key" unicode="" horiz-adv-x="1792"
+d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26
+l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5
+t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
+ <glyph glyph-name="cogs" unicode="" horiz-adv-x="1920"
+d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5
+l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7
+l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31
+q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20
+t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68
+q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70
+q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
+ <glyph glyph-name="comments" unicode="" horiz-adv-x="1792"
+d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224
+q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7
+q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
+ <glyph glyph-name="thumbs_up_alt" unicode=""
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5
+t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769
+q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128
+q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
+ <glyph glyph-name="thumbs_down_alt" unicode=""
+d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5
+t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z
+M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5
+h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" />
+ <glyph glyph-name="star_half" unicode="" horiz-adv-x="896"
+d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
+ <glyph glyph-name="heart_empty" unicode="" horiz-adv-x="1792"
+d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559
+q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5
+q224 0 351 -124t127 -344z" />
+ <glyph glyph-name="signout" unicode="" horiz-adv-x="1664"
+d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704
+q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
+ <glyph glyph-name="linkedin_sign" unicode=""
+d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5
+q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="pushpin" unicode="" horiz-adv-x="1152"
+d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38
+t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
+ <glyph glyph-name="external_link" unicode="" horiz-adv-x="1792"
+d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="signin" unicode=""
+d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5
+q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="trophy" unicode="" horiz-adv-x="1664"
+d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91
+t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96
+q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="github_sign" unicode=""
+d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4
+q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4
+t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16
+q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="upload_alt" unicode="" horiz-adv-x="1664"
+d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92
+t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
+ <glyph glyph-name="lemon" unicode=""
+d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5
+q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44
+q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5
+q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" />
+ <glyph glyph-name="phone" unicode="" horiz-adv-x="1408"
+d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186
+q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14
+t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
+ <glyph glyph-name="check_empty" unicode="" horiz-adv-x="1408"
+d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="bookmark_empty" unicode="" horiz-adv-x="1280"
+d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289
+q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+ <glyph glyph-name="phone_sign" unicode=""
+d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5
+t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5
+t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z
+" />
+ <glyph glyph-name="twitter" unicode="" horiz-adv-x="1664"
+d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41
+q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
+ <glyph glyph-name="facebook" unicode="" horiz-adv-x="1024"
+d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
+ <glyph glyph-name="github" unicode=""
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24
+q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5
+t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12
+q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z
+M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
+ <glyph glyph-name="unlock" unicode="" horiz-adv-x="1664"
+d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5
+t316.5 -131.5t131.5 -316.5z" />
+ <glyph glyph-name="credit_card" unicode="" horiz-adv-x="1920"
+d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608
+q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
+ <glyph glyph-name="rss" unicode="" horiz-adv-x="1408"
+d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5
+t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294
+q187 -186 294 -425.5t120 -501.5z" />
+ <glyph glyph-name="hdd" unicode=""
+d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5
+h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75
+l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
+ <glyph glyph-name="bullhorn" unicode="" horiz-adv-x="1792"
+d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5
+t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
+ <glyph glyph-name="bell" unicode="" horiz-adv-x="1792"
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z
+M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5
+t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+ <glyph glyph-name="certificate" unicode=""
+d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70
+l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70
+l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
+ <glyph glyph-name="hand_right" unicode="" horiz-adv-x="1792"
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106
+q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43
+q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5
+t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
+ <glyph glyph-name="hand_left" unicode="" horiz-adv-x="1792"
+d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5
+t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z
+M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67
+q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
+ <glyph glyph-name="hand_up" unicode=""
+d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576
+q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5
+t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76
+q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
+ <glyph glyph-name="hand_down" unicode=""
+d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33
+t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580
+q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100
+q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
+ <glyph glyph-name="circle_arrow_left" unicode=""
+d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="circle_arrow_right" unicode=""
+d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="circle_arrow_up" unicode=""
+d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="circle_arrow_down" unicode=""
+d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="globe" unicode=""
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11
+q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5
+q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5
+q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5
+t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3
+q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25
+q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5
+t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5
+t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21
+q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5
+q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3
+q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5
+t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5
+q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7
+q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
+ <glyph glyph-name="wrench" unicode="" horiz-adv-x="1664"
+d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5
+t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
+ <glyph glyph-name="tasks" unicode="" horiz-adv-x="1792"
+d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19
+t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="filter" unicode="" horiz-adv-x="1408"
+d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
+ <glyph glyph-name="briefcase" unicode="" horiz-adv-x="1792"
+d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68
+t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="fullscreen" unicode=""
+d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144
+l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z
+" />
+ <glyph glyph-name="group" unicode="" horiz-adv-x="1920"
+d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75
+t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5
+t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
+ <glyph glyph-name="link" unicode="" horiz-adv-x="1664"
+d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26
+l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15
+t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207
+q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
+ <glyph glyph-name="cloud" unicode="" horiz-adv-x="1920"
+d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z
+" />
+ <glyph glyph-name="beaker" unicode="" horiz-adv-x="1664"
+d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
+ <glyph glyph-name="cut" unicode="" horiz-adv-x="1792"
+d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84
+q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148
+q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108
+q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6
+q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
+ <glyph glyph-name="copy" unicode="" horiz-adv-x="1792"
+d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299
+h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
+ <glyph glyph-name="paper_clip" unicode="" horiz-adv-x="1408"
+d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181
+l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235
+z" />
+ <glyph glyph-name="save" unicode=""
+d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5
+h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
+ <glyph glyph-name="sign_blank" unicode=""
+d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="reorder" unicode=""
+d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45
+t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="ul" unicode="" horiz-adv-x="1792"
+d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z
+M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+ <glyph glyph-name="ol" unicode="" horiz-adv-x="1792"
+d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362
+q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5
+t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216
+q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+ <glyph glyph-name="strikethrough" unicode="" horiz-adv-x="1792"
+d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6
+l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23
+l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
+ <glyph glyph-name="underline" unicode=""
+d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47
+q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41
+q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472
+q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
+ <glyph glyph-name="table" unicode="" horiz-adv-x="1664"
+d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23
+v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192
+q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192
+q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113
+z" />
+ <glyph glyph-name="magic" unicode="" horiz-adv-x="1664"
+d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276
+l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
+ <glyph glyph-name="truck" unicode="" horiz-adv-x="1792"
+d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5
+t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38
+t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="pinterest" unicode=""
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134
+q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33
+q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="pinterest_sign" unicode=""
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5
+t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5
+t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
+ <glyph glyph-name="google_plus_sign" unicode=""
+d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585
+h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="google_plus" unicode="" horiz-adv-x="2304"
+d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62
+q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
+ <glyph glyph-name="money" unicode="" horiz-adv-x="1920"
+d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384
+v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="caret_down" unicode="" horiz-adv-x="1024"
+d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="caret_up" unicode="" horiz-adv-x="1024"
+d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+ <glyph glyph-name="caret_left" unicode="" horiz-adv-x="640"
+d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
+ <glyph glyph-name="caret_right" unicode="" horiz-adv-x="640"
+d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
+ <glyph glyph-name="columns" unicode="" horiz-adv-x="1664"
+d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="sort" unicode="" horiz-adv-x="1024"
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+ <glyph glyph-name="sort_down" unicode="" horiz-adv-x="1024"
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="sort_up" unicode="" horiz-adv-x="1024"
+d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+ <glyph glyph-name="envelope_alt" unicode="" horiz-adv-x="1792"
+d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123
+q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
+ <glyph glyph-name="linkedin" unicode=""
+d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329
+q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
+ <glyph glyph-name="undo" unicode=""
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
+ <glyph glyph-name="legal" unicode="" horiz-adv-x="1792"
+d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5
+t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14
+q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28
+q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
+ <glyph glyph-name="dashboard" unicode="" horiz-adv-x="1792"
+d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5
+t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5
+t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29
+q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+ <glyph glyph-name="comment_alt" unicode="" horiz-adv-x="1792"
+d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640
+q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5
+t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+ <glyph glyph-name="comments_alt" unicode="" horiz-adv-x="1792"
+d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257
+t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5
+t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129
+q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
+ <glyph glyph-name="bolt" unicode="" horiz-adv-x="896"
+d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
+ <glyph glyph-name="sitemap" unicode="" horiz-adv-x="1792"
+d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68
+z" />
+ <glyph glyph-name="umbrella" unicode="" horiz-adv-x="1664"
+d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97
+q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69
+q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
+ <glyph glyph-name="paste" unicode="" horiz-adv-x="1792"
+d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28
+h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
+ <glyph glyph-name="light_bulb" unicode="" horiz-adv-x="1024"
+d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134
+q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47
+q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5
+t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
+ <glyph glyph-name="exchange" unicode="" horiz-adv-x="1792"
+d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9
+q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+ <glyph glyph-name="cloud_download" unicode="" horiz-adv-x="1920"
+d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+ <glyph glyph-name="cloud_upload" unicode="" horiz-adv-x="1920"
+d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+ <glyph glyph-name="user_md" unicode="" horiz-adv-x="1408"
+d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56
+t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68
+t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+ <glyph glyph-name="stethoscope" unicode="" horiz-adv-x="1408"
+d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48
+t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252
+t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
+ <glyph glyph-name="suitcase" unicode="" horiz-adv-x="1792"
+d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66
+t66 -158z" />
+ <glyph glyph-name="bell_alt" unicode="" horiz-adv-x="1792"
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5
+t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+ <glyph glyph-name="coffee" unicode="" horiz-adv-x="1920"
+d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45
+t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
+ <glyph glyph-name="food" unicode="" horiz-adv-x="1408"
+d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45
+t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="file_text_alt" unicode=""
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704
+q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
+ <glyph glyph-name="building" unicode="" horiz-adv-x="1408"
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="hospital" unicode="" horiz-adv-x="1408"
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5
+t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320
+v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="ambulance" unicode="" horiz-adv-x="1920"
+d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152
+q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="medkit" unicode="" horiz-adv-x="1792"
+d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32
+q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
+ <glyph glyph-name="fighter_jet" unicode="" horiz-adv-x="1920"
+d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96
+q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" />
+ <glyph glyph-name="beer" unicode="" horiz-adv-x="1664"
+d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
+ <glyph glyph-name="h_sign" unicode=""
+d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="f0fe" unicode=""
+d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="double_angle_left" unicode="" horiz-adv-x="1024"
+d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
+ <glyph glyph-name="double_angle_right" unicode="" horiz-adv-x="1024"
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23
+l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+ <glyph glyph-name="double_angle_up" unicode="" horiz-adv-x="1152"
+d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393
+q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+ <glyph glyph-name="double_angle_down" unicode="" horiz-adv-x="1152"
+d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+ <glyph glyph-name="angle_left" unicode="" horiz-adv-x="640"
+d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+ <glyph glyph-name="angle_right" unicode="" horiz-adv-x="640"
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+ <glyph glyph-name="angle_up" unicode="" horiz-adv-x="1152"
+d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+ <glyph glyph-name="angle_down" unicode="" horiz-adv-x="1152"
+d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+ <glyph glyph-name="desktop" unicode="" horiz-adv-x="1920"
+d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19
+t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="laptop" unicode="" horiz-adv-x="1920"
+d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z
+M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
+ <glyph glyph-name="tablet" unicode="" horiz-adv-x="1152"
+d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832
+q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
+ <glyph glyph-name="mobile_phone" unicode="" horiz-adv-x="768"
+d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136
+q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+ <glyph glyph-name="circle_blank" unicode=""
+d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103
+t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="quote_left" unicode="" horiz-adv-x="1664"
+d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z
+M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
+ <glyph glyph-name="quote_right" unicode="" horiz-adv-x="1664"
+d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216
+v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
+ <glyph glyph-name="spinner" unicode="" horiz-adv-x="1792"
+d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z
+M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5
+q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
+ <glyph glyph-name="circle" unicode=""
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="reply" unicode="" horiz-adv-x="1792"
+d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19
+l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
+ <glyph glyph-name="github_alt" unicode="" horiz-adv-x="1664"
+d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320
+q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86
+t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218
+q0 -87 -27 -168q136 -160 136 -398z" />
+ <glyph glyph-name="folder_close_alt" unicode="" horiz-adv-x="1664"
+d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320
+q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+ <glyph glyph-name="folder_open_alt" unicode="" horiz-adv-x="1920"
+d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68
+v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z
+" />
+ <glyph glyph-name="expand_alt" unicode="" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="collapse_alt" unicode="" horiz-adv-x="1792"
+ />
+ <glyph glyph-name="smile" unicode=""
+d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5
+t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="frown" unicode=""
+d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204
+t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="meh" unicode=""
+d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="gamepad" unicode="" horiz-adv-x="1920"
+d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150
+t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
+ <glyph glyph-name="keyboard" unicode="" horiz-adv-x="1920"
+d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16
+h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16
+h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96
+q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896
+h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
+ <glyph glyph-name="flag_alt" unicode="" horiz-adv-x="1792"
+d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9
+h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102
+q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+ <glyph glyph-name="flag_checkered" unicode="" horiz-adv-x="1792"
+d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2
+q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266
+q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8
+q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+ <glyph glyph-name="terminal" unicode="" horiz-adv-x="1664"
+d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9
+t9 -23z" />
+ <glyph glyph-name="code" unicode="" horiz-adv-x="1920"
+d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5
+l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
+ <glyph glyph-name="reply_all" unicode="" horiz-adv-x="1792"
+d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1
+q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
+ <glyph glyph-name="star_half_empty" unicode="" horiz-adv-x="1664"
+d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5
+l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
+ <glyph glyph-name="location_arrow" unicode="" horiz-adv-x="1408"
+d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
+ <glyph glyph-name="crop" unicode="" horiz-adv-x="1664"
+d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
+ <glyph glyph-name="code_fork" unicode="" horiz-adv-x="1024"
+d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5
+q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497
+q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
+ <glyph glyph-name="unlink" unicode="" horiz-adv-x="1664"
+d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320
+q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18
+l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9
+t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+ <glyph glyph-name="question" unicode="" horiz-adv-x="1024"
+d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5
+t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
+ <glyph glyph-name="_279" unicode="" horiz-adv-x="640"
+d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192
+q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="exclamation" unicode="" horiz-adv-x="640"
+d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
+ <glyph glyph-name="superscript" unicode=""
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5
+t-65.5 -51.5t-30.5 -63h232v80h126z" />
+ <glyph glyph-name="subscript" unicode=""
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73
+h232v80h126z" />
+ <glyph glyph-name="_283" unicode="" horiz-adv-x="1920"
+d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
+ <glyph glyph-name="puzzle_piece" unicode="" horiz-adv-x="1664"
+d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5
+t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89
+q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117
+q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
+ <glyph glyph-name="microphone" unicode="" horiz-adv-x="1152"
+d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5
+t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
+ <glyph glyph-name="microphone_off" unicode="" horiz-adv-x="1408"
+d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128
+q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23
+t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
+ <glyph glyph-name="shield" unicode="" horiz-adv-x="1280"
+d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150
+t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+ <glyph glyph-name="calendar_empty" unicode="" horiz-adv-x="1664"
+d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+ <glyph glyph-name="fire_extinguisher" unicode="" horiz-adv-x="1408"
+d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800
+q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113
+q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
+ <glyph glyph-name="rocket" unicode="" horiz-adv-x="1664"
+d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1
+q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
+ <glyph glyph-name="maxcdn" unicode="" horiz-adv-x="1792"
+d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
+ <glyph glyph-name="chevron_sign_left" unicode=""
+d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="chevron_sign_right" unicode=""
+d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="chevron_sign_up" unicode=""
+d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="chevron_sign_down" unicode=""
+d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="html5" unicode="" horiz-adv-x="1408"
+d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
+ <glyph glyph-name="css3" unicode="" horiz-adv-x="1792"
+d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
+ <glyph glyph-name="anchor" unicode="" horiz-adv-x="1792"
+d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352
+q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19
+t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
+ <glyph glyph-name="unlock_alt" unicode="" horiz-adv-x="1152"
+d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181
+v-320h736z" />
+ <glyph glyph-name="bullseye" unicode=""
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150
+t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="ellipsis_horizontal" unicode="" horiz-adv-x="1408"
+d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="ellipsis_vertical" unicode="" horiz-adv-x="384"
+d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+ <glyph glyph-name="_303" unicode=""
+d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128
+q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="play_sign" unicode=""
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56
+q16 -8 32 -8q17 0 32 9z" />
+ <glyph glyph-name="ticket" unicode="" horiz-adv-x="1792"
+d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136
+t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
+ <glyph glyph-name="minus_sign_alt" unicode=""
+d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+ <glyph glyph-name="check_minus" unicode="" horiz-adv-x="1408"
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5
+t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="level_up" unicode="" horiz-adv-x="1024"
+d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
+ <glyph glyph-name="level_down" unicode="" horiz-adv-x="1024"
+d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
+ <glyph glyph-name="check_sign" unicode=""
+d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5
+t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="edit_sign" unicode=""
+d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="_312" unicode=""
+d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960
+q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="share_sign" unicode=""
+d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5
+t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="compass" unicode=""
+d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+ <glyph glyph-name="collapse" unicode=""
+d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="collapse_top" unicode=""
+d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="_317" unicode=""
+d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5
+t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+ <glyph glyph-name="eur" unicode="" horiz-adv-x="1024"
+d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9
+t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26
+l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
+ <glyph glyph-name="gbp" unicode="" horiz-adv-x="1024"
+d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7
+q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
+ <glyph glyph-name="usd" unicode="" horiz-adv-x="1024"
+d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43
+t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5
+t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50
+t53 -63.5t31.5 -76.5t13 -94z" />
+ <glyph glyph-name="inr" unicode="" horiz-adv-x="898"
+d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102
+q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
+ <glyph glyph-name="jpy" unicode="" horiz-adv-x="1027"
+d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61
+l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
+ <glyph glyph-name="rub" unicode="" horiz-adv-x="1280"
... 352678 lines suppressed ...
[incubator-singa-site] 03/08: update website from PR501
Posted by wa...@apache.org.
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/incubator-singa-site.git
commit f524c765811872690e978ec198538dfb826ddd5b
Author: wangwei <wa...@gmail.com>
AuthorDate: Sat Aug 10 16:52:51 2019 +0800
update website from PR501
---
_static/basic.css | 15 +
_static/searchtools.js | 7 +-
en/community/issue-tracking.html | 115 +-
en/community/mail-lists.html | 140 +-
en/community/source-repository.html | 94 +-
en/community/team-list.html | 263 ++--
en/{docs/installation.html => develop/build.html} | 463 +++---
en/develop/contribute-code.html | 231 +--
en/develop/contribute-docs.html | 199 ++-
en/develop/how-contribute.html | 138 +-
en/develop/how-to-release.html | 157 +-
en/develop/schedule.html | 363 +++--
en/docs/autograd.html | 170 +--
en/docs/benchmark.html | 74 +-
en/docs/cnn.html | 115 +-
en/docs/converter.html | 127 +-
en/docs/data.html | 189 +--
en/docs/dependencies.html | 125 +-
en/docs/device.html | 156 +-
en/docs/docker.html | 127 +-
en/docs/image_tool.html | 457 +-----
en/docs/index.html | 180 +--
en/docs/initializer.html | 191 +--
en/docs/install_macos1013.html | 112 +-
en/docs/install_win.html | 452 +++---
en/docs/installation.html | 513 ++-----
en/docs/layer.html | 1239 +---------------
en/docs/loss.html | 343 +----
en/docs/metric.html | 306 +---
en/docs/net.html | 417 +-----
en/docs/neural-net.html | 182 ++-
en/docs/notebook/README.html | 109 +-
en/docs/{converter.html => onnx.html} | 117 +-
en/docs/optimizer.html | 581 +-------
en/docs/snapshot.html | 177 +--
en/docs/software_stack.html | 185 +--
en/docs/tensor.html | 1607 +--------------------
en/docs/utils.html | 145 +-
en/downloads.html | 352 +++--
en/index.html | 172 +--
en/releases/RELEASE_NOTES_0.1.0.html | 265 ++--
en/releases/RELEASE_NOTES_0.2.0.html | 237 ++-
en/releases/RELEASE_NOTES_0.3.0.html | 156 +-
en/releases/RELEASE_NOTES_1.0.0.html | 265 ++--
en/releases/RELEASE_NOTES_1.1.0.html | 184 ++-
en/releases/RELEASE_NOTES_1.2.0.html | 200 ++-
en/releases/RELEASE_NOTES_2.0.0.html | 180 ++-
search.html => en/security.html | 99 +-
genindex.html | 745 +---------
objects.inv | Bin 3406 -> 1822 bytes
search.html | 29 +-
searchindex.js | 2 +-
52 files changed, 3535 insertions(+), 9932 deletions(-)
diff --git a/_static/basic.css b/_static/basic.css
index 53acd09..c41d718 100644
--- a/_static/basic.css
+++ b/_static/basic.css
@@ -289,6 +289,12 @@ img.align-center, .figure.align-center, object.align-center {
margin-right: auto;
}
+img.align-default, .figure.align-default {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
.align-left {
text-align: left;
}
@@ -297,6 +303,10 @@ img.align-center, .figure.align-center, object.align-center {
text-align: center;
}
+.align-default {
+ text-align: center;
+}
+
.align-right {
text-align: right;
}
@@ -368,6 +378,11 @@ table.align-center {
margin-right: auto;
}
+table.align-default {
+ margin-left: auto;
+ margin-right: auto;
+}
+
table caption span.caption-number {
font-style: italic;
}
diff --git a/_static/searchtools.js b/_static/searchtools.js
index bdc2706..6031f99 100644
--- a/_static/searchtools.js
+++ b/_static/searchtools.js
@@ -319,12 +319,13 @@ var Search = {
for (var prefix in objects) {
for (var name in objects[prefix]) {
var fullname = (prefix ? prefix + '.' : '') + name;
- if (fullname.toLowerCase().indexOf(object) > -1) {
+ var fullnameLower = fullname.toLowerCase()
+ if (fullnameLower.indexOf(object) > -1) {
var score = 0;
- var parts = fullname.split('.');
+ var parts = fullnameLower.split('.');
// check for different match types: exact matches of full name or
// "last name" (i.e. last dotted part)
- if (fullname == object || parts[parts.length - 1] == object) {
+ if (fullnameLower == object || parts[parts.length - 1] == object) {
score += Scorer.objNameMatch;
// matches in last name
} else if (parts[parts.length - 1].indexOf(object) > -1) {
diff --git a/en/community/issue-tracking.html b/en/community/issue-tracking.html
index 1b2c3ae..d80a930 100644
--- a/en/community/issue-tracking.html
+++ b/en/community/issue-tracking.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Issue Tracking — incubator-singa 1.1.0 documentation</title>
+ <title>Issue Tracking — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,28 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="The SINGA Team" href="team-list.html" />
<link rel="prev" title="Project Mailing Lists" href="mail-lists.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +50,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -102,12 +103,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -187,24 +186,23 @@
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span [...]
-
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–></p>
-<div class="section" id="issue-tracking">
-<span id="issue-tracking"></span><h1>Issue Tracking<a class="headerlink" href="#issue-tracking" title="Permalink to this headline">¶</a></h1>
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="issue-tracking">
+<h1>Issue Tracking<a class="headerlink" href="#issue-tracking" title="Permalink to this headline">¶</a></h1>
<hr class="docutils" />
<p>SINGA uses <a class="reference external" href="https://www.atlassian.com/software/jira">JIRA</a> a J2EE-based, issue tracking and project management application.</p>
<p>Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.</p>
<ul class="simple">
-<li>https://issues.apache.org/jira/browse/singa</li>
+<li><p>https://issues.apache.org/jira/browse/singa</p></li>
</ul>
</div>
@@ -219,7 +217,7 @@
<a href="team-list.html" class="btn btn-neutral float-right" title="The SINGA Team" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="mail-lists.html" class="btn btn-neutral" title="Project Mailing Lists" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="mail-lists.html" class="btn btn-neutral float-left" title="Project Mailing Lists" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -228,7 +226,7 @@
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -245,36 +243,17 @@
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -284,8 +263,8 @@
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -294,8 +273,14 @@
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/community/mail-lists.html b/en/community/mail-lists.html
index c041e6a..a041e19 100644
--- a/en/community/mail-lists.html
+++ b/en/community/mail-lists.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Project Mailing Lists — incubator-singa 1.1.0 documentation</title>
+ <title>Project Mailing Lists — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,28 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Issue Tracking" href="issue-tracking.html" />
<link rel="prev" title="Source Repository" href="source-repository.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +50,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -102,12 +103,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -183,35 +182,41 @@
<div class="section" id="project-mailing-lists">
<h1>Project Mailing Lists<a class="headerlink" href="#project-mailing-lists" title="Permalink to this headline">¶</a></h1>
<p>These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.</p>
-<table border="1" class="docutils" id="id4">
+<table class="docutils align-default" id="id4">
<caption><span class="caption-text">Mailing Lists</span><a class="headerlink" href="#id4" title="Permalink to this table">¶</a></caption>
<colgroup>
-<col width="20%" />
-<col width="20%" />
-<col width="20%" />
-<col width="20%" />
-<col width="20%" />
+<col style="width: 20%" />
+<col style="width: 20%" />
+<col style="width: 20%" />
+<col style="width: 20%" />
+<col style="width: 20%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Name</th>
-<th class="head">Post</th>
-<th class="head">Subscribe</th>
-<th class="head">Unsubscribe</th>
-<th class="head">Archive</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Name</p></th>
+<th class="head"><p>Post</p></th>
+<th class="head"><p>Subscribe</p></th>
+<th class="head"><p>Unsubscribe</p></th>
+<th class="head"><p>Archive</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Development</td>
-<td><a class="reference external" href="mailto:dev%40singa.incubator.apache.org">dev<span>@</span>singa<span>.</span>incubator<span>.</span>apache<span>.</span>org</a></td>
-<td><a class="reference external" href="mailto:dev-subscribe%40singa.incubator.apache.org">Subscribe</a></td>
-<td><a class="reference external" href="mailto:dev-unsubscribe%40singa.incubator.apache.org.">Unsubscribe</a></td>
-<td><a class="reference external" href="http://mail-archives.apache.org/mod_mbox/singa-dev/">mail-archives.apache.org</a></td>
+<tbody>
+<tr class="row-even"><td><p>Development</p></td>
+<td><p><a class="reference external" href="mailto:dev%40singa.incubator.apache.org">dev<span>@</span>singa<span>.</span>incubator<span>.</span>apache<span>.</span>org</a></p></td>
+<td><p><a class="reference external" href="mailto:dev-subscribe%40singa.incubator.apache.org">Subscribe</a></p></td>
+<td><p><a class="reference external" href="mailto:dev-unsubscribe%40singa.incubator.apache.org.">Unsubscribe</a></p></td>
+<td><p><a class="reference external" href="http://mail-archives.apache.org/mod_mbox/singa-dev/">mail-archives.apache.org</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>Commits</p></td>
+<td><p><a class="reference external" href="mailto:commits%40singa.incubator.apache.org">commits<span>@</span>singa<span>.</span>incubator<span>.</span>apache<span>.</span>org</a></p></td>
+<td><p><a class="reference external" href="mailto:commits-subscribe%40singa.incubator.apache.org">Subscribe</a></p></td>
+<td><p><a class="reference external" href="mailto:commits-unsubscribe%40singa.incubator.apache.org">Unsubscribe</a></p></td>
+<td><p><a class="reference external" href="http://mail-archives.apache.org/mod_mbox/singa-commits/">mail-archives.apache.org</a></p></td>
</tr>
-<tr class="row-odd"><td>Commits</td>
-<td><a class="reference external" href="mailto:commits%40singa.incubator.apache.org">commits<span>@</span>singa<span>.</span>incubator<span>.</span>apache<span>.</span>org</a></td>
-<td><a class="reference external" href="mailto:commits-subscribe%40singa.incubator.apache.org">Subscribe</a></td>
-<td><a class="reference external" href="mailto:commits-unsubscribe%40singa.incubator.apache.org">Unsubscribe</a></td>
-<td><a class="reference external" href="http://mail-archives.apache.org/mod_mbox/singa-commits/">mail-archives.apache.org</a></td>
+<tr class="row-even"><td><p>Security</p></td>
+<td><p><a class="reference external" href="mailto:security%40singa.apache.org">security<span>@</span>singa<span>.</span>apache<span>.</span>org</a></p></td>
+<td><p>private</p></td>
+<td><p>private</p></td>
+<td><p>private</p></td>
</tr>
</tbody>
</table>
@@ -228,7 +233,7 @@
<a href="issue-tracking.html" class="btn btn-neutral float-right" title="Issue Tracking" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="source-repository.html" class="btn btn-neutral" title="Source Repository" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="source-repository.html" class="btn btn-neutral float-left" title="Source Repository" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -237,7 +242,7 @@
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -254,36 +259,17 @@
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -293,8 +279,8 @@
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -303,8 +289,14 @@
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/community/source-repository.html b/en/community/source-repository.html
index ae9f4f1..f2e0408 100644
--- a/en/community/source-repository.html
+++ b/en/community/source-repository.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Source Repository — incubator-singa 1.1.0 documentation</title>
+ <title>Source Repository — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,28 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Project Mailing Lists" href="mail-lists.html" />
<link rel="prev" title="How to prepare a release" href="../develop/how-to-release.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +50,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -102,12 +103,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -192,7 +191,7 @@
<h2>Web Access<a class="headerlink" href="#web-access" title="Permalink to this headline">¶</a></h2>
<p>The following is a link to the online source repository.</p>
<ul class="simple">
-<li><a class="reference external" href="https://gitbox.apache.org/repos/asf?p=incubator-singa.git">https://gitbox.apache.org/repos/asf?p=incubator-singa.git</a></li>
+<li><p><a class="reference external" href="https://gitbox.apache.org/repos/asf?p=incubator-singa.git">https://gitbox.apache.org/repos/asf?p=incubator-singa.git</a></p></li>
</ul>
</div>
<div class="section" id="contributors">
@@ -208,7 +207,7 @@ git rebase master
<div class="section" id="committers">
<h2>Committers<a class="headerlink" href="#committers" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>To connect your Apache account with your Github account, Please follow the instructions on: <a class="reference external" href="https://gitbox.apache.org/setup/">https://gitbox.apache.org/setup/</a>. After that you can directly merge PRs using GitHub’s UI.</li>
+<li><p>To connect your Apache account with your Github account, Please follow the instructions on: <a class="reference external" href="https://gitbox.apache.org/setup/">https://gitbox.apache.org/setup/</a>. After that you can directly merge PRs using GitHub’s UI.</p></li>
</ul>
<p>To merge pull request <a class="reference external" href="https://github.com/apache/incubator-singa/pull/xxx">https://github.com/apache/incubator-singa/pull/xxx</a>, the following instructions should be executed,</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/apache/incubator-singa.git
@@ -221,7 +220,7 @@ git push asf master:master
</pre></div>
</div>
<ul class="simple">
-<li>To migrate from git-wip-us.apache.org to Gitbox: If you already cloned the SINGA repository from the old repo <a class="reference external" href="https://git-wip-us.apache.org/repos/asf/incubator-singa.git">https://git-wip-us.apache.org/repos/asf/incubator-singa.git</a>, you can update the master by:</li>
+<li><p>To migrate from git-wip-us.apache.org to Gitbox: If you already cloned the SINGA repository from the old repo <a class="reference external" href="https://git-wip-us.apache.org/repos/asf/incubator-singa.git">https://git-wip-us.apache.org/repos/asf/incubator-singa.git</a>, you can update the master by:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git remote set-url origin git@github.com/apache/singa.git
</pre></div>
@@ -240,7 +239,7 @@ git push asf master:master
<a href="mail-lists.html" class="btn btn-neutral float-right" title="Project Mailing Lists" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="../develop/how-to-release.html" class="btn btn-neutral" title="How to prepare a release" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="../develop/how-to-release.html" class="btn btn-neutral float-left" title="How to prepare a release" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -249,7 +248,7 @@ git push asf master:master
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -266,36 +265,17 @@ git push asf master:master
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -305,8 +285,8 @@ git push asf master:master
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -315,8 +295,14 @@ git push asf master:master
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/community/team-list.html b/en/community/team-list.html
index 574bed0..006ecae 100644
--- a/en/community/team-list.html
+++ b/en/community/team-list.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>The SINGA Team — incubator-singa 1.1.0 documentation</title>
+ <title>The SINGA Team — incubator-singa 2.0.0 documentation</title>
@@ -18,21 +18,27 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="prev" title="Issue Tracking" href="issue-tracking.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -43,21 +49,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -66,7 +67,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -81,7 +82,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -101,12 +102,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -119,6 +118,7 @@
<li class="toctree-l1 current"><a class="current reference internal" href="#">The SINGA Team</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#mentors">Mentors</a></li>
<li class="toctree-l2"><a class="reference internal" href="#developers">Developers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
</ul>
</li>
</ul>
@@ -188,28 +188,28 @@
<p>A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.</p>
<div class="section" id="mentors">
<h2>Mentors<a class="headerlink" href="#mentors" title="Permalink to this headline">¶</a></h2>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="49%" />
-<col width="51%" />
+<col style="width: 49%" />
+<col style="width: 51%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Name</th>
-<th class="head">Email</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Name</p></th>
+<th class="head"><p>Email</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Daniel Dai</td>
-<td><a class="reference external" href="mailto:daijy%40apache.org">daijy<span>@</span>apache<span>.</span>org</a></td>
+<tbody>
+<tr class="row-even"><td><p>Daniel Dai</p></td>
+<td><p><a class="reference external" href="mailto:daijy%40apache.org">daijy<span>@</span>apache<span>.</span>org</a></p></td>
</tr>
-<tr class="row-odd"><td>Ted Dunning</td>
-<td><a class="reference external" href="mailto:tdunning%40apache.org">tdunning<span>@</span>apache<span>.</span>org</a></td>
+<tr class="row-odd"><td><p>Ted Dunning</p></td>
+<td><p><a class="reference external" href="mailto:tdunning%40apache.org">tdunning<span>@</span>apache<span>.</span>org</a></p></td>
</tr>
-<tr class="row-even"><td>Alan Gates</td>
-<td><a class="reference external" href="mailto:gates%40apache.org">gates<span>@</span>apache<span>.</span>org</a></td>
+<tr class="row-even"><td><p>Alan Gates</p></td>
+<td><p><a class="reference external" href="mailto:gates%40apache.org">gates<span>@</span>apache<span>.</span>org</a></p></td>
</tr>
-<tr class="row-odd"><td>Thejas Nair</td>
-<td><a class="reference external" href="mailto:thejas%40apache.org">thejas<span>@</span>apache<span>.</span>org</a></td>
+<tr class="row-odd"><td><p>Thejas Nair</p></td>
+<td><p><a class="reference external" href="mailto:thejas%40apache.org">thejas<span>@</span>apache<span>.</span>org</a></p></td>
</tr>
</tbody>
</table>
@@ -217,102 +217,108 @@
<div class="section" id="developers">
<h2>Developers<a class="headerlink" href="#developers" title="Permalink to this headline">¶</a></h2>
<p>The SINGA community has developers mainly from National University of Singapore, Zhejiang University, NetEase, Osaka University, yzBigData, etc.</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="20%" />
-<col width="32%" />
-<col width="47%" />
+<col style="width: 20%" />
+<col style="width: 32%" />
+<col style="width: 47%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Name</th>
-<th class="head">Email</th>
-<th class="head">Organization</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Name</p></th>
+<th class="head"><p>Email</p></th>
+<th class="head"><p>Organization</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>Gang Chen</td>
-<td><a class="reference external" href="mailto:cg%40zju.edu.cn">cg<span>@</span>zju<span>.</span>edu<span>.</span>cn</a></td>
-<td>Zhejiang University</td>
+<tbody>
+<tr class="row-even"><td><p>Gang Chen</p></td>
+<td><p><a class="reference external" href="mailto:cg%40zju.edu.cn">cg<span>@</span>zju<span>.</span>edu<span>.</span>cn</a></p></td>
+<td><p>Zhejiang University</p></td>
</tr>
-<tr class="row-odd"><td>Haibo Chen</td>
-<td><a class="reference external" href="mailto:hzchenhaibo%40corp.netease.com">hzchenhaibo<span>@</span>corp<span>.</span>netease<span>.</span>com</a></td>
-<td>NetEase</td>
+<tr class="row-odd"><td><p>Haibo Chen</p></td>
+<td><p><a class="reference external" href="mailto:hzchenhaibo%40corp.netease.com">hzchenhaibo<span>@</span>corp<span>.</span>netease<span>.</span>com</a></p></td>
+<td><p>NetEase</p></td>
</tr>
-<tr class="row-even"><td>Anh Dinh</td>
-<td><a class="reference external" href="mailto:dinhtta%40apache.org">dinhtta<span>@</span>apache<span>.</span>org</a></td>
-<td>National University of Singapore</td>
+<tr class="row-even"><td><p>Anh Dinh</p></td>
+<td><p><a class="reference external" href="mailto:dinhtta%40apache.org">dinhtta<span>@</span>apache<span>.</span>org</a></p></td>
+<td><p>Singapore University of Technology and Design</p></td>
</tr>
-<tr class="row-odd"><td>Jinyang Gao</td>
-<td><a class="reference external" href="mailto:jinyang%40apache.org">jinyang<span>@</span>apache<span>.</span>org</a></td>
-<td>National University of Singapore</td>
+<tr class="row-odd"><td><p>Jinyang Gao</p></td>
+<td><p><a class="reference external" href="mailto:jinyang%40apache.org">jinyang<span>@</span>apache<span>.</span>org</a></p></td>
+<td><p>DAMO Academy, Alibaba Group</p></td>
</tr>
-<tr class="row-even"><td>Xin Ji</td>
-<td><a class="reference external" href="mailto:jixin%40comp.nus.edu.sg">jixin<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></td>
-<td>National University of Singapore</td>
+<tr class="row-even"><td><p>Xin Ji</p></td>
+<td><p><a class="reference external" href="mailto:jixin%40comp.nus.edu.sg">jixin<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></p></td>
+<td><p>Visenze</p></td>
</tr>
-<tr class="row-odd"><td>Chonho Lee</td>
-<td><a class="reference external" href="mailto:chonho%40gmail.com">chonho<span>@</span>gmail<span>.</span>com</a></td>
-<td>Osaka University</td>
+<tr class="row-odd"><td><p>Chonho Lee</p></td>
+<td><p><a class="reference external" href="mailto:chonho%40gmail.com">chonho<span>@</span>gmail<span>.</span>com</a></p></td>
+<td><p>Osaka University</p></td>
</tr>
-<tr class="row-even"><td>Zhaojing Luo</td>
-<td><a class="reference external" href="mailto:zhaojing%40apache.org">zhaojing<span>@</span>apache<span>.</span>org</a></td>
-<td>National University of Singapore</td>
+<tr class="row-even"><td><p>Zhaojing Luo</p></td>
+<td><p><a class="reference external" href="mailto:zhaojing%40apache.org">zhaojing<span>@</span>apache<span>.</span>org</a></p></td>
+<td><p>National University of Singapore</p></td>
</tr>
-<tr class="row-odd"><td>Beng Chin Ooi</td>
-<td><a class="reference external" href="mailto:ooibc%40comp.nus.edu.sg">ooibc<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></td>
-<td>National University of Singapore</td>
+<tr class="row-odd"><td><p>Beng Chin Ooi</p></td>
+<td><p><a class="reference external" href="mailto:ooibc%40comp.nus.edu.sg">ooibc<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></p></td>
+<td><p>National University of Singapore</p></td>
</tr>
-<tr class="row-even"><td>Kian-Lee Tan</td>
-<td><a class="reference external" href="mailto:tankl%40apache.org">tankl<span>@</span>apache<span>.</span>org</a></td>
-<td>National University of Singapore</td>
+<tr class="row-even"><td><p>Kian-Lee Tan</p></td>
+<td><p><a class="reference external" href="mailto:tankl%40apache.org">tankl<span>@</span>apache<span>.</span>org</a></p></td>
+<td><p>National University of Singapore</p></td>
</tr>
-<tr class="row-odd"><td>Anthony K. H. Tung</td>
-<td><a class="reference external" href="mailto:atung%40comp.nus.edu.sg">atung<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></td>
-<td>National University of Singapore</td>
+<tr class="row-odd"><td><p>Anthony K. H. Tung</p></td>
+<td><p><a class="reference external" href="mailto:atung%40comp.nus.edu.sg">atung<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></p></td>
+<td><p>National University of Singapore</p></td>
</tr>
-<tr class="row-even"><td>Ji Wang</td>
-<td><a class="reference external" href="mailto:wangji%40comp.nus.edu.sg">wangji<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></td>
-<td>National University of Singapore</td>
+<tr class="row-even"><td><p>Ji Wang</p></td>
+<td><p><a class="reference external" href="mailto:wangji%40comp.nus.edu.sg">wangji<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></p></td>
+<td><p>Hangzhou MZH Technologies</p></td>
</tr>
-<tr class="row-odd"><td>Sheng Wang</td>
-<td><a class="reference external" href="mailto:wangsh%40apache.org">wangsh<span>@</span>apache<span>.</span>org</a></td>
-<td>National University of Singapore</td>
+<tr class="row-odd"><td><p>Sheng Wang</p></td>
+<td><p><a class="reference external" href="mailto:wangsh%40apache.org">wangsh<span>@</span>apache<span>.</span>org</a></p></td>
+<td><p>DAMO Academy, Alibaba Group</p></td>
</tr>
-<tr class="row-even"><td>Wei Wang</td>
-<td><a class="reference external" href="mailto:wangwei%40apache.org">wangwei<span>@</span>apache<span>.</span>org</a></td>
-<td>National University of Singapore</td>
+<tr class="row-even"><td><p>Wei Wang</p></td>
+<td><p><a class="reference external" href="mailto:wangwei%40apache.org">wangwei<span>@</span>apache<span>.</span>org</a></p></td>
+<td><p>National University of Singapore</p></td>
</tr>
-<tr class="row-odd"><td>Yuan Wang</td>
-<td><a class="reference external" href="mailto:wangyuan%40corp.netease.com">wangyuan<span>@</span>corp<span>.</span>netease<span>.</span>com</a></td>
-<td>NetEase</td>
+<tr class="row-odd"><td><p>Yuan Wang</p></td>
+<td><p><a class="reference external" href="mailto:wangyuan%40corp.netease.com">wangyuan<span>@</span>corp<span>.</span>netease<span>.</span>com</a></p></td>
+<td><p>NetEase</p></td>
</tr>
-<tr class="row-even"><td>Wenfeng Wu</td>
-<td><a class="reference external" href="mailto:wuwf%40comp.nus.edu.sg">wuwf<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></td>
-<td>National University of Singapore</td>
+<tr class="row-even"><td><p>Wenfeng Wu</p></td>
+<td><p><a class="reference external" href="mailto:wuwf%40comp.nus.edu.sg">wuwf<span>@</span>comp<span>.</span>nus<span>.</span>edu<span>.</span>sg</a></p></td>
+<td><p>National University of Singapore</p></td>
</tr>
-<tr class="row-odd"><td>Zhongle Xie</td>
-<td><a class="reference external" href="mailto:zhongle%40apache.org">zhongle<span>@</span>apache<span>.</span>org</a></td>
-<td>National University of Singapore</td>
+<tr class="row-odd"><td><p>Zhongle Xie</p></td>
+<td><p><a class="reference external" href="mailto:zhongle%40apache.org">zhongle<span>@</span>apache<span>.</span>org</a></p></td>
+<td><p>Hangzhou MZH Technologies</p></td>
</tr>
-<tr class="row-even"><td>Meihui Zhang</td>
-<td><a class="reference external" href="mailto:meihui_zhang%40sutd.edu.sg">meihui_zhang<span>@</span>sutd<span>.</span>edu<span>.</span>sg</a></td>
-<td>Singapore University of Technology and Design</td>
+<tr class="row-even"><td><p>Meihui Zhang</p></td>
+<td><p><a class="reference external" href="mailto:meihui_zhang%40sutd.edu.sg">meihui_zhang<span>@</span>sutd<span>.</span>edu<span>.</span>sg</a></p></td>
+<td><p>Beijing Institute of Technology</p></td>
</tr>
-<tr class="row-odd"><td>Kaiping Zheng</td>
-<td><a class="reference external" href="mailto:kaiping%40apache.org">kaiping<span>@</span>apache<span>.</span>org</a></td>
-<td>National University of Singapore</td>
+<tr class="row-odd"><td><p>Kaiping Zheng</p></td>
+<td><p><a class="reference external" href="mailto:kaiping%40apache.org">kaiping<span>@</span>apache<span>.</span>org</a></p></td>
+<td><p>National University of Singapore</p></td>
</tr>
-<tr class="row-even"><td>Moaz Reyad</td>
-<td><a class="reference external" href="mailto:moaz%40apache.org">moaz<span>@</span>apache<span>.</span>org</a></td>
-<td>University of Genoa</td>
+<tr class="row-even"><td><p>Moaz Reyad</p></td>
+<td><p><a class="reference external" href="mailto:moaz%40apache.org">moaz<span>@</span>apache<span>.</span>org</a></p></td>
+<td><p>University of Genoa</p></td>
</tr>
-<tr class="row-odd"><td>Chang Yao</td>
-<td><a class="reference external" href="mailto:yaochang2009%40gmail.com">yaochang2009<span>@</span>gmail<span>.</span>com</a></td>
-<td>yzBigdata</td>
+<tr class="row-odd"><td><p>Chang Yao</p></td>
+<td><p><a class="reference external" href="mailto:yaochang2009%40gmail.com">yaochang2009<span>@</span>gmail<span>.</span>com</a></p></td>
+<td><p>Hangzhou MZH Technologies</p></td>
</tr>
</tbody>
</table>
</div>
+<div class="section" id="how-to-become-a-singa-committer">
+<h2>How to become a SINGA committer<a class="headerlink" href="#how-to-become-a-singa-committer" title="Permalink to this headline">¶</a></h2>
+<p>SINGA committers are members that have write access to SINGA code and documentation repositories. They can contribute by themselves and accept other contributions.</p>
+<p>Becoming a SINGA committer requires understanding the Apache Way and being an active member in the SINGA project. An active member participates on mailing lists, answers questions, contributes code, tests and documentation, presents SINGA in talks and seminars, verifies releases and report issues or feature requests.</p>
+<p>New committers can be suggested by current committers or PPMC members, and voted upon by the PPMC according to Apache guidelines. You can start by talking to other committers and ask for their advice and guidance.</p>
+</div>
</div>
@@ -324,7 +330,7 @@
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
- <a href="issue-tracking.html" class="btn btn-neutral" title="Issue Tracking" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="issue-tracking.html" class="btn btn-neutral float-left" title="Issue Tracking" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -333,7 +339,7 @@
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -350,36 +356,17 @@
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -389,8 +376,8 @@
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -399,8 +386,14 @@
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/installation.html b/en/develop/build.html
similarity index 51%
copy from en/docs/installation.html
copy to en/develop/build.html
index 51e0646..f6b3c0e 100644
--- a/en/docs/installation.html
+++ b/en/develop/build.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Installation — incubator-singa 1.1.0 documentation</title>
+ <title>Build SINGA from Source — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Software Stack" href="software_stack.html" />
- <link rel="prev" title="Documentation" href="index.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -99,50 +98,16 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Installation</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#from-conda">From Conda</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#from-source">From source</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#use-conda-to-build-singa">Use Conda to build SINGA</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#use-native-tools-to-build-singa-on-ubuntu">Use native tools to build SINGA on Ubuntu</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#compile-singa-on-windows">Compile SINGA on Windows</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#more-details-about-the-compilation-options">More details about the compilation options</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#use-modules">USE_MODULES</a></li>
-</ul>
-</li>
-<li class="toctree-l3"><a class="reference internal" href="#faq">FAQ</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contribute-code.html">How to Contribute Code</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contribute-docs.html">How to Contribute to Documentation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="how-to-release.html">How to prepare a release</a></li>
</ul>
<p class="caption"><span class="caption-text">Community</span></p>
<ul>
@@ -195,9 +160,7 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
- <li>Installation</li>
+ <li>Build SINGA from Source</li>
<li class="wy-breadcrumbs-aside">
@@ -221,133 +184,171 @@
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span [...]
-
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="build-singa-from-source">
+<h1>Build SINGA from Source<a class="headerlink" href="#build-singa-from-source" title="Permalink to this headline">¶</a></h1>
+<p>The source files could be downloaded either as a
+<a class="reference external" href="https://dist.apache.org/repos/dist/dev/incubator/singa/">tar.gz file</a>, or as a git repo</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ git clone https://github.com/apache/incubator-singa.git
+$ cd incubator-singa/
</pre></div>
</div>
-<p>–></p>
-<div class="section" id="installation">
-<span id="installation"></span><h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="from-conda">
-<span id="from-conda"></span><h2>From Conda<a class="headerlink" href="#from-conda" title="Permalink to this headline">¶</a></h2>
-<p>Conda is a package manager for Python, CPP and other packages.</p>
-<p>Currently, SINGA has conda packages (Python 2.7 and Python 3.6) for Linux and MacOSX.
-<a class="reference external" href="https://conda.io/miniconda.html">Miniconda3</a> is recommended to use with SINGA.
-After installing miniconda, execute the one of the following commands to install
-SINGA.</p>
-<ol>
-<li><p class="first">CPU only</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span><span class="o">-</span><span class="n">cpu</span>
+<p>If you want to contribute code to SINGA, refer to <a class="reference external" href="#">this page</a> for the steps and requirements.</p>
+<div class="section" id="use-conda-to-build-singa">
+<h2>Use Conda to build SINGA<a class="headerlink" href="#use-conda-to-build-singa" title="Permalink to this headline">¶</a></h2>
+<p>Conda-build is a building tool that installs the dependent libraries from anaconda cloud and
+executes the building scripts.</p>
+<p>To install conda-build (after installing conda)</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">install</span> <span class="n">conda</span><span class="o">-</span><span class="n">build</span>
</pre></div>
</div>
-</li>
-<li><p class="first">GPU with CUDA and cuDNN</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span><span class="o">-</span><span class="n">gpu</span>
+<div class="section" id="build-cpu-version">
+<h3>Build CPU Version<a class="headerlink" href="#build-cpu-version" title="Permalink to this headline">¶</a></h3>
+<p>To build the CPU version of SINGA</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">singa</span><span class="o">/</span>
</pre></div>
</div>
-</li>
+<p>The above commands have been tested on Ubuntu 16.04 and Mac OSX.
+Refer to the <a class="reference external" href="https://travis-ci.org/apache/incubator-singa">Travis-CI page</a> for more information.</p>
+</div>
+<div class="section" id="build-gpu-version">
+<h3>Build GPU Version<a class="headerlink" href="#build-gpu-version" title="Permalink to this headline">¶</a></h3>
+<p>To build the GPU version of SINGA, the building machine must have Nvida GPU, and the CUDA driver (>= 384.81), CUDA toolkit (>=9) and cuDNN (>=7) must have be installed. The following two Docker images provide the building environment:</p>
+<ol class="simple">
+<li><p>apache/singa:conda-cuda9.0</p></li>
+<li><p>apache/singa:conda-cuda10.0</p></li>
</ol>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">CUDA</span> <span class="n">driver</span> <span class="p">(</span><span class="k">for</span> <span class="n">CUDA</span> <span class="o">>=</span><span class="mf">9.0</span><span class="p">)</span> <span class="n">must</span> <span class="n">be</span> <span class="n">installed</span> <span class="n">before</span> <span class="n">executing</span> <span class="n">the</span> <span class= [...]
- <span class="n">packages</span> <span class="k">for</span> <span class="n">other</span> <span class="n">CUDA</span> <span class="n">versions</span> <span class="n">are</span> <span class="n">also</span> <span class="n">available</span><span class="o">.</span> <span class="n">The</span> <span class="n">following</span> <span class="n">instruction</span>
- <span class="n">lists</span> <span class="nb">all</span> <span class="n">the</span> <span class="n">available</span> <span class="n">Singa</span> <span class="n">packages</span><span class="o">.</span>
-
- <span class="n">conda</span> <span class="n">search</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span>
+<p>Once the building environment is ready, you need to export the CUDA version first, and then run conda command to build SINGA</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="n">CUDA</span><span class="o">=</span><span class="n">x</span><span class="o">.</span><span class="n">y</span> <span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">g</span><span class="o">.</span> <span class="mf">9.0</span><span class="p">)</span>
+<span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">singa</span><span class="o">/</span>
</pre></div>
</div>
-<p>If there is no error message from</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">c</span> <span class="s2">"from singa import tensor"</span>
+</div>
+<div class="section" id="post-processing">
+<h3>Post Processing<a class="headerlink" href="#post-processing" title="Permalink to this headline">¶</a></h3>
+<p>The location of the generated package file (<code class="docutils literal notranslate"><span class="pre">.tar.gz</span></code>) is shown on the screen.
+The generated package can be installed directly,</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="o">--</span><span class="n">use</span><span class="o">-</span><span class="n">local</span> <span class="o"><</span><span class="n">path</span> <span class="n">to</span> <span class="n">the</span> <span [...]
</pre></div>
</div>
-<p>then SINGA is installed successfully.</p>
+<p>or uploaded to anaconda cloud for others to download and install. You need to register an account on anaconda for <a class="reference external" href="https://docs.anaconda.com/anaconda-cloud/user-guide/getting-started/">uploading the package</a>.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">install</span> <span class="n">anaconda</span><span class="o">-</span><span class="n">client</span>
+<span class="n">anaconda</span> <span class="n">login</span>
+<span class="n">anaconda</span> <span class="n">upload</span> <span class="o">-</span><span class="n">l</span> <span class="n">main</span> <span class="o"><</span><span class="n">path</span> <span class="n">to</span> <span class="n">the</span> <span class="n">package</span> <span class="n">file</span><span class="o">></span>
+</pre></div>
</div>
-<div class="section" id="from-source">
-<span id="from-source"></span><h2>From source<a class="headerlink" href="#from-source" title="Permalink to this headline">¶</a></h2>
-<p>The source files could be downloaded either as a
-<a class="reference external" href="https://dist.apache.org/repos/dist/dev/incubator/singa/">tar.gz file</a>, or as a git repo</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ git clone https://github.com/apache/incubator-singa.git
-$ cd incubator-singa/
+<p>After uploading the package to the cloud, you can see it on <a class="reference external" href="https://anaconda.org/">Anaconda Cloud</a> website or via the following command</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">search</span> <span class="o">-</span><span class="n">c</span> <span class="o"><</span><span class="n">anaconda</span> <span class="n">username</span><span class="o">></span> <span class="n">singa</span>
</pre></div>
</div>
-<div class="section" id="use-conda-to-build-singa">
-<span id="use-conda-to-build-singa"></span><h3>Use Conda to build SINGA<a class="headerlink" href="#use-conda-to-build-singa" title="Permalink to this headline">¶</a></h3>
-<p>Conda-build is a building tool that installs the dependent libraries from anaconda cloud and
-executes the building scripts. The generated package can be uploaded to anaconda
-cloud for others to download and install.</p>
-<p>To install conda-build (after installing miniconda)</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">install</span> <span class="n">conda</span><span class="o">-</span><span class="n">build</span>
+<p>Each specific SINGA package is identified by the version and build string. To install a specific SINGA package, you need to provide all the information, e.g.,</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="o"><</span><span class="n">anaconda</span> <span class="n">username</span><span class="o">></span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">singa</span><span class="o">=</span [...]
</pre></div>
</div>
-<p>To build the CPU version of SINGA</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">singa</span><span class="o">/</span> <span class="o">--</span><span class="n">python</span> <span class="mf">3.6</span>
+<p>To make the installation command simple, you can create the following additional packages which depend on the latest CPU and GPU SINGA packages.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># for singa-cpu</span>
+<span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">cpu</span><span class="o">/</span> <span class="o">--</span><span class="n">python</span><span class="o">=</span><span class="mf">3.6</span>
+<span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">cpu</span><span class="o">/</span> <span class="o">--</span><span class="n">python</span><span class="o">=</span><span class="mf">3.7</span>
+<span class="c1"># for singa-gpu</span>
+<span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">gpu</span><span class="o">/</span> <span class="o">--</span><span class="n">python</span><span class="o">=</span><span class="mf">3.6</span>
+<span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">gpu</span><span class="o">/</span> <span class="o">--</span><span class="n">python</span><span class="o">=</span><span class="mf">3.7</span>
</pre></div>
</div>
-<p>The above commands have been tested on Ubuntu 16.04 and Mac OSX.
-Refer to the <a class="reference external" href="https://travis-ci.org/apache/incubator-singa">Travis-CI page</a> for more information.</p>
-<p>To build the GPU version of SINGA</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="n">CUDA</span><span class="o">=</span><span class="n">x</span><span class="o">.</span><span class="n">y</span> <span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">g</span><span class="o">.</span> <span class="mf">9.0</span><span class="p">)</span>
-<span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">singa</span><span class="o">/</span> <span class="o">--</span><span class="n">python</span> <span class="mf">3.6</span>
+<p>Therefore, when you run</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="o"><</span><span class="n">anaconda</span> <span class="n">username</span><span class="o">></span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">singa</span><span class="o">-</span [...]
</pre></div>
</div>
-<p>The commands for building on GPU platforms have been tested on Ubuntu 16.04 (cuDNN>=7 and CUDA>=9).
-<a class="reference external" href="https://hub.docker.com/r/nvidia/cuda/">Nvidia’s Docker image</a> provides the building
-environment with cuDNN and CUDA.</p>
-<p>The location of the generated package file is shown on the screen.
-Refer to <a class="reference external" href="https://conda.io/docs/commands/conda-install.html">conda install</a> for
-the instructions of installing the package from the local file.</p>
+<p>(<code class="docutils literal notranslate"><span class="pre">xpu</span></code> is either ‘cpu’ or ‘gpu’), the corresponding real SINGA package is installed as the dependent library.</p>
+</div>
</div>
<div class="section" id="use-native-tools-to-build-singa-on-ubuntu">
-<span id="use-native-tools-to-build-singa-on-ubuntu"></span><h3>Use native tools to build SINGA on Ubuntu<a class="headerlink" href="#use-native-tools-to-build-singa-on-ubuntu" title="Permalink to this headline">¶</a></h3>
-<p>The following libraries are required to compile and run SINGA.
-Refer to SINGA <a class="reference external" href="https://github.com/apache/incubator-singa/blob/master/tool/docker/">Dockerfiles</a>
-for the instructions of installing them on Ubuntu 16.04.</p>
-<ul class="simple">
-<li>cmake (>=2.8)</li>
-<li>gcc (>=4.8.1)</li>
-<li>google protobuf (>=2.5)</li>
-<li>blas (tested with openblas >=0.2.10)</li>
-<li>swig(>=3.0.10) for compiling PySINGA</li>
-<li>numpy(>=1.11.0) for compiling PySINGA</li>
-</ul>
-<ol class="simple">
-<li>create a <code class="docutils literal notranslate"><span class="pre">build</span></code> folder inside incubator-singa and go into that folder</li>
-<li>run <code class="docutils literal notranslate"><span class="pre">cmake</span> <span class="pre">[options]</span> <span class="pre">..</span></code>
-by default all options are OFF except <code class="docutils literal notranslate"><span class="pre">USE_PYTHON</span></code><ul>
-<li><code class="docutils literal notranslate"><span class="pre">USE_MODULES=ON</span></code>, used if protobuf and blas are not installed a prior</li>
-<li><code class="docutils literal notranslate"><span class="pre">USE_CUDA=ON</span></code>, used if CUDA and cuDNN is available</li>
-<li><code class="docutils literal notranslate"><span class="pre">USE_PYTHON3=ON</span></code>, used for compiling with Python 3 support. (The default is Python 2)</li>
-<li><code class="docutils literal notranslate"><span class="pre">USE_OPENCL=ON</span></code>, used for compiling with OpenCL support</li>
-<li><code class="docutils literal notranslate"><span class="pre">USE_MKLDNN=ON</span></code>, used for compiling with Intel MKL-dnn support</li>
-<li><code class="docutils literal notranslate"><span class="pre">PACKAGE=ON</span></code>, used for building the Debian package</li>
-<li><code class="docutils literal notranslate"><span class="pre">ENABLE_TEST</span></code>, used for compiling unit test cases</li>
-</ul>
-</li>
-<li>compile the code, <code class="docutils literal notranslate"><span class="pre">make</span></code></li>
-<li>goto python folder</li>
-<li>run <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">.</span></code> or <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-e</span> <span class="pre">.</span></code> The second command creates symlinks instead of copying files into python site-package folder.</li>
-</ol>
-<p>Execute step 4 and 5 are to install PySINGA when USE_PYTHON=ON.</p>
-<p>After compiling SINGA with ENABLE_TEST=ON, you can run the unit tests by</p>
+<h2>Use native tools to build SINGA on Ubuntu<a class="headerlink" href="#use-native-tools-to-build-singa-on-ubuntu" title="Permalink to this headline">¶</a></h2>
+<p>Refer to SINGA <a class="reference external" href="https://github.com/apache/incubator-singa/blob/master/tool/docker/devel/ubuntu/cuda9/Dockerfile#L30">Dockerfiles</a>
+for the instructions of installing the dependent libraries on Ubuntu 16.04. You can also create a Docker container using the <a class="reference external" href="#">devel images</a> and build SINGA inside the container.
+To build SINGA with GPU, MKLDNN, Python and unit tests, run the following instructions</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkdir</span> <span class="n">build</span> <span class="c1"># at the root of incubator-singa folder</span>
+<span class="n">cd</span> <span class="n">build</span>
+<span class="n">cmake</span> <span class="o">-</span><span class="n">DENABLE_TEST</span><span class="o">=</span><span class="n">ON</span> <span class="o">-</span><span class="n">DUSE_CUDA</span><span class="o">=</span><span class="n">ON</span> <span class="o">-</span><span class="n">DUSE_MKLDNN</span><span class="o">=</span><span class="n">ON</span> <span class="o">-</span><span class="n">DUSE_PYTHON3</span><span class="o">=</span><span class="n">ON</span> <span class="o">..</span>
+<span class="n">make</span>
+<span class="n">cd</span> <span class="n">python</span>
+<span class="n">pip</span> <span class="n">install</span> <span class="o">.</span>
+</pre></div>
+</div>
+<p>The details of the CMake options are explained in the last section of this page.
+The last command install the Python package. You can also run <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-e</span> <span class="pre">.</span></code>, which creates symlinks instead of copying the Python files into the site-package folder.</p>
+<p>If SINGA is compiled with ENABLE_TEST=ON, you can run the unit tests by</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ ./bin/test_singa
</pre></div>
</div>
<p>You can see all the testing cases with testing results. If SINGA passes all
tests, then you have successfully installed SINGA.</p>
</div>
+<div class="section" id="use-native-tools-to-build-singa-on-centos7">
+<h2>Use native tools to Build SINGA on Centos7<a class="headerlink" href="#use-native-tools-to-build-singa-on-centos7" title="Permalink to this headline">¶</a></h2>
+<p>Building from source will be different for Centos7 as package names differ.Follow the instructions given below.</p>
+<div class="section" id="installing-dependencies">
+<h3>Installing dependencies<a class="headerlink" href="#installing-dependencies" title="Permalink to this headline">¶</a></h3>
+<p>Basic packages/libraries</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">yum</span> <span class="n">install</span> <span class="n">freetype</span><span class="o">-</span><span class="n">devel</span> <span class="n">libXft</span><span class="o">-</span><span class="n">devel</span> <span class="n">ncurses</span><span class="o">-</span><span class="n">devel</span> <span class="n">openblas</span><span class="o">-</span><span class="n">de [...]
+</pre></div>
+</div>
+<p>For build-essential</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">yum</span> <span class="n">group</span> <span class="n">install</span> <span class="s2">"Development Tools"</span>
+</pre></div>
+</div>
+<p>For installing swig</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>sudo yum install pcre-devel
+wget http://prdownloads.sourceforge.net/swig/swig-3.0.10.tar.gz
+tar xvzf swig-3.0.10.tar.gz
+cd swig-3.0.10.tar.gz
+./configure --prefix=${RUN}
+make
+make install
+</pre></div>
+</div>
+<p>For installing gfortran</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">yum</span> <span class="n">install</span> <span class="n">centos</span><span class="o">-</span><span class="n">release</span><span class="o">-</span><span class="n">scl</span><span class="o">-</span><span class="n">rh</span>
+<span class="n">sudo</span> <span class="n">yum</span> <span class="o">--</span><span class="n">enablerepo</span><span class="o">=</span><span class="n">centos</span><span class="o">-</span><span class="n">sclo</span><span class="o">-</span><span class="n">rh</span><span class="o">-</span><span class="n">testing</span> <span class="n">install</span> <span class="n">devtoolset</span><span class="o">-</span><span class="mi">7</span><span class="o">-</span><span class="n">gcc</span><span cl [...]
+</pre></div>
+</div>
+<p>For installing pip and other packages</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">yum</span> <span class="n">install</span> <span class="n">epel</span><span class="o">-</span><span class="n">release</span>
+<span class="n">sudo</span> <span class="n">yum</span> <span class="n">install</span> <span class="n">python</span><span class="o">-</span><span class="n">pip</span>
+<span class="n">pip</span> <span class="n">install</span> <span class="n">matplotlib</span> <span class="n">numpy</span> <span class="n">pandas</span> <span class="n">scikit</span><span class="o">-</span><span class="n">learn</span> <span class="n">pydot</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="installation">
+<h3>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h3>
+<p>Follow steps 1-5 of <em>Use native tools to build SINGA on Ubuntu</em></p>
+</div>
+<div class="section" id="testing">
+<h3>Testing<a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h3>
+<p>You can run the unit tests by,</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ ./bin/test_singa
+</pre></div>
+</div>
+<p>You can see all the testing cases with testing results. If SINGA passes all
+tests, then you have successfully installed SINGA.</p>
+</div>
+</div>
<div class="section" id="compile-singa-on-windows">
-<span id="compile-singa-on-windows"></span><h3>Compile SINGA on Windows<a class="headerlink" href="#compile-singa-on-windows" title="Permalink to this headline">¶</a></h3>
+<h2>Compile SINGA on Windows<a class="headerlink" href="#compile-singa-on-windows" title="Permalink to this headline">¶</a></h2>
<p>Instructions for building on Windows with Python support can be found <a class="reference external" href="install_win.html">here</a>.</p>
</div>
<div class="section" id="more-details-about-the-compilation-options">
-<span id="more-details-about-the-compilation-options"></span><h3>More details about the compilation options<a class="headerlink" href="#more-details-about-the-compilation-options" title="Permalink to this headline">¶</a></h3>
-</div>
-<div class="section" id="use-modules">
-<span id="use-modules"></span><h3>USE_MODULES<a class="headerlink" href="#use-modules" title="Permalink to this headline">¶</a></h3>
+<h2>More details about the compilation options<a class="headerlink" href="#more-details-about-the-compilation-options" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="use-modules-deprecated">
+<h3>USE_MODULES (deprecated)<a class="headerlink" href="#use-modules-deprecated" title="Permalink to this headline">¶</a></h3>
<p>If protobuf and openblas are not installed, you can compile SINGA together with them</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ In SINGA ROOT folder
$ mkdir build
@@ -365,9 +366,10 @@ the following environment variables</p>
<span class="n">export</span> <span class="n">CMAKE_LIBRARY_PATH</span><span class="o">=<</span><span class="n">path</span> <span class="n">to</span> <span class="n">the</span> <span class="n">lib</span> <span class="n">file</span> <span class="n">folder</span><span class="o">></span>
</pre></div>
</div>
+</div>
<div class="section" id="use-python">
-<span id="use-python"></span><h4>USE_PYTHON<a class="headerlink" href="#use-python" title="Permalink to this headline">¶</a></h4>
-<p>Similar to compile CPP code, PySINGA is compiled by</p>
+<h3>USE_PYTHON<a class="headerlink" href="#use-python" title="Permalink to this headline">¶</a></h3>
+<p>Option for compiling the Python wrapper for SINGA,</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cmake -DUSE_PYTHON=ON ..
$ make
$ cd python
@@ -376,11 +378,11 @@ $ pip install .
</div>
</div>
<div class="section" id="use-cuda">
-<span id="use-cuda"></span><h4>USE_CUDA<a class="headerlink" href="#use-cuda" title="Permalink to this headline">¶</a></h4>
+<h3>USE_CUDA<a class="headerlink" href="#use-cuda" title="Permalink to this headline">¶</a></h3>
<p>Users are encouraged to install the CUDA and
<a class="reference external" href="https://developer.nvidia.com/cudnn">cuDNN</a> for running SINGA on GPUs to
get better performance.</p>
-<p>SINGA has been tested over CUDA 9, and cuDNN 7. If cuDNN is
+<p>SINGA has been tested over CUDA 9/10, and cuDNN 7. If cuDNN is
installed into non-system folder, e.g. /home/bob/local/cudnn/, the following
commands should be executed for cmake and the runtime to find it</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ export CMAKE_INCLUDE_PATH=/home/bob/local/cudnn/include:$CMAKE_INCLUDE_PATH
@@ -395,8 +397,20 @@ $ make
</pre></div>
</div>
</div>
+<div class="section" id="use-mkldnn">
+<h3>USE_MKLDNN<a class="headerlink" href="#use-mkldnn" title="Permalink to this headline">¶</a></h3>
+<p>User can enable MKL-DNN to enhance the performance of CPU computation.</p>
+<p>Installation guide of MKL-DNN could be found <a class="reference external" href="https://github.com/intel/mkl-dnn#installation">here</a>.</p>
+<p>SINGA has been tested over MKL-DNN v0.17.2.</p>
+<p>To build SINGA with MKL-DNN support:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># Dependent libs are installed already
+$ cmake -DUSE_MKLDNN=ON ..
+$ make
+</pre></div>
+</div>
+</div>
<div class="section" id="use-opencl">
-<span id="use-opencl"></span><h4>USE_OPENCL<a class="headerlink" href="#use-opencl" title="Permalink to this headline">¶</a></h4>
+<h3>USE_OPENCL<a class="headerlink" href="#use-opencl" title="Permalink to this headline">¶</a></h3>
<p>SINGA uses opencl-headers and viennacl (version 1.7.1 or newer) for OpenCL support, which
can be installed using via</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># On Ubuntu 16.04
@@ -407,9 +421,9 @@ $ sudo yum install opencl-headers, viennacl
</div>
<p>Additionally, you will need the OpenCL Installable Client Driver (ICD) for the platforms that you want to run OpenCL on.</p>
<ul class="simple">
-<li>For AMD and nVidia GPUs, the driver package should also install the correct OpenCL ICD.</li>
-<li>For Intel CPUs and/or GPUs, get the driver from the <a class="reference external" href="https://software.intel.com/en-us/articles/opencl-drivers">Intel website.</a> Note that the drivers provided on that website only supports recent CPUs and Iris GPUs.</li>
-<li>For older Intel CPUs, you can use the <code class="docutils literal notranslate"><span class="pre">beignet-opencl-icd</span></code> package.</li>
+<li><p>For AMD and nVidia GPUs, the driver package should also install the correct OpenCL ICD.</p></li>
+<li><p>For Intel CPUs and/or GPUs, get the driver from the <a class="reference external" href="https://software.intel.com/en-us/articles/opencl-drivers">Intel website.</a> Note that the drivers provided on that website only supports recent CPUs and Iris GPUs.</p></li>
+<li><p>For older Intel CPUs, you can use the <code class="docutils literal notranslate"><span class="pre">beignet-opencl-icd</span></code> package.</p></li>
</ul>
<p>Note that running OpenCL on CPUs is not currently recommended because it is slow.
Memory transfer is on the order of whole seconds (1000’s of ms on CPUs as compared to 1’s of ms on GPUs).</p>
@@ -423,20 +437,8 @@ $ make
</pre></div>
</div>
</div>
-<div class="section" id="use-mkldnn">
-<span id="use-mkldnn"></span><h4>USE_MKLDNN<a class="headerlink" href="#use-mkldnn" title="Permalink to this headline">¶</a></h4>
-<p>User can enable MKL-DNN to enhance the performance of CPU computation.</p>
-<p>Installation guide of MKL-DNN could be found <a class="reference external" href="https://github.com/intel/mkl-dnn#installation">here</a>.</p>
-<p>SINGA has been tested over MKL-DNN v0.17.2.</p>
-<p>To build SINGA with MKL-DNN support:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># Dependent libs are installed already
-$ cmake -DUSE_MKLDNN=ON ..
-$ make
-</pre></div>
-</div>
-</div>
<div class="section" id="package">
-<span id="package"></span><h4>PACKAGE<a class="headerlink" href="#package" title="Permalink to this headline">¶</a></h4>
+<h3>PACKAGE<a class="headerlink" href="#package" title="Permalink to this headline">¶</a></h3>
<p>This setting is used to build the Debian package. Set PACKAGE=ON and build the package with make command like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cmake -DPACKAGE=ON
$ make package
@@ -444,24 +446,18 @@ $ make package
</div>
</div>
</div>
-</div>
<div class="section" id="faq">
-<span id="faq"></span><h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h2>
+<h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Q: Error from ‘import singa’ using PySINGA installed from wheel.</p>
-<p>A: Please check the detailed error from <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-c</span> <span class="pre">"from</span> <span class="pre">singa</span> <span class="pre">import</span> <span class="pre">_singa_wrap"</span></code>. Sometimes it is
-caused by the dependent libraries, e.g. there are multiple versions of protobuf, missing of cudnn, numpy version mismatch. Following
-steps show the solutions for different cases</p>
+<li><p>Q: Error from ‘import singa’</p>
+<p>A: Please check the detailed error from <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-c</span>  <span class="pre">"from</span> <span class="pre">singa</span> <span class="pre">import</span> <span class="pre">_singa_wrap"</span></code>. Sometimes it is caused by the dependent libraries, e.g. there are multiple versions of protobuf, missing of cudnn, numpy version mismatch. Following steps show the solutions for different cases</p>
<ol>
-<li><p class="first">Check the cudnn and cuda and gcc versions, cudnn5 and cuda7.5 and gcc4.8/4.9 are preferred. if gcc is 5.0, then downgrade it.
-If cudnn is missing or not match with the wheel version, you can download the correct version of cudnn into ~/local/cudnn/ and</p>
+<li><p>Check the cudnn and cuda. If cudnn is missing or not match with the wheel version, you can download the correct version of cudnn into ~/local/cudnn/ and</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/cudnn/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
</pre></div>
</div>
</li>
-<li><p class="first">If it is the problem related to protobuf, then download the newest whl files which have <a class="reference external" href="https://issues.apache.org/jira/browse/SINGA-255">compiled protobuf and openblas into the whl</a> file of PySINGA.
-Or you can install protobuf from source into a local folder, say ~/local/;
-Decompress the tar file, and then</p>
+<li><p>If it is the problem related to protobuf. You can install protobuf (3.6.1) from source into a local folder, say ~/local/; Decompress the tar file, and then</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ ./configure --prefix=/home/<yourname>local
$ make && make install
$ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
@@ -469,9 +465,8 @@ Decompress the tar file, and then</p>
</pre></div>
</div>
</li>
-<li><p class="first">If it cannot find other libs including python, then create virtual env using pip or conda;</p>
-</li>
-<li><p class="first">If it is not caused by the above reasons, go to the folder of <code class="docutils literal notranslate"><span class="pre">_singa_wrap.so</span></code>,</p>
+<li><p>If it cannot find other libs including python, then create virtual env using pip or conda;</p></li>
+<li><p>If it is not caused by the above reasons, go to the folder of <code class="docutils literal notranslate"><span class="pre">_singa_wrap.so</span></code>,</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ python
>> import importlib
>> importlib.import_module('_singa_wrap')
@@ -487,9 +482,7 @@ Decompress the tar file, and then</p>
</pre></div>
</div>
</li>
-</ul>
-<ul>
-<li><p class="first">Q: Error from running <code class="docutils literal notranslate"><span class="pre">cmake</span> <span class="pre">..</span></code>, which cannot find the dependent libraries.</p>
+<li><p>Q: Error from running <code class="docutils literal notranslate"><span class="pre">cmake</span> <span class="pre">..</span></code>, which cannot find the dependent libraries.</p>
<p>A: If you haven’t installed the libraries, install them. If you installed
the libraries in a folder that is outside of the system folder, e.g. /usr/local,
you need to export the following variables</p>
@@ -498,9 +491,7 @@ you need to export the following variables</p>
</pre></div>
</div>
</li>
-</ul>
-<ul>
-<li><p class="first">Q: Error from <code class="docutils literal notranslate"><span class="pre">make</span></code>, e.g. the linking phase</p>
+<li><p>Q: Error from <code class="docutils literal notranslate"><span class="pre">make</span></code>, e.g. the linking phase</p>
<p>A: If your libraries are in other folders than system default paths, you need
to export the following varaibles</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export LIBRARY_PATH=<path to your lib file folder>
@@ -508,22 +499,20 @@ to export the following varaibles</p>
</pre></div>
</div>
</li>
-</ul>
-<ul>
-<li><p class="first">Q: Error from header files, e.g. ‘cblas.h no such file or directory exists’</p>
+<li><p>Q: Error from header files, e.g. ‘cblas.h no such file or directory exists’</p>
<p>A: You need to include the folder of the cblas.h into CPLUS_INCLUDE_PATH,
e.g.,</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export CPLUS_INCLUDE_PATH=/opt/OpenBLAS/include:$CPLUS_INCLUDE_PATH
</pre></div>
</div>
</li>
-<li><p class="first">Q:While compiling SINGA, I get error <code class="docutils literal notranslate"><span class="pre">SSE2</span> <span class="pre">instruction</span> <span class="pre">set</span> <span class="pre">not</span> <span class="pre">enabled</span></code></p>
+<li><p>Q:While compiling SINGA, I get error <code class="docutils literal notranslate"><span class="pre">SSE2</span> <span class="pre">instruction</span> <span class="pre">set</span> <span class="pre">not</span> <span class="pre">enabled</span></code></p>
<p>A:You can try following command:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ make CFLAGS='-msse2' CXXFLAGS='-msse2'
</pre></div>
</div>
</li>
-<li><p class="first">Q:I get <code class="docutils literal notranslate"><span class="pre">ImportError:</span> <span class="pre">cannot</span> <span class="pre">import</span> <span class="pre">name</span> <span class="pre">enum_type_wrapper</span></code> from google.protobuf.internal when I try to import .py files.</p>
+<li><p>Q:I get <code class="docutils literal notranslate"><span class="pre">ImportError:</span> <span class="pre">cannot</span> <span class="pre">import</span> <span class="pre">name</span> <span class="pre">enum_type_wrapper</span></code> from google.protobuf.internal when I try to import .py files.</p>
<p>A: You need to install the python binding of protobuf, which could be installed via</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ sudo apt-get install protobuf
</pre></div>
@@ -536,7 +525,7 @@ e.g.,</p>
</pre></div>
</div>
</li>
-<li><p class="first">Q: When I build OpenBLAS from source, I am told that I need a Fortran compiler.</p>
+<li><p>Q: When I build OpenBLAS from source, I am told that I need a Fortran compiler.</p>
<p>A: You can compile OpenBLAS by</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ make ONLY_CBLAS=1
</pre></div>
@@ -546,7 +535,7 @@ e.g.,</p>
</pre></div>
</div>
</li>
-<li><p class="first">Q: When I build protocol buffer, it reports that GLIBC++_3.4.20 not found in /usr/lib64/libstdc++.so.6.</p>
+<li><p>Q: When I build protocol buffer, it reports that GLIBC++_3.4.20 not found in /usr/lib64/libstdc++.so.6.</p>
<p>A: This means the linker found libstdc++.so.6 but that library
belongs to an older version of GCC than was used to compile and link the
program. The program depends on code defined in
@@ -563,7 +552,7 @@ following command,</p>
</pre></div>
</div>
</li>
-<li><p class="first">Q: When I build glog, it reports that “src/logging_unittest.cc:83:20: error: ‘gflags’ is not a namespace-name”</p>
+<li><p>Q: When I build glog, it reports that “src/logging_unittest.cc:83:20: error: ‘gflags’ is not a namespace-name”</p>
<p>A: It maybe that you have installed gflags with a different namespace such as “google”. so glog can’t find ‘gflags’ namespace.
Because it is not necessary to have gflags to build glog. So you can change the configure.ac file to ignore gflags.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="mf">1.</span> <span class="n">cd</span> <span class="n">to</span> <span class="n">glog</span> <span class="n">src</span> <span class="n">directory</span>
@@ -573,17 +562,17 @@ Because it is not necessary to have gflags to build glog. So you can change the
</div>
<p>After this, you can build glog again.</p>
</li>
-<li><p class="first">Q: When using virtual environment, everytime I run pip install, it would reinstall numpy. However, the numpy would not be used when I <code class="docutils literal notranslate"><span class="pre">import</span> <span class="pre">numpy</span></code></p>
+<li><p>Q: When using virtual environment, every time I run pip install, it would reinstall numpy. However, the numpy would not be used when I <code class="docutils literal notranslate"><span class="pre">import</span> <span class="pre">numpy</span></code></p>
<p>A: It could be caused by the <code class="docutils literal notranslate"><span class="pre">PYTHONPATH</span></code> which should be set to empty when you are using virtual environment to avoid the conflicts with the path of
the virtual environment.</p>
</li>
-<li><p class="first">Q: When compiling PySINGA from source, there is a compilation error due to the missing of <numpy/objectarray.h></p>
+<li><p>Q: When compiling PySINGA from source, there is a compilation error due to the missing of <numpy/objectarray.h></p>
<p>A: Please install numpy and export the path of numpy header files as</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export CPLUS_INCLUDE_PATH=`python -c "import numpy; print numpy.get_include()"`:$CPLUS_INCLUDE_PATH
</pre></div>
</div>
</li>
-<li><p class="first">Q: When I run PySINGA in Mac OS X, I got the error “Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6”</p>
+<li><p>Q: When I run SINGA in Mac OS X, I got the error “Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6”</p>
<p>A: This error happens typically when you have multiple version of Python on your system and you installed SINGA via pip (this problem is resolved for installation via conda),
e.g, the one comes with the OS and the one installed by Homebrew. The Python linked by PySINGA must be the same as the Python interpreter.
You can check your interpreter by <code class="docutils literal notranslate"><span class="pre">which</span> <span class="pre">python</span></code> and check the Python linked by PySINGA via <code class="docutils literal notranslate"><span class="pre">otool</span> <span class="pre">-L</span> <span class="pre"><path</span> <span class="pre">to</span> <span class="pre">_singa_wrap.so></span></code>.
@@ -604,21 +593,12 @@ In particular, if you build PySINGA from source, you need to specify the paths w
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="software_stack.html" class="btn btn-neutral float-right" title="Software Stack" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="index.html" class="btn btn-neutral" title="Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -635,36 +615,17 @@ In particular, if you build PySINGA from source, you need to specify the paths w
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -674,8 +635,8 @@ In particular, if you build PySINGA from source, you need to specify the paths w
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -684,8 +645,14 @@ In particular, if you build PySINGA from source, you need to specify the paths w
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/develop/contribute-code.html b/en/develop/contribute-code.html
index f4723a1..29d9cd9 100644
--- a/en/develop/contribute-code.html
+++ b/en/develop/contribute-code.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>How to Contribute Code — incubator-singa 1.1.0 documentation</title>
+ <title>How to Contribute Code — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,28 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="How to Contribute to Documentation" href="contribute-docs.html" />
- <link rel="prev" title="How to Contribute to SINGA" href="how-contribute.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="prev" title="Security" href="../security.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +50,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -102,16 +103,15 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">How to Contribute Code</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#coding-style">Coding Style</a></li>
<li class="toctree-l2"><a class="reference internal" href="#jira-format">JIRA format</a></li>
-<li class="toctree-l2"><a class="reference internal" href="#pull-request">Pull Request</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#git-workflow">Git Workflow</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#developing-environment">Developing Environment</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="contribute-docs.html">How to Contribute to Documentation</a></li>
@@ -192,72 +192,102 @@
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span [...]
-
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–></p>
-<div class="section" id="how-to-contribute-code">
-<span id="how-to-contribute-code"></span><h1>How to Contribute Code<a class="headerlink" href="#how-to-contribute-code" title="Permalink to this headline">¶</a></h1>
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="how-to-contribute-code">
+<h1>How to Contribute Code<a class="headerlink" href="#how-to-contribute-code" title="Permalink to this headline">¶</a></h1>
<div class="section" id="coding-style">
-<span id="coding-style"></span><h2>Coding Style<a class="headerlink" href="#coding-style" title="Permalink to this headline">¶</a></h2>
-<p>The SINGA codebase follows the <a class="reference external" href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml">Google C++ Style Guide</a>.</p>
-<p>To check if your code follows the style, you can use the provided cpplint tool:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ ./tool/cpplint.py YOUR_FILE
+<h2>Coding Style<a class="headerlink" href="#coding-style" title="Permalink to this headline">¶</a></h2>
+<p>The SINGA codebase follows the Google Style for both <a class="reference external" href="http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml">CPP</a> and <a class="reference external" href="http://google.github.io/styleguide/pyguide.html">Python</a> code.</p>
+<p>A simple way to enforce the Google coding styles is to use the linting and formating tools in the Visual Studio Code editor:</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools">C/C++ extension</a></p></li>
+<li><p><a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=ms-python.python">Python extension</a></p></li>
+</ul>
+<p>Once the extensions are installed, edit the settings.json file.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="s2">"editor.formatOnSave"</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
+<span class="s2">"python.formatting.provider"</span><span class="p">:</span> <span class="s2">"yapf"</span><span class="p">,</span>
+<span class="s2">"python.formatting.yapfArgs"</span><span class="p">:</span> <span class="p">[</span>
+ <span class="s2">"--style"</span><span class="p">,</span>
+ <span class="s2">"{based_on_style: google}"</span>
+<span class="p">],</span>
+<span class="s2">"python.linting.enabled"</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
+<span class="s2">"python.linting.lintOnSave"</span><span class="p">:</span> <span class="n">true</span><span class="p">,</span>
+<span class="s2">"C_Cpp.clang_format_style"</span><span class="p">:</span> <span class="s2">"Google"</span>
</pre></div>
</div>
+<p>You need to fix the format errors before submitting the pull requests.</p>
</div>
<div class="section" id="jira-format">
-<span id="jira-format"></span><h2>JIRA format<a class="headerlink" href="#jira-format" title="Permalink to this headline">¶</a></h2>
+<h2>JIRA format<a class="headerlink" href="#jira-format" title="Permalink to this headline">¶</a></h2>
<p>Like other Apache projects, SINGA uses JIRA to track bugs, improvements and
other high-level discussions (e.g., system design and features). Github pull requests are
used for implementation discussions, e.g., code review and code merge.</p>
<ul class="simple">
-<li>Provide a descriptive Title.</li>
-<li>Write a detailed Description. For bug reports, this should ideally include a
+<li><p>Provide a descriptive Title.</p></li>
+<li><p>Write a detailed Description. For bug reports, this should ideally include a
short reproduction of the problem. For new features, it may include a design
-document.</li>
-<li>Set <a class="reference external" href="https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark#ContributingtoSpark-JIRA">required fields</a></li>
+document.</p></li>
+<li><p>Set <a class="reference external" href="https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark#ContributingtoSpark-JIRA">required fields</a></p></li>
</ul>
</div>
-<div class="section" id="pull-request">
-<span id="pull-request"></span><h2>Pull Request<a class="headerlink" href="#pull-request" title="Permalink to this headline">¶</a></h2>
-<p>The work flow is</p>
-<ul class="simple">
-<li>Fork the <a class="reference external" href="https://github.com/apache/incubator-singa">SINGA Github repository</a> to
-your own Github account.</li>
-<li>Clone your fork, create a new branch (e.g., feature-foo or fixbug-foo),
-work on it. After finishing your job,
-<a class="reference external" href="https://git-scm.com/book/en/v2/Git-Branching-Rebasing">rebase</a> it to the
-current latest master and push commits to your own Github account (the new
-branch).</li>
-<li>Open a pull request against the master branch of apache/incubator-singa.
-The PR title should be of the form SINGA-xxxx Title, where
-SINGA-xxxx is the relevant JIRA number, and Title may be the JIRA’s title or a
-more specific title describing the PR itself, for example, “SINGA-6 Implement thread-safe singleton”. Detailed description can be copied from the JIRA.
-Consider identifying committers or other contributors who have worked on the
-code being changed. Find the file(s) in Github and click “Blame” to see a
-line-by-line annotation of who changed the code last. You can add @username in
-the PR description to ping them immediately.
-Please state that the contribution is your original work and that you license
-the work to the project under the project’s open source license. Further commits (e.g., bug fix)
-to your new branch will be added to this pull request automatically by Github.</li>
-<li>Wait for one committer to review the patch. If no conflicts, the committers will merge it with
-the master branch. The merge should a) not use rebase b) disable fast forward merge c) check the
-commit message format and test the code/feature.</li>
-<li>If there are too many small commit messages, you will be told to squash your commits into fewer meaningful
-commits. If your commit message does not follow the format (i.e., SINGA-xxxx), you will be told to
-reword your commit message. Both changes can be done using interactive git rebase. Once you
-get the commits corrected, push them to you own github again. Your pull request
-will be automatically updated. For details, please refer to
-<a class="reference external" href="https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request">Rebase Pull Requests</a>.</li>
-</ul>
+<div class="section" id="git-workflow">
+<h2>Git Workflow<a class="headerlink" href="#git-workflow" title="Permalink to this headline">¶</a></h2>
+<ol>
+<li><p>Fork the <a class="reference external" href="https://github.com/apache/incubator-singa">SINGA Github repository</a> to your own Github account.</p></li>
+<li><p>Clone the <strong>repo</strong> (short for repository) from your Github</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/<</span><span class="n">Github</span> <span class="n">account</span><span class="o">>/</span><span class="n">incubator</span><span class="o">-</span><span class="n">singa</s [...]
+<span class="n">git</span> <span class="n">remote</span> <span class="n">add</span> <span class="n">apache</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">apache</span><span class="o">/</span><span class="n">incubator</span><span class="o">-</span><span class="n">singa</span><span class="o">.</span><span class="n">git</span>
+</pre></div>
+</div>
+</li>
+<li><p>Create a new branch (e.g., <code class="docutils literal notranslate"><span class="pre">feature-foo</span></code> or <code class="docutils literal notranslate"><span class="pre">fixbug-foo</span></code>), work on it and commit your code.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">checkout</span> <span class="o">-</span><span class="n">b</span> <span class="n">feature</span><span class="o">-</span><span class="n">foo</span>
+<span class="c1"># write your code</span>
+<span class="n">git</span> <span class="n">add</span> <span class="o"><</span><span class="n">created</span><span class="o">/</span><span class="n">updated</span> <span class="n">files</span><span class="o">></span>
+<span class="n">git</span> <span class="n">commit</span>
+</pre></div>
+</div>
+<p>The commit message should have a <strong>title which consists of the JIRA ticket No (SINGA-xxx) and title</strong>. A brief description of the commit should be added in the commit message.</p>
+<p>If your branch has many small commits, you need to clean those commits via</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">rebase</span> <span class="o">-</span><span class="n">i</span> <span class="o"><</span><span class="n">commit</span> <span class="nb">id</span><span class="o">></span>
+</pre></div>
+</div>
+<p>You can <a class="reference external" href="https://help.github.com/en/articles/about-git-rebase">squash and reword</a> the commits.</p>
+</li>
+<li><p>When you are working on the code, the <code class="docutils literal notranslate"><span class="pre">master</span></code> of SINGA may have been updated by others; In this case, you need to pull the latest master</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">checkout</span> <span class="n">master</span>
+<span class="n">git</span> <span class="n">pull</span> <span class="n">apache</span> <span class="n">master</span><span class="p">:</span><span class="n">master</span>
+<span class="n">git</span> <span class="n">checkout</span> <span class="n">feature</span><span class="o">-</span><span class="n">foo</span>
+</pre></div>
+</div>
+</li>
+<li><p><a class="reference external" href="https://git-scm.com/book/en/v2/Git-Branching-Rebasing">Rebase</a> <code class="docutils literal notranslate"><span class="pre">feature-foo</span></code> onto the <code class="docutils literal notranslate"><span class="pre">master</span></code> branch and push commits to your own Github account (the new branch).</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">rebase</span> <span class="n">master</span>
+<span class="n">git</span> <span class="n">push</span> <span class="n">origin</span> <span class="n">feature</span><span class="o">-</span><span class="n">foo</span><span class="p">:</span><span class="n">feature</span><span class="o">-</span><span class="n">foo</span>
+</pre></div>
+</div>
+</li>
+<li><p>Open a pull request (PR) against the master branch of apache/incubator-singa on Github website. The PR title should be the JIRA ticket title. If you want to inform other contributors who worked on the same files, you can find the file(s) on Github and click “Blame” to see a line-by-line annotation of who changed the code last. Then, you can add @username in the PR description to ping them immediately. Please state that the contribution is your original work and that you licen [...]
+<li><p>Wait for committers to review the PR. If no conflicts and errors, the committers will merge it with the master branch. The merge should <strong>a) not use rebase b) disable fast forward merge c) check the commit message format and test the code/feature</strong>. During this time, the master of SINGA may have been updated by others, and then you need to <a class="reference external" href="https://docs.fast.ai/dev/git.html#how-to-keep-your-feature-branch-up-to-date">merge the latest [...]
+</ol>
+</div>
+<div class="section" id="developing-environment">
+<h2>Developing Environment<a class="headerlink" href="#developing-environment" title="Permalink to this headline">¶</a></h2>
+<p>Visual Studio Code is recommended as the editor. Extensions like Python, C/C++, Code Spell Checker, autoDocstring, vim, Remote Development could be installed. A reference configuration (i.e., <code class="docutils literal notranslate"><span class="pre">settings.json</span></code>) of these extensions is <a class="reference external" href="https://gist.github.com/nudles/3d23cfb6ffb30ca7636c45fe60278c55">here</a>.</p>
+<p>If you update the CPP code, you need to recompile SINGA <a class="reference internal" href="build.html"><span class="doc">from source</span></a>. It is recommended to use the native building tools in the <code class="docutils literal notranslate"><span class="pre">*-devel</span></code> Docker images or <code class="docutils literal notranslate"><span class="pre">conda</span> <span class="pre">build</span></code>.</p>
+<p>If you only update the Python code, you can install SINGAS once, and then copy the updated Python files to replace those in the Python installation folder,</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cp</span> <span class="n">python</span><span class="o">/</span><span class="n">singa</span><span class="o">/</span><span class="n">xx</span><span class="o">.</span><span class="n">py</span> <span class="o"><</span><span class="n">path</span> <span class="n">to</span> <span class="n">conda</span><span class="o">>/</span><span class="n">lib</span><span class="o">/</span><span class="n [...]
+</pre></div>
+</div>
</div>
</div>
@@ -272,7 +302,7 @@ will be automatically updated. For details, please refer to
<a href="contribute-docs.html" class="btn btn-neutral float-right" title="How to Contribute to Documentation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="how-contribute.html" class="btn btn-neutral" title="How to Contribute to SINGA" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="../security.html" class="btn btn-neutral float-left" title="Security" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -281,7 +311,7 @@ will be automatically updated. For details, please refer to
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -298,36 +328,17 @@ will be automatically updated. For details, please refer to
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -337,8 +348,8 @@ will be automatically updated. For details, please refer to
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -347,8 +358,14 @@ will be automatically updated. For details, please refer to
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/develop/contribute-docs.html b/en/develop/contribute-docs.html
index 708b63f..bc0d84a 100644
--- a/en/develop/contribute-docs.html
+++ b/en/develop/contribute-docs.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>How to Contribute to Documentation — incubator-singa 1.1.0 documentation</title>
+ <title>How to Contribute to Documentation — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,28 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="How to prepare a release" href="how-to-release.html" />
<link rel="prev" title="How to Contribute Code" href="contribute-code.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +50,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -102,16 +103,21 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">How to Contribute to Documentation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#website">Website</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#python-api">Python API</a></li>
<li class="toctree-l2"><a class="reference internal" href="#cpp-api">CPP API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#using-visual-studio-code-vscode">Using Visual Studio Code (vscode)</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#preview">Preview</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#docstring-snippet">Docstring Snippet</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#spell-check">Spell Check</a></li>
+</ul>
+</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="how-to-release.html">How to prepare a release</a></li>
@@ -191,52 +197,104 @@
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span [...]
-
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–></p>
-<div class="section" id="how-to-contribute-to-documentation">
-<span id="how-to-contribute-to-documentation"></span><h1>How to Contribute to Documentation<a class="headerlink" href="#how-to-contribute-to-documentation" title="Permalink to this headline">¶</a></h1>
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="how-to-contribute-to-documentation">
+<h1>How to Contribute to Documentation<a class="headerlink" href="#how-to-contribute-to-documentation" title="Permalink to this headline">¶</a></h1>
<div class="section" id="website">
-<span id="website"></span><h2>Website<a class="headerlink" href="#website" title="Permalink to this headline">¶</a></h2>
+<h2>Website<a class="headerlink" href="#website" title="Permalink to this headline">¶</a></h2>
<p>This document gives step-by-step instructions for deploying <a class="reference external" href="http://singa.incubator.apache.org">SINGA website</a>.</p>
-<p>SINGA website is built by <a class="reference external" href="http://www.sphinx-doc.org">Sphinx</a> >=1.4.4 from a source tree stored in git: https://github.com/apache/incubator-singa/tree/master/doc.</p>
+<p>SINGA website is built by <a class="reference external" href="http://www.sphinx-doc.org">Sphinx</a> from a source tree stored in the <a class="reference external" href="https://github.com/apache/incubator-singa/tree/master/doc">git repo</a>.</p>
<p>To install Sphinx:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pip install -U Sphinx
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="o">-</span><span class="n">U</span> <span class="n">Sphinx</span><span class="o">==</span><span class="mf">1.5</span><span class="o">.</span><span class="mi">6</span>
</pre></div>
</div>
<p>To install the markdown support for Sphinx:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pip install recommonmark
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">recommonmark</span><span class="o">==</span><span class="mf">0.5</span><span class="o">.</span><span class="mi">0</span>
</pre></div>
</div>
<p>To install the rtd theme:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pip install sphinx_rtd_theme
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">sphinx_rtd_theme</span><span class="o">==</span><span class="mf">0.4</span><span class="o">.</span><span class="mi">3</span>
</pre></div>
</div>
<p>You can build the website by executing the following command from the doc folder:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ ./build.sh html
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">build</span><span class="o">.</span><span class="n">sh</span> <span class="n">html</span>
</pre></div>
</div>
-<p>Committers can update the <a class="reference external" href="http://singa.apache.org/en/index.html">SINGA website</a> by following these steps:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cd _build
-$ svn co https://svn.apache.org/repos/asf/incubator/singa/site/trunk
-$ cp -r html/* trunk
-# svn add <newly added html files>
-$ svn commit -m "commit messages" --username <committer ID> --password <password>
+<p>Committers can update the <a class="reference external" href="http://singa.apache.org/en/index.html">SINGA website</a> by copying the updated files to the <a class="reference external" href="https://github.com/apache/incubator-singa-site">website repo</a> (suppose the site repo is ~/incubator-singa-sit)</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="n">_build</span>
+<span class="n">rsync</span> <span class="o">--</span><span class="n">checksum</span> <span class="o">-</span><span class="n">rvh</span> <span class="n">html</span><span class="o">/</span> <span class="o">~/</span><span class="n">incubator</span><span class="o">-</span><span class="n">singa</span><span class="o">-</span><span class="n">site</span><span class="o">/</span>
+<span class="n">cd</span> <span class="o">~/</span><span class="n">incubator</span><span class="o">-</span><span class="n">singa</span><span class="o">-</span><span class="n">site</span>
+<span class="n">git</span> <span class="n">commit</span> <span class="o">-</span><span class="n">m</span> <span class="s2">"update xxxx"</span>
+<span class="n">git</span> <span class="n">push</span>
</pre></div>
</div>
+<p>We fix the versions of the libs in order to generate the same (checksum) html file if the source file is not changed. Otherwise, everytime we build the documentation, the html file of the same source file could be different. As a result, many html files in the site repo need updating.</p>
+</div>
+<div class="section" id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Permalink to this headline">¶</a></h2>
</div>
<div class="section" id="cpp-api">
-<span id="cpp-api"></span><h2>CPP API<a class="headerlink" href="#cpp-api" title="Permalink to this headline">¶</a></h2>
+<h2>CPP API<a class="headerlink" href="#cpp-api" title="Permalink to this headline">¶</a></h2>
<p>To generate docs, run “doxygen” from the doc folder (Doxygen >= 1.8 recommended)</p>
</div>
+<div class="section" id="using-visual-studio-code-vscode">
+<h2>Using Visual Studio Code (vscode)<a class="headerlink" href="#using-visual-studio-code-vscode" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="preview">
+<h3>Preview<a class="headerlink" href="#preview" title="Permalink to this headline">¶</a></h3>
+<p>The document files (rst and md files) can be previewed in vscode via the <a class="reference external" href="https://docs.restructuredtext.net/">reStructuredText Extension</a>.</p>
+<ol>
+<li><p>Install the extension in vscode.</p></li>
+<li><p>Install the dependent libs. All libs required to build the website should be installed (see the above instructions). In addition, there are two more libs to be installed.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">pip</span> <span class="n">install</span> <span class="n">sphinx</span><span class="o">-</span><span class="n">autobuild</span><span class="o">=</span><span class="mf">0.7</span><span class="o">.</span><span class="mi">1</span>
+ <span class="n">pip</span> <span class="n">install</span> <span class="n">doc8</span><span class="o">=</span><span class="mf">0.8</span><span class="o">.</span><span class="mi">0</span>
+</pre></div>
+</div>
+</li>
+<li><p>Configure the conf path for <code class="docutils literal notranslate"><span class="pre">restructuredtext.confPath</span></code> to the <a class="reference external" href="./conf.py">conf.py</a></p></li>
+</ol>
+</div>
+<div class="section" id="docstring-snippet">
+<h3>Docstring Snippet<a class="headerlink" href="#docstring-snippet" title="Permalink to this headline">¶</a></h3>
+<p><a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring">autoDocstring</a> generates the docstring of functions, classes, etc. Choose the DocString Format to <code class="docutils literal notranslate"><span class="pre">google</span></code>.</p>
+</div>
+<div class="section" id="spell-check">
+<h3>Spell Check<a class="headerlink" href="#spell-check" title="Permalink to this headline">¶</a></h3>
+<p><a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker">Code Spell Checker</a> can be configured to check the comments of the code, or .md and .rst files.</p>
+<p>To do spell check only for comments of Python code, add the following snippet via <code class="docutils literal notranslate"><span class="pre">File</span> <span class="pre">-</span> <span class="pre">Preferences</span> <span class="pre">-</span> <span class="pre">User</span> <span class="pre">Snippets</span> <span class="pre">-</span> <span class="pre">python.json</span></code></p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="s2">"cspell check"</span> <span class="p">:</span> <span class="p">{</span>
+<span class="s2">"prefix"</span><span class="p">:</span> <span class="s2">"cspell"</span><span class="p">,</span>
+<span class="s2">"body"</span><span class="p">:</span> <span class="p">[</span>
+ <span class="s2">"# Directives for doing spell check only for python and c/cpp comments"</span><span class="p">,</span>
+ <span class="s2">"# cSpell:includeRegExp #.* "</span><span class="p">,</span>
+ <span class="s2">"# cSpell:includeRegExp (</span><span class="se">\"\"\"</span><span class="s2">|''')[^</span><span class="se">\1</span><span class="s2">]*</span><span class="se">\1</span><span class="s2">"</span><span class="p">,</span>
+ <span class="s2">"# cSpell: CStyleComment"</span><span class="p">,</span>
+<span class="p">],</span>
+<span class="s2">"description"</span><span class="p">:</span> <span class="s2">"# spell check only for python comments"</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>To do spell check only for comments of Cpp code, add the following snippet via <code class="docutils literal notranslate"><span class="pre">File</span> <span class="pre">-</span> <span class="pre">Preferences</span> <span class="pre">-</span> <span class="pre">User</span> <span class="pre">Snippets</span> <span class="pre">-</span> <span class="pre">cpp.json</span></code></p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="s2">"cspell check"</span> <span class="p">:</span> <span class="p">{</span>
+<span class="s2">"prefix"</span><span class="p">:</span> <span class="s2">"cspell"</span><span class="p">,</span>
+<span class="s2">"body"</span><span class="p">:</span> <span class="p">[</span>
+ <span class="s2">"// Directive for doing spell check only for cpp comments"</span><span class="p">,</span>
+ <span class="s2">"// cSpell:includeRegExp CStyleComment"</span><span class="p">,</span>
+<span class="p">],</span>
+<span class="s2">"description"</span><span class="p">:</span> <span class="s2">"# spell check only for cpp comments"</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</div>
+</div>
</div>
@@ -250,7 +308,7 @@ $ svn commit -m "commit messages" --username <committer ID> --p
<a href="how-to-release.html" class="btn btn-neutral float-right" title="How to prepare a release" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="contribute-code.html" class="btn btn-neutral" title="How to Contribute Code" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="contribute-code.html" class="btn btn-neutral float-left" title="How to Contribute Code" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -259,7 +317,7 @@ $ svn commit -m "commit messages" --username <committer ID> --p
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -276,36 +334,17 @@ $ svn commit -m "commit messages" --username <committer ID> --p
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -315,8 +354,8 @@ $ svn commit -m "commit messages" --username <committer ID> --p
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -325,8 +364,14 @@ $ svn commit -m "commit messages" --username <committer ID> --p
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/develop/how-contribute.html b/en/develop/how-contribute.html
index 4c393d9..6f1aaf3 100644
--- a/en/develop/how-contribute.html
+++ b/en/develop/how-contribute.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>How to Contribute to SINGA — incubator-singa 1.1.0 documentation</title>
+ <title>How to Contribute to SINGA — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="How to Contribute Code" href="contribute-code.html" />
- <link rel="prev" title="Development Schedule" href="schedule.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -102,12 +101,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
-<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="schedule.html">Development Schedule</a></li>
-<li class="toctree-l1 current"><a class="current reference internal" href="#">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
+<ul>
<li class="toctree-l1"><a class="reference internal" href="contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="how-to-release.html">How to prepare a release</a></li>
@@ -187,34 +184,25 @@
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span [...]
-
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–></p>
-<div class="section" id="how-to-contribute-to-singa">
-<span id="how-to-contribute-to-singa"></span><h1>How to Contribute to SINGA<a class="headerlink" href="#how-to-contribute-to-singa" title="Permalink to this headline">¶</a></h1>
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="how-to-contribute-to-singa">
+<h1>How to Contribute to SINGA<a class="headerlink" href="#how-to-contribute-to-singa" title="Permalink to this headline">¶</a></h1>
<p>As with any open source project, there are several ways you can help:</p>
<ul class="simple">
-<li>Join the <a class="reference external" href="http://singa.apache.org/en/community/mail-lists.html">mailing list</a> and answer other user’s questions.</li>
-<li><a class="reference external" href="http://singa.apache.org/en/docs/installation.html">Build SINGA</a> by yourself.</li>
-<li>Report bugs, feature requests and other issues in the <a class="reference external" href="http://singa.apache.org/en/community/issue-tracking.html">issue tracking</a> application.</li>
-<li>Check SINGA’s <a class="reference external" href="http://singa.apache.org/en/develop/schedule.html">development schedule</a> and <a class="reference external" href="http://singa.apache.org/en/develop/contribute-code.html">contribute code</a> by providing patches.</li>
-<li><a class="reference external" href="http://singa.apache.org/en/develop/contribute-docs.html">Help with the documentation</a> by updating webpages that are lacking or unclear.</li>
+<li><p>Join the <a class="reference external" href="http://singa.apache.org/en/community/mail-lists.html">mailing list</a> and answer other user’s questions.</p></li>
+<li><p><a class="reference external" href="http://singa.apache.org/en/develop/contribute-docs.html">Help with the documentation</a> by updating webpages that are lacking or unclear.</p></li>
+<li><p><a class="reference external" href="http://singa.apache.org/en/develop/contribute-code.html">Contribute code to SINGA</a> by fixing errors or adding new features. <a class="reference external" href="http://singa.apache.org/en/community/issue-tracking.html">All issues are tracked</a> on the JIRA system.</p></li>
</ul>
</div>
-<div class="section" id="how-to-become-a-singa-committer">
-<span id="how-to-become-a-singa-committer"></span><h1>How to become a SINGA committer<a class="headerlink" href="#how-to-become-a-singa-committer" title="Permalink to this headline">¶</a></h1>
-<p>SINGA committers are members that have write access to SINGA code and documentation repositories. They can contribute by themselves and accept other contributions.</p>
-<p>Becoming a SINGA committer requires understanding the Apache Way and being an active member in the SINGA project. An active member participates on mailing lists, answers questions, contributes code, tests and documentation, presents SINGA in talks and seminars, verifies releases and report issues or feature requests.</p>
-<p>New committers can be suggested by current committers or PPMC members, and voted upon by the PPMC according to Apache guidelines. You can start by talking to other committers and ask for their advice and guidance.</p>
-</div>
</div>
@@ -222,21 +210,12 @@
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="contribute-code.html" class="btn btn-neutral float-right" title="How to Contribute Code" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="schedule.html" class="btn btn-neutral" title="Development Schedule" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -253,36 +232,17 @@
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -292,8 +252,8 @@
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -302,8 +262,14 @@
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/develop/how-to-release.html b/en/develop/how-to-release.html
index 62b3655..b9019bf 100644
--- a/en/develop/how-to-release.html
+++ b/en/develop/how-to-release.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>How to prepare a release — incubator-singa 1.1.0 documentation</title>
+ <title>How to prepare a release — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,28 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Source Repository" href="../community/source-repository.html" />
<link rel="prev" title="How to Contribute to Documentation" href="contribute-docs.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +50,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -102,12 +103,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul class="current">
-<li class="toctree-l1"><a class="reference internal" href="schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">How to prepare a release</a><ul>
@@ -204,16 +203,15 @@
<div class="section" id="select-a-release-manager">
<h2>Select a release manager<a class="headerlink" href="#select-a-release-manager" title="Permalink to this headline">¶</a></h2>
<p>The release manager (RM) is the coordinator for the release process. It is the RM’s signature (.asc) that is uploaded together with the release. The RM generates KEY (RSA 4096-bit) and uploads it to a public key server. The RM needs to get his key endorsed (signed) by other Apache user, to be connected to the web of trust. He should first ask the mentor to help signing his key. <a class="reference external" href="http://www.apache.org/dev/release-signing.html">http://www.apache.org/de [...]
-<dl class="docutils">
-<dt>Check:</dt>
-<dd><ul class="first last simple">
-<li>The codebase does not include third-party code which is not compatible to APL</li>
-<li>The dependencies are compatible with APL. GNU-like licenses are NOT compatible</li>
-<li>All source files written by us MUST include the Apache license header: <a class="reference external" href="http://www.apache.org/legal/src-headers.html">http://www.apache.org/legal/src-headers.html</a>. There’s a script in there which helps propagating the header to all files.</li>
-<li>The build process is error-free.</li>
-<li>Unit tests are included (as much as possible)</li>
-<li>The Jupyter notebooks are working with the new release</li>
-<li>The online documentation on the Apache website is up to date.</li>
+<dl class="simple">
+<dt>Check:</dt><dd><ul class="simple">
+<li><p>The codebase does not include third-party code which is not compatible to APL</p></li>
+<li><p>The dependencies are compatible with APL. GNU-like licenses are NOT compatible</p></li>
+<li><p>All source files written by us MUST include the Apache license header: <a class="reference external" href="http://www.apache.org/legal/src-headers.html">http://www.apache.org/legal/src-headers.html</a>. There’s a script in there which helps propagating the header to all files.</p></li>
+<li><p>The build process is error-free.</p></li>
+<li><p>Unit tests are included (as much as possible)</p></li>
+<li><p>The Jupyter notebooks are working with the new release</p></li>
+<li><p>The online documentation on the Apache website is up to date.</p></li>
</ul>
</dd>
</dl>
@@ -226,9 +224,9 @@
<h2>Prepare NOTICE file<a class="headerlink" href="#prepare-notice-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
-<li>Use this template: <a class="reference external" href="http://apache.org/legal/src-headers.html#notice">http://apache.org/legal/src-headers.html#notice</a></li>
-<li>If we include any third party code in the release package which is not APL, must state it at the end of the NOTICE file.</li>
-<li>Example: <a class="reference external" href="http://apache.org/licenses/example-NOTICE.txt">http://apache.org/licenses/example-NOTICE.txt</a></li>
+<li><p>Use this template: <a class="reference external" href="http://apache.org/legal/src-headers.html#notice">http://apache.org/legal/src-headers.html#notice</a></p></li>
+<li><p>If we include any third party code in the release package which is not APL, must state it at the end of the NOTICE file.</p></li>
+<li><p>Example: <a class="reference external" href="http://apache.org/licenses/example-NOTICE.txt">http://apache.org/licenses/example-NOTICE.txt</a></p></li>
</ul>
</div></blockquote>
</div>
@@ -236,8 +234,8 @@
<h2>Prepare RELEASE_NOTES file<a class="headerlink" href="#prepare-release-notes-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
-<li>Introduction, Features, Bugs (link to JIRA), Changes (N/A for first erlease), Dependency list, Incompatibility issues.</li>
-<li>Follow this example: <a class="reference external" href="http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt">http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt</a></li>
+<li><p>Introduction, Features, Bugs (link to JIRA), Changes (N/A for first erlease), Dependency list, Incompatibility issues.</p></li>
+<li><p>Follow this example: <a class="reference external" href="http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt">http://commons.apache.org/proper/commons-digester/commons-digester-3.0/RELEASE-NOTES.txt</a></p></li>
</ul>
</div></blockquote>
</div>
@@ -245,9 +243,9 @@
<h2>Prepare README file<a class="headerlink" href="#prepare-readme-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
-<li>How to build, run test, run examples</li>
-<li>List of dependencies.</li>
-<li>Mail list, website, etc. Any information useful for user to start.</li>
+<li><p>How to build, run test, run examples</p></li>
+<li><p>List of dependencies.</p></li>
+<li><p>Mail list, website, etc. Any information useful for user to start.</p></li>
</ul>
</div></blockquote>
</div>
@@ -255,35 +253,33 @@
<h2>Prepare DISCLAIMER file<a class="headerlink" href="#prepare-disclaimer-file" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div><ul class="simple">
-<li>modify from <a class="reference external" href="http://incubator.apache.org/guides/branding.html#disclaimers">http://incubator.apache.org/guides/branding.html#disclaimers</a></li>
+<li><p>modify from <a class="reference external" href="http://incubator.apache.org/guides/branding.html#disclaimers">http://incubator.apache.org/guides/branding.html#disclaimers</a></p></li>
</ul>
</div></blockquote>
</div>
<div class="section" id="package-the-release">
<h2>Package the release<a class="headerlink" href="#package-the-release" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>The release should be packaged into <span class="classifier-delimiter">:</span> <span class="classifier">apache-singa-incubating-xx.xx.xx.tar.gz</span></dt>
-<dd><ul class="first last simple">
-<li>src/</li>
-<li>README</li>
-<li>LICENSE</li>
-<li>NOTICE</li>
-<li>RELEASE_NOTES</li>
-<li>DISCLAIMER</li>
-<li>…</li>
+<dl class="simple">
+<dt>The release should be packaged into<span class="classifier">apache-singa-incubating-xx.xx.xx.tar.gz</span></dt><dd><ul class="simple">
+<li><p>src/</p></li>
+<li><p>README</p></li>
+<li><p>LICENSE</p></li>
+<li><p>NOTICE</p></li>
+<li><p>RELEASE_NOTES</p></li>
+<li><p>DISCLAIMER</p></li>
+<li><p>…</p></li>
</ul>
</dd>
</dl>
</div>
<div class="section" id="upload-the-release">
<h2>Upload the release<a class="headerlink" href="#upload-the-release" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>The release is uploaded to the RM’s Apache page: people.apache.org/~ID/…</dt>
-<dd><ul class="first last simple">
-<li>apache-singa-incubating-xx.xx.xx.tar.gz</li>
-<li>KEY</li>
-<li>XX.acs</li>
-<li>XX.md5</li>
+<dl class="simple">
+<dt>The release is uploaded to the RM’s Apache page: people.apache.org/~ID/…</dt><dd><ul class="simple">
+<li><p>apache-singa-incubating-xx.xx.xx.tar.gz</p></li>
+<li><p>KEY</p></li>
+<li><p>XX.acs</p></li>
+<li><p>XX.md5</p></li>
</ul>
</dd>
</dl>
@@ -392,7 +388,7 @@ Subject: [ANNOUNCE] Apache SINGA (incubating) X.Y.Z released</p>
<a href="../community/source-repository.html" class="btn btn-neutral float-right" title="Source Repository" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="contribute-docs.html" class="btn btn-neutral" title="How to Contribute to Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="contribute-docs.html" class="btn btn-neutral float-left" title="How to Contribute to Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -401,7 +397,7 @@ Subject: [ANNOUNCE] Apache SINGA (incubating) X.Y.Z released</p>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -418,36 +414,17 @@ Subject: [ANNOUNCE] Apache SINGA (incubating) X.Y.Z released</p>
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -457,8 +434,8 @@ Subject: [ANNOUNCE] Apache SINGA (incubating) X.Y.Z released</p>
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -467,8 +444,14 @@ Subject: [ANNOUNCE] Apache SINGA (incubating) X.Y.Z released</p>
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/develop/schedule.html b/en/develop/schedule.html
index fd099cb..a851046 100644
--- a/en/develop/schedule.html
+++ b/en/develop/schedule.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Development Schedule — incubator-singa 1.1.0 documentation</title>
+ <title>Development Schedule — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="How to Contribute to SINGA" href="how-contribute.html" />
- <link rel="prev" title="Download SINGA" href="../downloads.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -102,12 +101,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="../docs/index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
-<ul class="current">
-<li class="toctree-l1 current"><a class="current reference internal" href="#">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
+<ul>
<li class="toctree-l1"><a class="reference internal" href="contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="how-to-release.html">How to prepare a release</a></li>
@@ -182,182 +179,182 @@
<div class="section" id="development-schedule">
<h1>Development Schedule<a class="headerlink" href="#development-schedule" title="Permalink to this headline">¶</a></h1>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
+<col style="width: 33%" />
+<col style="width: 33%" />
+<col style="width: 33%" />
</colgroup>
-<thead valign="bottom">
-<tr class="row-odd"><th class="head">Release</th>
-<th class="head">Module</th>
-<th class="head">Feature</th>
+<thead>
+<tr class="row-odd"><th class="head"><p>Release</p></th>
+<th class="head"><p>Module</p></th>
+<th class="head"><p>Feature</p></th>
</tr>
</thead>
-<tbody valign="top">
-<tr class="row-even"><td>v0.1 Sep 2015</td>
-<td>Neural Network</td>
-<td>Feed forward neural network, including CNN, MLP</td>
+<tbody>
+<tr class="row-even"><td><p>v0.1 Sep 2015</p></td>
+<td><p>Neural Network</p></td>
+<td><p>Feed forward neural network, including CNN, MLP</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td> </td>
-<td>RBM-like model, including RBM</td>
+<tr class="row-odd"><td></td>
+<td></td>
+<td><p>RBM-like model, including RBM</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Recurrent neural network, including standard RNN</td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Recurrent neural network, including standard RNN</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td>Architecture</td>
-<td>One worker group on single node (with data partition)</td>
+<tr class="row-odd"><td></td>
+<td><p>Architecture</p></td>
+<td><p>One worker group on single node (with data partition)</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Multi worker groups on single node using <a class="reference external" href="http://www.eecs.berkeley.edu/~brecht/papers/hogwildTR.pdf">Hogwild</a></td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Multi worker groups on single node using <a class="reference external" href="http://www.eecs.berkeley.edu/~brecht/papers/hogwildTR.pdf">Hogwild</a></p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td> </td>
-<td>Distributed Hogwild</td>
+<tr class="row-odd"><td></td>
+<td></td>
+<td><p>Distributed Hogwild</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Multi groups across nodes, like <a class="reference external" href="http://papers.nips.cc/paper/4687-large-scale-distributed-deep-networks">Downpour</a></td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Multi groups across nodes, like <a class="reference external" href="http://papers.nips.cc/paper/4687-large-scale-distributed-deep-networks">Downpour</a></p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td> </td>
-<td>All-Reduce training architecture like <a class="reference external" href="http://arxiv.org/abs/1501.02876">DeepImage</a></td>
+<tr class="row-odd"><td></td>
+<td></td>
+<td><p>All-Reduce training architecture like <a class="reference external" href="http://arxiv.org/abs/1501.02876">DeepImage</a></p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Load-balance among servers</td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Load-balance among servers</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td>Failure recovery</td>
-<td>Checkpoint and restore</td>
+<tr class="row-odd"><td></td>
+<td><p>Failure recovery</p></td>
+<td><p>Checkpoint and restore</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td>Tools</td>
-<td>Installation with GNU auto Tools</td>
+<tr class="row-even"><td></td>
+<td><p>Tools</p></td>
+<td><p>Installation with GNU auto Tools</p></td>
</tr>
-<tr class="row-odd"><td>v0.2 Jan 2016</td>
-<td>Neural Network</td>
-<td>Feed forward neural network, including AlexNet, cuDNN layers,Tools</td>
+<tr class="row-odd"><td><p>v0.2 Jan 2016</p></td>
+<td><p>Neural Network</p></td>
+<td><p>Feed forward neural network, including AlexNet, cuDNN layers,Tools</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Recurrent neural network, including GRULayer and BPTT</td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Recurrent neural network, including GRULayer and BPTT</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td> </td>
-<td>Model partition and hybrid partition</td>
+<tr class="row-odd"><td></td>
+<td></td>
+<td><p>Model partition and hybrid partition</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td>Tools</td>
-<td>Integration with Mesos for resource management</td>
+<tr class="row-even"><td></td>
+<td><p>Tools</p></td>
+<td><p>Integration with Mesos for resource management</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td> </td>
-<td>Prepare Docker images for deployment</td>
+<tr class="row-odd"><td></td>
+<td></td>
+<td><p>Prepare Docker images for deployment</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Visualization of neural net and debug information</td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Visualization of neural net and debug information</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td>Binding</td>
-<td>Python binding for major components</td>
+<tr class="row-odd"><td></td>
+<td><p>Binding</p></td>
+<td><p>Python binding for major components</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td>GPU</td>
-<td>Single node with multiple GPUs</td>
+<tr class="row-even"><td></td>
+<td><p>GPU</p></td>
+<td><p>Single node with multiple GPUs</p></td>
</tr>
-<tr class="row-odd"><td>v0.3 April 2016</td>
-<td>GPU</td>
-<td>Multiple nodes, each with multiple GPUs</td>
+<tr class="row-odd"><td><p>v0.3 April 2016</p></td>
+<td><p>GPU</p></td>
+<td><p>Multiple nodes, each with multiple GPUs</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Heterogeneous training using both GPU and CPU <a class="reference external" href="http://arxiv.org/abs/1504.04343">CcT</a></td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Heterogeneous training using both GPU and CPU <a class="reference external" href="http://arxiv.org/abs/1504.04343">CcT</a></p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td> </td>
-<td>Support cuDNN v4</td>
+<tr class="row-odd"><td></td>
+<td></td>
+<td><p>Support cuDNN v4</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td>Installation</td>
-<td>Remove dependency on ZeroMQ, CZMQ, Zookeeper for single node training</td>
+<tr class="row-even"><td></td>
+<td><p>Installation</p></td>
+<td><p>Remove dependency on ZeroMQ, CZMQ, Zookeeper for single node training</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td>Updater</td>
-<td>Add new SGD updaters including Adam, AdamMax and AdaDelta</td>
+<tr class="row-odd"><td></td>
+<td><p>Updater</p></td>
+<td><p>Add new SGD updaters including Adam, AdamMax and AdaDelta</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td>Binding</td>
-<td>Enhance Python binding for training</td>
+<tr class="row-even"><td></td>
+<td><p>Binding</p></td>
+<td><p>Enhance Python binding for training</p></td>
</tr>
-<tr class="row-odd"><td>v1.0 Sep 2016</td>
-<td>Programming abstraction</td>
-<td>Tensor with linear algebra, neural net and random operations</td>
+<tr class="row-odd"><td><p>v1.0 Sep 2016</p></td>
+<td><p>Programming abstraction</p></td>
+<td><p>Tensor with linear algebra, neural net and random operations</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Updater for distributed parameter updating</td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Updater for distributed parameter updating</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td>Hardware</td>
-<td>Use Cuda and Cudnn for Nvidia GPU</td>
+<tr class="row-odd"><td></td>
+<td><p>Hardware</p></td>
+<td><p>Use Cuda and Cudnn for Nvidia GPU</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Use OpenCL for AMD GPU or other devices</td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Use OpenCL for AMD GPU or other devices</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td>Cross-platform</td>
-<td>To extend from Linux to MacOS</td>
+<tr class="row-odd"><td></td>
+<td><p>Cross-platform</p></td>
+<td><p>To extend from Linux to MacOS</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Large image models, e.g., <a class="reference external" href="https://arxiv.org/pdf/1409.1556.pdf">VGG</a> and <a class="reference external" href="http://arxiv.org/abs/1512.03385">Residual Net</a></td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Large image models, e.g., <a class="reference external" href="https://arxiv.org/pdf/1409.1556.pdf">VGG</a> and <a class="reference external" href="http://arxiv.org/abs/1512.03385">Residual Net</a></p></td>
</tr>
-<tr class="row-odd"><td>v1.1 Jan 2017</td>
-<td>Model Zoo</td>
-<td>GoogleNet; Health-care models</td>
+<tr class="row-odd"><td><p>v1.1 Jan 2017</p></td>
+<td><p>Model Zoo</p></td>
+<td><p>GoogleNet; Health-care models</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td>Caffe converter</td>
-<td>Use SINGA to train models configured in caffe proto files</td>
+<tr class="row-even"><td></td>
+<td><p>Caffe converter</p></td>
+<td><p>Use SINGA to train models configured in caffe proto files</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td>Model components</td>
-<td>Add concat and slice layers; accept multiple inputs to the net</td>
+<tr class="row-odd"><td></td>
+<td><p>Model components</p></td>
+<td><p>Add concat and slice layers; accept multiple inputs to the net</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td>Compilation and installation</td>
-<td>Windows suppport</td>
+<tr class="row-even"><td></td>
+<td><p>Compilation and installation</p></td>
+<td><p>Windows suppport</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td> </td>
-<td>Simplify the installation by compiling protobuf and openblas together with SINGA</td>
+<tr class="row-odd"><td></td>
+<td></td>
+<td><p>Simplify the installation by compiling protobuf and openblas together with SINGA</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td> </td>
-<td>Build python wheel automatically using Jenkins</td>
+<tr class="row-even"><td></td>
+<td></td>
+<td><p>Build python wheel automatically using Jenkins</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td> </td>
-<td>Install SINGA from Debian packages</td>
+<tr class="row-odd"><td></td>
+<td></td>
+<td><p>Install SINGA from Debian packages</p></td>
</tr>
-<tr class="row-even"><td>v1.2 June 2018</td>
-<td>AutoGrad</td>
-<td>AutoGrad for BP</td>
+<tr class="row-even"><td><p>v1.2 June 2018</p></td>
+<td><p>AutoGrad</p></td>
+<td><p>AutoGrad for BP</p></td>
</tr>
-<tr class="row-odd"><td> </td>
-<td>Python 3</td>
-<td>Support Python 3 for PySinga</td>
+<tr class="row-odd"><td></td>
+<td><p>Python 3</p></td>
+<td><p>Support Python 3 for PySinga</p></td>
</tr>
-<tr class="row-even"><td> </td>
-<td>Models</td>
-<td>Add popular models, including VGG, ResNet, DenseNet, InceptionNet</td>
+<tr class="row-even"><td></td>
+<td><p>Models</p></td>
+<td><p>Add popular models, including VGG, ResNet, DenseNet, InceptionNet</p></td>
</tr>
</tbody>
</table>
@@ -369,21 +366,12 @@
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="how-contribute.html" class="btn btn-neutral float-right" title="How to Contribute to SINGA" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="../downloads.html" class="btn btn-neutral" title="Download SINGA" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -400,36 +388,17 @@
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -439,8 +408,8 @@
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -449,8 +418,14 @@
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/autograd.html b/en/docs/autograd.html
index ded94ec..e839a5b 100644
--- a/en/docs/autograd.html
+++ b/en/docs/autograd.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Autograd in Singa — incubator-singa 1.1.0 documentation</title>
+ <title>Autograd in Singa — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,28 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Data" href="data.html" />
- <link rel="prev" title="Optimizer" href="optimizer.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link rel="next" title="ONNX" href="onnx.html" />
+ <link rel="prev" title="Tensor" href="tensor.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +50,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -105,12 +106,6 @@
<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Autograd in Singa</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#relevant-modules">Relevant Modules</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#tensor">Tensor</a></li>
@@ -125,22 +120,15 @@
</li>
</ul>
</li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -222,54 +210,53 @@
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span [...]
-
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–></p>
-<div class="section" id="autograd-in-singa">
-<span id="autograd-in-singa"></span><h1>Autograd in Singa<a class="headerlink" href="#autograd-in-singa" title="Permalink to this headline">¶</a></h1>
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="autograd-in-singa">
+<h1>Autograd in Singa<a class="headerlink" href="#autograd-in-singa" title="Permalink to this headline">¶</a></h1>
<p>There are two typical ways to implement autograd, via symbolic differentiation like <a class="reference external" href="http://deeplearning.net/software/theano/index.html">Theano</a> or reverse differentiation like <a class="reference external" href="https://pytorch.org/docs/stable/notes/autograd.html">Pytorch</a>. Singa follows Pytorch way, which records the computation graph and apply the backward propagation automatically after forward propagation. The autograd algorithm is explain [...]
<div class="section" id="relevant-modules">
-<span id="relevant-modules"></span><h2>Relevant Modules<a class="headerlink" href="#relevant-modules" title="Permalink to this headline">¶</a></h2>
+<h2>Relevant Modules<a class="headerlink" href="#relevant-modules" title="Permalink to this headline">¶</a></h2>
<p>There are three classes involved in autograd, namely <code class="docutils literal notranslate"><span class="pre">singa.tensor.Tensor</span></code> , <code class="docutils literal notranslate"><span class="pre">singa.autograd.Operation</span></code>, and <code class="docutils literal notranslate"><span class="pre">singa.autograd.Layer</span></code>. In the rest of this article, we use tensor, operation and layer to refer to an instance of the respective class.</p>
<div class="section" id="tensor">
-<span id="tensor"></span><h3>Tensor<a class="headerlink" href="#tensor" title="Permalink to this headline">¶</a></h3>
+<h3>Tensor<a class="headerlink" href="#tensor" title="Permalink to this headline">¶</a></h3>
<p>Three attributes of Tensor are used by autograd,</p>
<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">.creator</span></code> is an <code class="docutils literal notranslate"><span class="pre">Operation</span></code> instance. It records the operation that generates the Tensor instance.</li>
-<li><code class="docutils literal notranslate"><span class="pre">.requires_grad</span></code> is a boolean variable. It is used to indicate that the autograd algorithm needs to compute the gradient of the tensor (i.e., the owner). For example, during backpropagation, the gradients of the tensors for the weight matrix of a linear layer and the feature maps of a convolution layer (not the bottom layer) should be computed.</li>
-<li><code class="docutils literal notranslate"><span class="pre">.stores_grad</span></code> is a boolean variable. It is used to indicate that the gradient of the owner tensor should be stored and output by the backward function. For example, the gradient of the feature maps is computed during backpropagation, but is not included in the output of the backward function.</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">.creator</span></code> is an <code class="docutils literal notranslate"><span class="pre">Operation</span></code> instance. It records the operation that generates the Tensor instance.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">.requires_grad</span></code> is a boolean variable. It is used to indicate that the autograd algorithm needs to compute the gradient of the tensor (i.e., the owner). For example, during backpropagation, the gradients of the tensors for the weight matrix of a linear layer and the feature maps of a convolution layer (not the bottom layer) should be computed.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">.stores_grad</span></code> is a boolean variable. It is used to indicate that the gradient of the owner tensor should be stored and output by the backward function. For example, the gradient of the feature maps is computed during backpropagation, but is not included in the output of the backward function.</p></li>
</ul>
<p>Programmers can change <code class="docutils literal notranslate"><span class="pre">requires_grad</span></code> and <code class="docutils literal notranslate"><span class="pre">stores_grad</span></code> of a Tensor instance. For example, if later is set to True, the corresponding gradient is included in the output of the backward function. It should be noted that if <code class="docutils literal notranslate"><span class="pre">stores_grad</span></code> is True, then <code class="docuti [...]
</div>
<div class="section" id="operation">
-<span id="operation"></span><h3>Operation<a class="headerlink" href="#operation" title="Permalink to this headline">¶</a></h3>
+<h3>Operation<a class="headerlink" href="#operation" title="Permalink to this headline">¶</a></h3>
<p>It takes one or more <code class="docutils literal notranslate"><span class="pre">Tensor</span></code> instances as input, and then outputs one or more <code class="docutils literal notranslate"><span class="pre">Tensor</span></code> instances. For example, ReLU can be implemented as a specific Operation subclass. When an <code class="docutils literal notranslate"><span class="pre">Operation</span></code> instance is called (after instantiation), the following two steps are executed:</p>
<ol class="simple">
-<li>record the source operations, i.e., the <code class="docutils literal notranslate"><span class="pre">creator</span></code>s of the input tensors. 2. do calculation by calling member function <code class="docutils literal notranslate"><span class="pre">.forward()</span></code></li>
+<li><p>record the source operations, i.e., the <code class="docutils literal notranslate"><span class="pre">creator</span></code>s of the input tensors. 2. do calculation by calling member function <code class="docutils literal notranslate"><span class="pre">.forward()</span></code></p></li>
</ol>
<p>There are two member functions for forwarding and backwarding, i.e., <code class="docutils literal notranslate"><span class="pre">.forward()</span></code> and <code class="docutils literal notranslate"><span class="pre">.backward()</span></code>. They take <code class="docutils literal notranslate"><span class="pre">Tensor.data</span></code> as inputs (the type is <code class="docutils literal notranslate"><span class="pre">CTensor</span></code>), and output <code class="docutils lite [...]
</div>
<div class="section" id="layer">
-<span id="layer"></span><h3>Layer<a class="headerlink" href="#layer" title="Permalink to this headline">¶</a></h3>
+<h3>Layer<a class="headerlink" href="#layer" title="Permalink to this headline">¶</a></h3>
<p>For those operations that require parameters, we package them into a new class, <code class="docutils literal notranslate"><span class="pre">Layer</span></code>. For example, convolution operation is wrapped into a convolution layer. <code class="docutils literal notranslate"><span class="pre">Layer</span></code> manages (stores) the parameters and calls the corresponding <code class="docutils literal notranslate"><span class="pre">Operation</span></code>s to implement the transformat [...]
</div>
</div>
<div class="section" id="examples">
-<span id="examples"></span><h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2>
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2>
<p>Multiple examples are provided in the <a class="reference external" href="https://github.com/apache/incubator-singa/tree/master/examples/autograd">example folder</a>. We explain two representative examples here.</p>
<div class="section" id="operation-only">
-<span id="operation-only"></span><h3>Operation only<a class="headerlink" href="#operation-only" title="Permalink to this headline">¶</a></h3>
+<h3>Operation only<a class="headerlink" href="#operation-only" title="Permalink to this headline">¶</a></h3>
<p>The following codes implement a MLP model using only Operation instances (no Layer instances).</p>
<div class="section" id="import-packages">
-<span id="import-packages"></span><h4>Import packages<a class="headerlink" href="#import-packages" title="Permalink to this headline">¶</a></h4>
+<h4>Import packages<a class="headerlink" href="#import-packages" title="Permalink to this headline">¶</a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa.tensor</span> <span class="k">import</span> <span class="n">Tensor</span>
<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">autograd</span>
<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">opt</span>
@@ -277,7 +264,7 @@
</div>
</div>
<div class="section" id="create-weight-matrix-and-bias-vector">
-<span id="create-weight-matrix-and-bias-vector"></span><h4>Create weight matrix and bias vector<a class="headerlink" href="#create-weight-matrix-and-bias-vector" title="Permalink to this headline">¶</a></h4>
+<h4>Create weight matrix and bias vector<a class="headerlink" href="#create-weight-matrix-and-bias-vector" title="Permalink to this headline">¶</a></h4>
<p>The parameter tensors are created with both <code class="docutils literal notranslate"><span class="pre">requires_grad</span></code> and <code class="docutils literal notranslate"><span class="pre">stores_grad</span></code> set to True.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">w0</span> <span class="o">=</span> <span class="n">Tensor</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="n">requires_grad</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n [...]
<span class="n">w0</span><span class="o">.</span><span class="n">gaussian</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span> <span class="mf">0.1</span><span class="p">)</span>
@@ -292,7 +279,7 @@
</div>
</div>
<div class="section" id="training">
-<span id="training"></span><h4>Training<a class="headerlink" href="#training" title="Permalink to this headline">¶</a></h4>
+<h4>Training<a class="headerlink" href="#training" title="Permalink to this headline">¶</a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">inputs</span> <span class="o">=</span> <span class="n">Tensor</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">data</span><span class="p">)</span> <span class="c1"># data matrix</span>
<span class="n">target</span> <span class="o">=</span> <span class="n">Tensor</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">label</span><span class="p">)</span> <span class="c1"># label vector</span>
<span class="n">autograd</span><span class="o">.</span><span class="n">training</span> <span class="o">=</span> <span class="kc">True</span> <span class="c1"># for training</span>
@@ -315,10 +302,10 @@
</div>
</div>
<div class="section" id="operation-layer">
-<span id="operation-layer"></span><h3>Operation + Layer<a class="headerlink" href="#operation-layer" title="Permalink to this headline">¶</a></h3>
+<h3>Operation + Layer<a class="headerlink" href="#operation-layer" title="Permalink to this headline">¶</a></h3>
<p>The following <a class="reference external" href="https://github.com/apache/incubator-singa/blob/master/examples/autograd/mnist_cnn.py">example</a> implements a CNN model using layers provided by the autograd module.</p>
<div class="section" id="create-the-layers">
-<span id="create-the-layers"></span><h4>Create the layers<a class="headerlink" href="#create-the-layers" title="Permalink to this headline">¶</a></h4>
+<h4>Create the layers<a class="headerlink" href="#create-the-layers" title="Permalink to this headline">¶</a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conv1</span> <span class="o">=</span> <span class="n">autograd</span><span class="o">.</span><span class="n">Conv2d</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="mi">1</span><span class="p"> [...]
<span class="n">bn1</span> <span class="o">=</span> <span class="n">autograd</span><span class="o">.</span><span class="n">BatchNorm2d</span><span class="p">(</span><span class="mi">32</span><span class="p">)</span>
<span class="n">pooling1</span> <span class="o">=</span> <span class="n">autograd</span><span class="o">.</span><span class="n">MaxPool2d</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">padding</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
@@ -331,7 +318,7 @@
</div>
</div>
<div class="section" id="define-the-forward-function">
-<span id="define-the-forward-function"></span><h4>Define the forward function<a class="headerlink" href="#define-the-forward-function" title="Permalink to this headline">¶</a></h4>
+<h4>Define the forward function<a class="headerlink" href="#define-the-forward-function" title="Permalink to this headline">¶</a></h4>
<p>The operations in the forward pass will be recorded automatically for backward propagation.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">forward</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">t</span><span class="p">):</span>
<span class="c1"># x is the input data (a batch of images)</span>
@@ -356,8 +343,8 @@
</pre></div>
</div>
</div>
-<div class="section" id="training">
-<span id="id1"></span><h4>Training<a class="headerlink" href="#training" title="Permalink to this headline">¶</a></h4>
+<div class="section" id="id1">
+<h4>Training<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h4>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">autograd</span><span class="o">.</span><span class="n">training</span> <span class="o">=</span> <span class="kc">True</span>
<span class="k">for</span> <span class="n">epoch</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">epochs</span><span class="p">):</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">batch_number</span><span class="p">):</span>
@@ -385,10 +372,10 @@
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
- <a href="data.html" class="btn btn-neutral float-right" title="Data" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+ <a href="onnx.html" class="btn btn-neutral float-right" title="ONNX" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="optimizer.html" class="btn btn-neutral" title="Optimizer" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="tensor.html" class="btn btn-neutral float-left" title="Tensor" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -397,7 +384,7 @@
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -414,36 +401,17 @@
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -453,8 +421,8 @@
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -463,8 +431,14 @@
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/benchmark.html b/en/docs/benchmark.html
index 9a0402b..052003e 100644
--- a/en/docs/benchmark.html
+++ b/en/docs/benchmark.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Benchmark for Distributed training — incubator-singa 1.1.0 documentation</title>
+ <title>Benchmark for Distributed training — incubator-singa 2.0.0 documentation</title>
@@ -18,28 +18,28 @@
- <script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
- <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
- <script type="text/javascript" src="../_static/language_data.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
- <script type="text/javascript" src="../_static/js/theme.js"></script>
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Device" href="device.html" />
- <link rel="prev" title="Software Stack" href="software_stack.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link rel="next" title="Download SINGA" href="../downloads.html" />
+ <link rel="prev" title="ONNX" href="onnx.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -68,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -83,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -104,32 +104,18 @@
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Benchmark for Distributed training</a></li>
<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Benchmark for Distributed training</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -238,10 +224,10 @@
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
- <a href="device.html" class="btn btn-neutral float-right" title="Device" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
+ <a href="../downloads.html" class="btn btn-neutral float-right" title="Download SINGA" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="software_stack.html" class="btn btn-neutral float-left" title="Software Stack" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="onnx.html" class="btn btn-neutral float-left" title="ONNX" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -287,8 +273,8 @@
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -297,8 +283,14 @@
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/cnn.html b/en/docs/cnn.html
index 0682b73..63f1b67 100644
--- a/en/docs/cnn.html
+++ b/en/docs/cnn.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Quickstart - Cifar10 example — incubator-singa 1.1.0 documentation</title>
+ <title>Quickstart - Cifar10 example — incubator-singa 2.0.0 documentation</title>
@@ -18,20 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -42,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -65,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -80,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -100,12 +101,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -185,22 +184,21 @@
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span [...]
-
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–></p>
-<div class="section" id="quickstart-cifar10-example">
-<span id="quickstart-cifar10-example"></span><h1>Quickstart - Cifar10 example<a class="headerlink" href="#quickstart-cifar10-example" title="Permalink to this headline">¶</a></h1>
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="quickstart-cifar10-example">
+<h1>Quickstart - Cifar10 example<a class="headerlink" href="#quickstart-cifar10-example" title="Permalink to this headline">¶</a></h1>
<p>Convolution neural network (CNN) is a type of feed-forward artificial neural network widely used for image classification. In this example, we will use a deep CNN model to do image classification for the <a class="reference external" href="http://www.cs.toronto.edu/~kriz/cifar.html">CIFAR10 dataset</a>.</p>
<div class="section" id="running-instructions-for-cpp-version">
-<span id="running-instructions-for-cpp-version"></span><h2>Running instructions for CPP version<a class="headerlink" href="#running-instructions-for-cpp-version" title="Permalink to this headline">¶</a></h2>
+<h2>Running instructions for CPP version<a class="headerlink" href="#running-instructions-for-cpp-version" title="Permalink to this headline">¶</a></h2>
<p>Please refer to <a class="reference external" href="installation.html">Installation</a> page for how to install SINGA. Currently, we CNN requires CUDNN, hence both CUDA and CUDNN should be installed and SINGA should be compiled with CUDA and CUDNN.</p>
<p>The Cifar10 dataset could be downloaded by running</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># switch to cifar10 directory
@@ -266,7 +264,7 @@ $ ./run.sh
<p>The training details are stored in <code class="docutils literal notranslate"><span class="pre">train_perf</span></code> file in the same directory and the validation details in <code class="docutils literal notranslate"><span class="pre">val_perf</span></code> file.</p>
</div>
<div class="section" id="running-instructions-for-python-version">
-<span id="running-instructions-for-python-version"></span><h2>Running instructions for Python version<a class="headerlink" href="#running-instructions-for-python-version" title="Permalink to this headline">¶</a></h2>
+<h2>Running instructions for Python version<a class="headerlink" href="#running-instructions-for-python-version" title="Permalink to this headline">¶</a></h2>
<p>To run CNN example in Python version, we need to compile SINGA with Python binding,</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ mkdir build && cd build
$ cmake -DUSE_PYTHON=ON ..
@@ -351,7 +349,7 @@ $ python download_data.py py
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -368,36 +366,17 @@ $ python download_data.py py
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -407,8 +386,8 @@ $ python download_data.py py
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -417,8 +396,14 @@ $ python download_data.py py
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/converter.html b/en/docs/converter.html
index 652b854..56c1cd6 100644
--- a/en/docs/converter.html
+++ b/en/docs/converter.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Caffe Converter — incubator-singa 1.1.0 documentation</title>
+ <title>Caffe Converter — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Utils" href="utils.html" />
- <link rel="prev" title="Snapshot" href="snapshot.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -99,35 +98,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -183,8 +160,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Caffe Converter</li>
@@ -202,8 +177,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="module-singa.converter">
-<span id="caffe-converter"></span><h1>Caffe Converter<a class="headerlink" href="#module-singa.converter" title="Permalink to this headline">¶</a></h1>
+ <div class="section" id="caffe-converter">
+<h1>Caffe Converter<a class="headerlink" href="#caffe-converter" title="Permalink to this headline">¶</a></h1>
</div>
@@ -212,21 +187,12 @@
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="utils.html" class="btn btn-neutral float-right" title="Utils" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="snapshot.html" class="btn btn-neutral" title="Snapshot" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -243,36 +209,17 @@
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -282,8 +229,8 @@
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -292,8 +239,14 @@
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/data.html b/en/docs/data.html
index c8e8368..e2b9e2b 100644
--- a/en/docs/data.html
+++ b/en/docs/data.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Data — incubator-singa 1.1.0 documentation</title>
+ <title>Data — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Image Tool" href="image_tool.html" />
- <link rel="prev" title="Autograd in Singa" href="autograd.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -99,35 +98,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -183,8 +160,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Data</li>
@@ -202,70 +177,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="module-singa.data">
-<span id="data"></span><h1>Data<a class="headerlink" href="#module-singa.data" title="Permalink to this headline">¶</a></h1>
-<p>This module includes classes for loading and prefetching data batches.</p>
-<p>Example usage:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">image_tool</span>
-<span class="kn">from</span> <span class="nn">PIL</span> <span class="k">import</span> <span class="n">Image</span>
-
-<span class="n">tool</span> <span class="o">=</span> <span class="n">image_tool</span><span class="o">.</span><span class="n">ImageTool</span><span class="p">()</span>
-
-<span class="k">def</span> <span class="nf">image_transform</span><span class="p">(</span><span class="n">img_path</span><span class="p">):</span>
- <span class="k">global</span> <span class="n">tool</span>
- <span class="k">return</span> <span class="n">tool</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="n">img_path</span><span class="p">)</span><span class="o">.</span><span class="n">resize_by_range</span><span class="p">(</span>
- <span class="p">(</span><span class="mi">112</span><span class="p">,</span> <span class="mi">128</span><span class="p">))</span><span class="o">.</span><span class="n">random_crop</span><span class="p">(</span>
- <span class="p">(</span><span class="mi">96</span><span class="p">,</span> <span class="mi">96</span><span class="p">))</span><span class="o">.</span><span class="n">flip</span><span class="p">()</span><span class="o">.</span><span class="n">get</span><span class="p">()</span>
-
-<span class="n">data</span> <span class="o">=</span> <span class="n">ImageBatchIter</span><span class="p">(</span><span class="s1">'train.txt'</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span>
- <span class="n">image_transform</span><span class="p">,</span> <span class="n">shuffle</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">delimiter</span><span class="o">=</span><span class="s1">','</span><span class="p">,</span>
- <span class="n">image_folder</span><span class="o">=</span><span class="s1">'images/'</span><span class="p">,</span>
- <span class="n">capacity</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>
-<span class="n">data</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
-<span class="c1"># imgs is a numpy array for a batch of images,</span>
-<span class="c1"># shape: batch_size, 3 (RGB), height, width</span>
-<span class="n">imgs</span><span class="p">,</span> <span class="n">labels</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">next</span><span class="p">()</span>
-
-<span class="c1"># convert numpy array back into images</span>
-<span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">imgs</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span>
- <span class="n">img</span> <span class="o">=</span> <span class="n">Image</span><span class="o">.</span><span class="n">fromarray</span><span class="p">(</span><span class="n">imgs</span><span class="p">[</span><span class="n">idx</span><span class="p">]</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">uint8</span><span class="p">)</span><span class="o">.</span><span class="n">transpose [...]
- <span class="s1">'RGB'</span><span class="p">)</span>
- <span class="n">img</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s1">'img</span><span class="si">%d</span><span class="s1">.png'</span> <span class="o">%</span> <span class="n">idx</span><span class="p">)</span>
-<span class="n">data</span><span class="o">.</span><span class="n">end</span><span class="p">()</span>
-</pre></div>
-</div>
-<dl class="class">
-<dt id="singa.data.ImageBatchIter">
-<em class="property">class </em><code class="descclassname">singa.data.</code><code class="descname">ImageBatchIter</code><span class="sig-paren">(</span><em>img_list_file</em>, <em>batch_size</em>, <em>image_transform</em>, <em>shuffle=True</em>, <em>delimiter=' '</em>, <em>image_folder=None</em>, <em>capacity=10</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.data.ImageBatchIter" title="Permalink to this definition">¶</a></dt>
-<dd><p>Utility for iterating over an image dataset to get mini-batches.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>img_list_file</strong> (<em>str</em>) – name of the file containing image meta data; each
-line consists of image_path_suffix delimiter meta_info,
-where meta info could be label index or label strings, etc.
-meta_info should not contain the delimiter. If the meta_info
-of each image is just the label index, then we will parse the
-label index into a numpy array with length=batchsize
-(for compatibility); otherwise, we return a list of meta_info;
-if meta info is available, we return a list of None.</li>
-<li><strong>batch_size</strong> (<em>int</em>) – num of samples in one mini-batch</li>
-<li><strong>image_transform</strong> – a function for image augmentation; it accepts the full
-image path and outputs a list of augmented images.</li>
-<li><strong>shuffle</strong> (<em>boolean</em>) – True for shuffling images in the list</li>
-<li><strong>delimiter</strong> (<em>char</em>) – delimiter between image_path_suffix and label, e.g.,
-space or comma</li>
-<li><strong>image_folder</strong> (<em>boolean</em>) – prefix of the image path</li>
-<li><strong>capacity</strong> (<em>int</em>) – the max num of mini-batches in the internal queue.</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
+ <div class="section" id="data">
+<h1>Data<a class="headerlink" href="#data" title="Permalink to this headline">¶</a></h1>
</div>
@@ -274,21 +187,12 @@ space or comma</li>
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="image_tool.html" class="btn btn-neutral float-right" title="Image Tool" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="autograd.html" class="btn btn-neutral" title="Autograd in Singa" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -305,36 +209,17 @@ space or comma</li>
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -344,8 +229,8 @@ space or comma</li>
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -354,8 +239,14 @@ space or comma</li>
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/dependencies.html b/en/docs/dependencies.html
index dcd9c40..7cccaa2 100644
--- a/en/docs/dependencies.html
+++ b/en/docs/dependencies.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Dependent library installation — incubator-singa 1.1.0 documentation</title>
+ <title>Dependent library installation — incubator-singa 2.0.0 documentation</title>
@@ -18,20 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -42,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -65,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -80,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -100,12 +101,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -185,21 +184,20 @@
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span [...]
-
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–></p>
-<div class="section" id="dependent-library-installation">
-<span id="dependent-library-installation"></span><h1>Dependent library installation<a class="headerlink" href="#dependent-library-installation" title="Permalink to this headline">¶</a></h1>
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="dependent-library-installation">
+<h1>Dependent library installation<a class="headerlink" href="#dependent-library-installation" title="Permalink to this headline">¶</a></h1>
<div class="section" id="windows">
-<span id="windows"></span><h2>Windows<a class="headerlink" href="#windows" title="Permalink to this headline">¶</a></h2>
+<h2>Windows<a class="headerlink" href="#windows" title="Permalink to this headline">¶</a></h2>
<p>This section is used to compile and install the dependent libraries under
windows system from source codes. The following instructions ONLY work for Visual Studio 2015 as
previous VS does not support <a class="reference external" href="https://msdn.microsoft.com/en-us/library/hh567368.aspx">C++11 features</a> well (including generic lambdas, auto, non-static
@@ -209,7 +207,7 @@ VS projects for the dependent libraries as 32-bit/64-bit. This can be done by
may get system-specific warnings/errors. Please fix them according to the
prompts by VS.</p>
<div class="section" id="google-logging">
-<span id="google-logging"></span><h3>Google Logging<a class="headerlink" href="#google-logging" title="Permalink to this headline">¶</a></h3>
+<h3>Google Logging<a class="headerlink" href="#google-logging" title="Permalink to this headline">¶</a></h3>
<p>The glog library is an optional library for singa project. But it is currently necessary for Window compilation.
Since the latest release version of glog will encounter error C2084 on sprintf function
under VS2015, we test the compilation and installation using the master branch from <a class="reference external" href="https://github.com/google/glog">github</a>.</p>
@@ -224,7 +222,7 @@ system folder).</p>
<p>Step 4: Done.</p>
</div>
<div class="section" id="google-protobuf">
-<span id="google-protobuf"></span><h3>Google protobuf<a class="headerlink" href="#google-protobuf" title="Permalink to this headline">¶</a></h3>
+<h3>Google protobuf<a class="headerlink" href="#google-protobuf" title="Permalink to this headline">¶</a></h3>
<p>Tested on version 2.6.1:</p>
<p>Step 1: Download and decompress the source code.</p>
<p>Step 2: Open “protobuf.sln” file under “vsprojects” folder. You will get a conversion
@@ -241,7 +239,7 @@ installation include folder (or system folder).</p>
<p>Step 5: Done.</p>
</div>
<div class="section" id="cblas">
-<span id="cblas"></span><h3>CBLAS<a class="headerlink" href="#cblas" title="Permalink to this headline">¶</a></h3>
+<h3>CBLAS<a class="headerlink" href="#cblas" title="Permalink to this headline">¶</a></h3>
<p>There are ready-to-use binary packages online
(<a class="reference external" href="https://sourceforge.net/projects/openblas/files/">link</a>). However, we still install
OpenBLAS with version 0.2.18 as test:</p>
@@ -262,12 +260,12 @@ folders).</p>
</div>
</div>
<div class="section" id="faq">
-<span id="faq"></span><h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h2>
+<h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h2>
<ol>
-<li><p class="first">Error C2375 ‘snprintf’: redefinition; different linkage</p>
+<li><p>Error C2375 ‘snprintf’: redefinition; different linkage</p>
<p>Add “HAVE_SNPRINTF” to “C/C++ - Preprocessor - Preprocessor definitions”</p>
</li>
-<li><p class="first">Error due to hash map</p>
+<li><p>Error due to hash map</p>
<p>Add “_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS” to Preprocessor Definitions.</p>
</li>
</ol>
@@ -285,7 +283,7 @@ folders).</p>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -302,36 +300,17 @@ folders).</p>
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -341,8 +320,8 @@ folders).</p>
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -351,8 +330,14 @@ folders).</p>
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/device.html b/en/docs/device.html
index 06af6d5..a925bf2 100644
--- a/en/docs/device.html
+++ b/en/docs/device.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Device — incubator-singa 1.1.0 documentation</title>
+ <title>Device — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,28 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Tensor" href="tensor.html" />
<link rel="prev" title="Software Stack" href="software_stack.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +50,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -105,34 +106,21 @@
<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Device</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#specific-devices">Specific devices</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#module-singa.device">Python API</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#python-api">Python API</a></li>
<li class="toctree-l3"><a class="reference internal" href="#cpp-api">CPP API</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -217,54 +205,13 @@ of memory and execution are implemented in the Device class.</p>
<h2>Specific devices<a class="headerlink" href="#specific-devices" title="Permalink to this headline">¶</a></h2>
<p>Currently, SINGA has three Device implmentations,</p>
<ol class="arabic simple">
-<li>CudaGPU for an Nvidia GPU card which runs Cuda code</li>
-<li>CppCPU for a CPU which runs Cpp code</li>
-<li>OpenclGPU for a GPU card which runs OpenCL code</li>
+<li><p>CudaGPU for an Nvidia GPU card which runs Cuda code</p></li>
+<li><p>CppCPU for a CPU which runs Cpp code</p></li>
+<li><p>OpenclGPU for a GPU card which runs OpenCL code</p></li>
</ol>
</div>
-<div class="section" id="module-singa.device">
-<span id="python-api"></span><h2>Python API<a class="headerlink" href="#module-singa.device" title="Permalink to this headline">¶</a></h2>
-<p>This script includes Device class and its subclasses for python users
-to call singa::Device and its methods.</p>
-<p>TODO(wangwei) implement py CudaGPU class.</p>
-<dl class="function">
-<dt id="singa.device.create_cuda_gpus">
-<code class="descclassname">singa.device.</code><code class="descname">create_cuda_gpus</code><span class="sig-paren">(</span><em>num</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.device.create_cuda_gpus" title="Permalink to this definition">¶</a></dt>
-<dd><p>Create a list of CudaGPU devices.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>num</strong> (<em>int</em>) – number of device to create.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">a list of swig converted CudaGPU devices.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.device.create_cuda_gpus_on">
-<code class="descclassname">singa.device.</code><code class="descname">create_cuda_gpus_on</code><span class="sig-paren">(</span><em>device_ids</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.device.create_cuda_gpus_on" title="Permalink to this definition">¶</a></dt>
-<dd><p>Create a list of CudaGPU devices.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>device_ids</strong> (<em>list</em>) – a list of GPU card IDs.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">a list of swig converted CudaGPU devices.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.device.get_default_device">
-<code class="descclassname">singa.device.</code><code class="descname">get_default_device</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.device.get_default_device" title="Permalink to this definition">¶</a></dt>
-<dd><p>Get the default host device which is a CppCPU device</p>
-</dd></dl>
-
+<div class="section" id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Permalink to this headline">¶</a></h2>
<p>The following code provides examples of creating devices:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">device</span>
<span class="n">cuda</span> <span class="o">=</span> <span class="n">device</span><span class="o">.</span><span class="n">create_cuda_gpu_on</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="c1"># use GPU card of ID 0</span>
@@ -290,7 +237,7 @@ to call singa::Device and its methods.</p>
<a href="tensor.html" class="btn btn-neutral float-right" title="Tensor" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="software_stack.html" class="btn btn-neutral" title="Software Stack" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="software_stack.html" class="btn btn-neutral float-left" title="Software Stack" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -299,7 +246,7 @@ to call singa::Device and its methods.</p>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -316,36 +263,17 @@ to call singa::Device and its methods.</p>
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -355,8 +283,8 @@ to call singa::Device and its methods.</p>
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -365,8 +293,14 @@ to call singa::Device and its methods.</p>
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/docker.html b/en/docs/docker.html
index bec2815..7eec183 100644
--- a/en/docs/docker.html
+++ b/en/docs/docker.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Docker Images — incubator-singa 1.1.0 documentation</title>
+ <title>Docker Images — incubator-singa 2.0.0 documentation</title>
@@ -18,20 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -42,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -65,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -80,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -100,12 +101,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -185,28 +184,27 @@
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span [...]
-
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–></p>
-<div class="section" id="docker-images">
-<span id="docker-images"></span><h1>Docker Images<a class="headerlink" href="#docker-images" title="Permalink to this headline">¶</a></h1>
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="docker-images">
+<h1>Docker Images<a class="headerlink" href="#docker-images" title="Permalink to this headline">¶</a></h1>
<div class="section" id="available-tags">
-<span id="available-tags"></span><h2>Available tags<a class="headerlink" href="#available-tags" title="Permalink to this headline">¶</a></h2>
+<h2>Available tags<a class="headerlink" href="#available-tags" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">devel</span></code>, with SINGA and the development packages installed on Ubuntu16.04 (no GPU)</li>
-<li><code class="docutils literal notranslate"><span class="pre">devel-cuda</span></code>, with SINGA, CUDA8.0, CUDNN5, and other development packages installed on Ubuntu16.04</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">devel</span></code>, with SINGA and the development packages installed on Ubuntu16.04 (no GPU)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">devel-cuda</span></code>, with SINGA, CUDA8.0, CUDNN5, and other development packages installed on Ubuntu16.04</p></li>
</ul>
</div>
<div class="section" id="use-the-existing-docker-images">
-<span id="use-the-existing-docker-images"></span><h2>Use the existing Docker images<a class="headerlink" href="#use-the-existing-docker-images" title="Permalink to this headline">¶</a></h2>
+<h2>Use the existing Docker images<a class="headerlink" href="#use-the-existing-docker-images" title="Permalink to this headline">¶</a></h2>
<p>Users can pull the Docker images from Dockerhub via</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">pull</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="n">devel</span>
<span class="c1"># or</span>
@@ -222,7 +220,7 @@
<p>The latest SINGA code is under the <code class="docutils literal notranslate"><span class="pre">incubator-singa</span></code> folder.</p>
</div>
<div class="section" id="create-new-docker-images-from-dockerfile">
-<span id="create-new-docker-images-from-dockerfile"></span><h2>Create new Docker images from Dockerfile<a class="headerlink" href="#create-new-docker-images-from-dockerfile" title="Permalink to this headline">¶</a></h2>
+<h2>Create new Docker images from Dockerfile<a class="headerlink" href="#create-new-docker-images-from-dockerfile" title="Permalink to this headline">¶</a></h2>
<p>New Docker images could be created by executing the following command within the
Dockerfile folder, e.g., tool/docker/devel/</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">build</span> <span class="o">-</span><span class="n">t</span> <span class="n">singa</span><span class="p">:</span><span class="o"><</span><span class="n">TAG</span><span class="o">></span> <span class="o">-</span><span class="n">f</span> <span class="n">Dockerfile</span>
@@ -233,9 +231,9 @@ Dockerfile folder, e.g., tool/docker/devel/</p>
</pre></div>
</div>
<ul class="simple">
-<li>devel: development images with all dependent libs’ header files installed and SINGA’s source code; runtime: the minimal images which can run SINGA programs.</li>
-<li>CUDA: cuda10.0, cuda9.0</li>
-<li>CUDNN: cudnn7</li>
+<li><p>devel: development images with all dependent libs’ header files installed and SINGA’s source code; runtime: the minimal images which can run SINGA programs.</p></li>
+<li><p>CUDA: cuda10.0, cuda9.0</p></li>
+<li><p>CUDNN: cudnn7</p></li>
</ul>
<p>Here are some example tags:</p>
<p><code class="docutils literal notranslate"><span class="pre">devel-cuda9-cudnn7</span></code>, <code class="docutils literal notranslate"><span class="pre">devel-cuda9-cudnn7</span></code>, <code class="docutils literal notranslate"><span class="pre">devel-cuda10-cudnn7</span></code>, <code class="docutils literal notranslate"><span class="pre">devel-cpu</span></code>, <code class="docutils literal notranslate"><span class="pre">runtime-gpu</span></code> and <code class="docutils lite [...]
@@ -261,7 +259,7 @@ The folder structure is like</p>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -278,36 +276,17 @@ The folder structure is like</p>
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -317,8 +296,8 @@ The folder structure is like</p>
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -327,8 +306,14 @@ The folder structure is like</p>
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/image_tool.html b/en/docs/image_tool.html
index 1493691..0a3edf8 100644
--- a/en/docs/image_tool.html
+++ b/en/docs/image_tool.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Image Tool — incubator-singa 1.1.0 documentation</title>
+ <title>Image Tool — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Snapshot" href="snapshot.html" />
- <link rel="prev" title="Data" href="data.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -99,35 +98,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -183,8 +160,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Image Tool</li>
@@ -202,338 +177,8 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <div class="section" id="module-singa.image_tool">
-<span id="image-tool"></span><h1>Image Tool<a class="headerlink" href="#module-singa.image_tool" title="Permalink to this headline">¶</a></h1>
-<p>An utility model for image augmentation.</p>
-<p>Example usage:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">image_tool</span>
-
-<span class="n">tool</span> <span class="o">=</span> <span class="n">image_tool</span><span class="o">.</span><span class="n">ImageTool</span><span class="p">()</span>
-<span class="n">imgs</span> <span class="o">=</span> <span class="n">tool</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="s1">'input.png'</span><span class="p">)</span><span class="o">.</span> <span class="n">resize_by_list</span><span class="p">([</span><span class="mi">112</span><span class="p">])</span><span class="o">.</span><span class="n">crop5</span><span class="p">((</span><span class="mi">96</span><span class="p">,</sp [...]
-<span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">img</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">imgs</span><span class="p">):</span>
- <span class="n">img</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="s1">'</span><span class="si">%d</span><span class="s1">.png'</span> <span class="o">%</span> <span class="n">idx</span><span class="p">)</span>
-</pre></div>
-</div>
-<dl class="class">
-<dt id="singa.image_tool.ImageTool">
-<em class="property">class </em><code class="descclassname">singa.image_tool.</code><code class="descname">ImageTool</code><a class="headerlink" href="#singa.image_tool.ImageTool" title="Permalink to this definition">¶</a></dt>
-<dd><p>A tool for image augmentation.</p>
-<p>For operations with inplace=True, the returned value is the ImageTool
-instance self, which is for chaining multiple operations; Otherwise, the
-preprocessed images would be returned.</p>
-<p>For operations that has countable pre-processing cases, argument num_case
-could be set to decide the number of pre-processing cases to apply.
-Typically, it is set to 1 for training phases and to the max for test
-phases.</p>
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.color_cast">
-<code class="descname">color_cast</code><span class="sig-paren">(</span><em>offset=20</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.color_cast" title="Permalink to this definition">¶</a></dt>
-<dd><p>Add a random value from [-offset, offset] to each channel</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>offset</strong> – cast offset, >0 and <255</li>
-<li><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.crop3">
-<code class="descname">crop3</code><span class="sig-paren">(</span><em>patch</em>, <em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.crop3" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crop a max square patch of the input image at given position and
-scale it into given size.</p>
-<p>According to img size, crop position could be either
-(left, center, right) or (top, middle, bottom).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>patch</strong> (<em>tuple</em>) – the width and height the output image</li>
-<li><strong>num_case</strong> – num of cases, must be in [1,3]</li>
-<li><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.crop5">
-<code class="descname">crop5</code><span class="sig-paren">(</span><em>patch</em>, <em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.crop5" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crop at positions from [left_top, left_bottom, right_top,
-right_bottom, and center].</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>patch</strong> (<em>tuple</em>) – width and height of the result image.</li>
-<li><strong>num_case</strong> – num of cases, must be in [1,5]</li>
-<li><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.crop8">
-<code class="descname">crop8</code><span class="sig-paren">(</span><em>patch</em>, <em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.crop8" title="Permalink to this definition">¶</a></dt>
-<dd><p>This is a union of patch_5 and patch_and_scale.</p>
-<p>You can follow this example to union any num of cases of imgtool methods</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.enhance">
-<code class="descname">enhance</code><span class="sig-paren">(</span><em>scale=0.2</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.enhance" title="Permalink to this definition">¶</a></dt>
-<dd><p>Apply random enhancement for Color,Contrast,Brightness,Sharpness.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>scale</strong> (<em>float</em>) – enhancement degree is from [1-scale, 1+scale]</li>
-<li><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.flip">
-<code class="descname">flip</code><span class="sig-paren">(</span><em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.flip" title="Permalink to this definition">¶</a></dt>
-<dd><p>Randomly flip a img left to right.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>num_case</strong> – num of cases, must be in {1,2}; if 2, then add the orignal
-and flipped img</li>
-<li><strong>inplace</strong> – inplace imgs or not (return new_imgs)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.flip_down">
-<code class="descname">flip_down</code><span class="sig-paren">(</span><em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.flip_down" title="Permalink to this definition">¶</a></dt>
-<dd><p>Randomly flip a img top to bottom.
-:param num_case: num of cases, must be in {1,2}; if 2, then add the orignal</p>
-<blockquote>
-<div>and flip_down img</div></blockquote>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>inplace</strong> – inplace imgs or not (return new_imgs)</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.num_augmentation">
-<code class="descname">num_augmentation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.num_augmentation" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return the total number of augmentations to each image</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.random_crop">
-<code class="descname">random_crop</code><span class="sig-paren">(</span><em>patch</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.random_crop" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crop the image at random offset to get a patch of the given size.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>patch</strong> (<em>tuple</em>) – width and height of the patch</li>
-<li><strong>inplace</strong> (<em>Boolean</em>) – replace the internal images list with the patches
-if True; otherwise, return the patches.</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.random_crop_resize">
-<code class="descname">random_crop_resize</code><span class="sig-paren">(</span><em>patch</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.random_crop_resize" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="docutils">
-<dt>Crop of the image at a random size between 0.08 to 1 of input image</dt>
-<dd>and random aspect ratio between 3/4 to 4/3.
-This crop is then resized to the given patch size.</dd>
-</dl>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>patch</strong> (<em>tuple</em>) – width and height of the patch</li>
-<li><strong>inplace</strong> (<em>Boolean</em>) – replace the internal images list with the patches
-if True; otherwise, return the patches.</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.resize_by_list">
-<code class="descname">resize_by_list</code><span class="sig-paren">(</span><em>size_list</em>, <em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.resize_by_list" title="Permalink to this definition">¶</a></dt>
-<dd><table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>num_case</strong> – num of resize cases, must be <= the length of size_list</li>
-<li><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.resize_by_range">
-<code class="descname">resize_by_range</code><span class="sig-paren">(</span><em>rng</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.resize_by_range" title="Permalink to this definition">¶</a></dt>
-<dd><table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>rng</strong> – a tuple (begin,end), include begin, exclude end</li>
-<li><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.rotate_by_list">
-<code class="descname">rotate_by_list</code><span class="sig-paren">(</span><em>angle_list</em>, <em>num_case=1</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.rotate_by_list" title="Permalink to this definition">¶</a></dt>
-<dd><table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>num_case</strong> – num of rotate cases, must be <= the length of angle_list</li>
-<li><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.image_tool.ImageTool.rotate_by_range">
-<code class="descname">rotate_by_range</code><span class="sig-paren">(</span><em>rng</em>, <em>inplace=True</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.ImageTool.rotate_by_range" title="Permalink to this definition">¶</a></dt>
-<dd><table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>rng</strong> – a tuple (begin,end) in degree, include begin, exclude end</li>
-<li><strong>inplace</strong> – inplace imgs or not ( return new_imgs)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.color_cast">
-<code class="descclassname">singa.image_tool.</code><code class="descname">color_cast</code><span class="sig-paren">(</span><em>img</em>, <em>offset</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.color_cast" title="Permalink to this definition">¶</a></dt>
-<dd><p>Add a random value from [-offset, offset] to each channel</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.crop">
-<code class="descclassname">singa.image_tool.</code><code class="descname">crop</code><span class="sig-paren">(</span><em>img</em>, <em>patch</em>, <em>position</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.crop" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crop the input image into given size at given position.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>patch</strong> (<em>tuple</em>) – width and height of the patch</li>
-<li><strong>position</strong> (<em>list</em><em>(</em><em>str</em><em>)</em>) – left_top, left_bottom, right_top, right_bottom</li>
-<li><strong>center.</strong> (<em>and</em>) – </li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.crop_and_resize">
-<code class="descclassname">singa.image_tool.</code><code class="descname">crop_and_resize</code><span class="sig-paren">(</span><em>img</em>, <em>patch</em>, <em>position</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.crop_and_resize" title="Permalink to this definition">¶</a></dt>
-<dd><p>Crop a max square patch of the input image at given position and resize
-it into given size.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>patch</strong> (<em>tuple</em>) – width, height</li>
-<li><strong>position</strong> (<em>list</em><em>(</em><em>str</em><em>)</em>) – left, center, right, top, middle, bottom.</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.enhance">
-<code class="descclassname">singa.image_tool.</code><code class="descname">enhance</code><span class="sig-paren">(</span><em>img</em>, <em>scale</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.enhance" title="Permalink to this definition">¶</a></dt>
-<dd><p>Apply random enhancement for Color,Contrast,Brightness,Sharpness.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>scale</strong> (<em>float</em>) – enhancement degree is from [1-scale, 1+scale]</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.load_img">
-<code class="descclassname">singa.image_tool.</code><code class="descname">load_img</code><span class="sig-paren">(</span><em>path</em>, <em>grayscale=False</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.load_img" title="Permalink to this definition">¶</a></dt>
-<dd><p>Read the image from a give path</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.image_tool.resize">
-<code class="descclassname">singa.image_tool.</code><code class="descname">resize</code><span class="sig-paren">(</span><em>img</em>, <em>small_size</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.image_tool.resize" title="Permalink to this definition">¶</a></dt>
-<dd><p>Resize the image to make the smaller side be at the given size</p>
-</dd></dl>
-
+ <div class="section" id="image-tool">
+<h1>Image Tool<a class="headerlink" href="#image-tool" title="Permalink to this headline">¶</a></h1>
</div>
@@ -542,21 +187,12 @@ it into given size.</p>
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="snapshot.html" class="btn btn-neutral float-right" title="Snapshot" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="data.html" class="btn btn-neutral" title="Data" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -573,36 +209,17 @@ it into given size.</p>
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -612,8 +229,8 @@ it into given size.</p>
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -622,8 +239,14 @@ it into given size.</p>
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/index.html b/en/docs/index.html
index 8a99470..bc3ead5 100644
--- a/en/docs/index.html
+++ b/en/docs/index.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Documentation — incubator-singa 1.1.0 documentation</title>
+ <title>Documentation — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,28 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Installation" href="installation.html" />
<link rel="prev" title="Welcome to Apache SINGA" href="../index.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +50,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -105,29 +106,16 @@
<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -206,21 +194,8 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="installation.html#from-conda">From Conda</a></li>
-<li class="toctree-l2"><a class="reference internal" href="installation.html#from-source">From source</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="installation.html#use-conda-to-build-singa">Use Conda to build SINGA</a></li>
-<li class="toctree-l3"><a class="reference internal" href="installation.html#use-native-tools-to-build-singa-on-ubuntu">Use native tools to build SINGA on Ubuntu</a></li>
-<li class="toctree-l3"><a class="reference internal" href="installation.html#compile-singa-on-windows">Compile SINGA on Windows</a></li>
-<li class="toctree-l3"><a class="reference internal" href="installation.html#more-details-about-the-compilation-options">More details about the compilation options</a></li>
-<li class="toctree-l3"><a class="reference internal" href="installation.html#use-modules">USE_MODULES</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="installation.html#use-python">USE_PYTHON</a></li>
-<li class="toctree-l4"><a class="reference internal" href="installation.html#use-cuda">USE_CUDA</a></li>
-<li class="toctree-l4"><a class="reference internal" href="installation.html#use-opencl">USE_OPENCL</a></li>
-<li class="toctree-l4"><a class="reference internal" href="installation.html#use-mkldnn">USE_MKLDNN</a></li>
-<li class="toctree-l4"><a class="reference internal" href="installation.html#package">PACKAGE</a></li>
-</ul>
-</li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#using-docker">Using Docker</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#from-source">From source</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation.html#faq">FAQ</a></li>
</ul>
</li>
@@ -232,30 +207,16 @@
</li>
<li class="toctree-l1"><a class="reference internal" href="device.html">Device</a><ul>
<li class="toctree-l2"><a class="reference internal" href="device.html#specific-devices">Specific devices</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html#module-singa.device">Python API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="device.html#python-api">Python API</a></li>
<li class="toctree-l2"><a class="reference internal" href="device.html#cpp-api">CPP API</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="tensor.html">Tensor</a><ul>
<li class="toctree-l2"><a class="reference internal" href="tensor.html#tensor-implementation">Tensor implementation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html#module-singa.tensor">Python API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="tensor.html#python-api">Python API</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html#cpp-api">CPP API</a></li>
</ul>
</li>
-<li class="toctree-l1"><a class="reference internal" href="layer.html">Layer</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="layer.html#module-singa.layer">Python API</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html#cpp-api">CPP API</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l1"><a class="reference internal" href="initializer.html">Initializer</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html#module-singa.initializer">Python API</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html#cpp-api">CPP API</a></li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l1"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l1"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l1"><a class="reference internal" href="autograd.html">Autograd in Singa</a><ul>
<li class="toctree-l2"><a class="reference internal" href="autograd.html#relevant-modules">Relevant Modules</a><ul>
<li class="toctree-l3"><a class="reference internal" href="autograd.html#tensor">Tensor</a></li>
@@ -273,51 +234,15 @@
<li class="toctree-l3"><a class="reference internal" href="autograd.html#operation-layer">Operation + Layer</a><ul>
<li class="toctree-l4"><a class="reference internal" href="autograd.html#create-the-layers">Create the layers</a></li>
<li class="toctree-l4"><a class="reference internal" href="autograd.html#define-the-forward-function">Define the forward function</a></li>
-<li class="toctree-l4"><a class="reference internal" href="autograd.html#training">Training</a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l1"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l1"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l1"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l1"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l1"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/cifar10/README.html">Train CNN over Cifar-10</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="model_zoo/cifar10/README.html#instructions">Instructions</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="model_zoo/cifar10/README.html#singa-installation">SINGA installation</a></li>
-<li class="toctree-l4"><a class="reference internal" href="model_zoo/cifar10/README.html#data-preparation">Data preparation</a></li>
-<li class="toctree-l4"><a class="reference internal" href="model_zoo/cifar10/README.html#training">Training</a></li>
-<li class="toctree-l4"><a class="reference internal" href="model_zoo/cifar10/README.html#prediction">Prediction</a></li>
+<li class="toctree-l4"><a class="reference internal" href="autograd.html#id1">Training</a></li>
</ul>
</li>
</ul>
</li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/char-rnn/README.html">Train Char-RNN over plain text</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="model_zoo/char-rnn/README.html#instructions">Instructions</a></li>
</ul>
</li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/imagenet/alexnet/README.html">Train AlexNet over ImageNet</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/alexnet/README.html#instructions">Instructions</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="model_zoo/imagenet/alexnet/README.html#compile-singa">Compile SINGA</a></li>
-<li class="toctree-l4"><a class="reference internal" href="model_zoo/imagenet/alexnet/README.html#data-download">Data download</a></li>
-<li class="toctree-l4"><a class="reference internal" href="model_zoo/imagenet/alexnet/README.html#data-preprocessing">Data preprocessing</a></li>
-<li class="toctree-l4"><a class="reference internal" href="model_zoo/imagenet/alexnet/README.html#training">Training</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/imagenet/googlenet/README.html">Image Classification using GoogleNet</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/googlenet/README.html#instructions">Instructions</a></li>
-<li class="toctree-l3"><a class="reference internal" href="model_zoo/imagenet/googlenet/README.html#details">Details</a></li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="toctree-l1"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l1"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
</ul>
</div>
</div>
@@ -333,7 +258,7 @@
<a href="installation.html" class="btn btn-neutral float-right" title="Installation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="../index.html" class="btn btn-neutral" title="Welcome to Apache SINGA" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="../index.html" class="btn btn-neutral float-left" title="Welcome to Apache SINGA" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -342,7 +267,7 @@
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -359,36 +284,17 @@
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -398,8 +304,8 @@
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -408,8 +314,14 @@
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/initializer.html b/en/docs/initializer.html
index 6507f10..273e363 100644
--- a/en/docs/initializer.html
+++ b/en/docs/initializer.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Initializer — incubator-singa 1.1.0 documentation</title>
+ <title>Initializer — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="Loss" href="loss.html" />
- <link rel="prev" title="FeedForward Net" href="net.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -99,39 +98,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Initializer</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#module-singa.initializer">Python API</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#cpp-api">CPP API</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -187,8 +160,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Initializer</li>
@@ -208,68 +179,8 @@
<div class="section" id="initializer">
<h1>Initializer<a class="headerlink" href="#initializer" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="module-singa.initializer">
-<span id="python-api"></span><h2>Python API<a class="headerlink" href="#module-singa.initializer" title="Permalink to this headline">¶</a></h2>
-<p>Popular initialization methods for parameter values (Tensor objects).</p>
-<p>Example usages:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">tensor</span>
-<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">initializer</span>
-
-<span class="n">x</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">))</span>
-<span class="n">initializer</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">)</span> <span class="c1"># use both fan_in and fan_out</span>
-<span class="n">initializer</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="c1"># use only fan_in</span>
-</pre></div>
-</div>
-<dl class="function">
-<dt id="singa.initializer.uniform">
-<code class="descclassname">singa.initializer.</code><code class="descname">uniform</code><span class="sig-paren">(</span><em>t</em>, <em>fan_in=0</em>, <em>fan_out=0</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.initializer.uniform" title="Permalink to this definition">¶</a></dt>
-<dd><p>Initialize the values of the input tensor following a uniform
-distribution with specific bounds.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>fan_in</strong> (<em>int</em>) – for the weight Tensor of a convolution layer,
-fan_in = nb_channel * kh * kw; for dense layer,
-fan_in = input_feature_length</li>
-<li><strong>fan_out</strong> (<em>int</em>) – for the convolution layer weight Tensor,
-fan_out = nb_filter * kh * kw; for the weight Tensor of a dense
-layer, fan_out = output_feature_length</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-<p>Ref: [Bengio and Glorot 2010]: Understanding the difficulty of
-training deep feedforward neuralnetworks.</p>
-</dd></dl>
-
-<dl class="function">
-<dt id="singa.initializer.gaussian">
-<code class="descclassname">singa.initializer.</code><code class="descname">gaussian</code><span class="sig-paren">(</span><em>t</em>, <em>fan_in=0</em>, <em>fan_out=0</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.initializer.gaussian" title="Permalink to this definition">¶</a></dt>
-<dd><p>Initialize the values of the input tensor following a Gaussian
-distribution with specific std.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>fan_in</strong> (<em>int</em>) – for the weight Tensor of a convolution layer,
-fan_in = nb_channel * kh * kw; for dense layer,
-fan_in = input_feature_length</li>
-<li><strong>fan_out</strong> (<em>int</em>) – for the convolution layer weight Tensor,
-fan_out = nb_filter * kh * kw; for the weight Tensor of a dense
-layer, fan_out = output_feature_length</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-<p>Ref Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun: Delving Deep into
-Rectifiers: Surpassing Human-Level Performance on ImageNet Classification</p>
-</dd></dl>
-
+<div class="section" id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Permalink to this headline">¶</a></h2>
</div>
<div class="section" id="cpp-api">
<h2>CPP API<a class="headerlink" href="#cpp-api" title="Permalink to this headline">¶</a></h2>
@@ -282,21 +193,12 @@ Rectifiers: Surpassing Human-Level Performance on ImageNet Classification</p>
</div>
<footer>
- <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
-
- <a href="loss.html" class="btn btn-neutral float-right" title="Loss" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
-
-
- <a href="net.html" class="btn btn-neutral" title="FeedForward Net" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
-
- </div>
-
<hr/>
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -313,36 +215,17 @@ Rectifiers: Surpassing Human-Level Performance on ImageNet Classification</p>
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -352,8 +235,8 @@ Rectifiers: Surpassing Human-Level Performance on ImageNet Classification</p>
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -362,8 +245,14 @@ Rectifiers: Surpassing Human-Level Performance on ImageNet Classification</p>
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/install_macos1013.html b/en/docs/install_macos1013.html
index b31ef0c..4e3db52 100644
--- a/en/docs/install_macos1013.html
+++ b/en/docs/install_macos1013.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Installing SINGA on macOS 13.10 — incubator-singa 1.1.0 documentation</title>
+ <title>Installing SINGA on macOS 13.10 — incubator-singa 2.0.0 documentation</title>
@@ -18,20 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -42,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -65,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -80,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -100,12 +101,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -183,14 +182,14 @@
<div class="section" id="requirements">
<h2>Requirements<a class="headerlink" href="#requirements" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>homebrew is used to install the requirements. Try:</li>
+<li><p>homebrew is used to install the requirements. Try:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>brew update
</pre></div>
</div>
<p>If you don’t have homebrew in your system or if you upgraded from a previous operating system, you may see an error message. See FAQ below.</p>
<ul class="simple">
-<li>installing required software for building SINGA:</li>
+<li><p>installing required software for building SINGA:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>brew tap homebrew/science
brew tap homebrew/python
@@ -213,7 +212,7 @@ brew install wget
</pre></div>
</div>
<ul class="simple">
-<li>preparing compiler</li>
+<li><p>preparing compiler</p></li>
</ul>
<p>To let the compiler (and cmake) know the openblas
path,</p>
@@ -230,7 +229,7 @@ path,</p>
</pre></div>
</div>
<ul class="simple">
-<li>Get the source code and build it:</li>
+<li><p>Get the source code and build it:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/apache/incubator-singa.git
@@ -243,14 +242,14 @@ make
</pre></div>
</div>
<ul class="simple">
-<li>Optional: create virtual enviromnet:</li>
+<li><p>Optional: create virtual enviromnet:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>virtualenv ~/venv
<span class="nb">source</span> ~/venv/bin/activate
</pre></div>
</div>
<ul class="simple">
-<li>Install the python module</li>
+<li><p>Install the python module</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span> python
pip install .
@@ -262,7 +261,7 @@ pip install .
</div>
<p>then SINGA is installed successfully.</p>
<ul class="simple">
-<li>Run Jupyter notebook</li>
+<li><p>Run Jupyter notebook</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pip install matplotlib
@@ -274,12 +273,12 @@ jupyter notebook
<div class="section" id="video-tutorial">
<h2>Video Tutorial<a class="headerlink" href="#video-tutorial" title="Permalink to this headline">¶</a></h2>
<p>See these steps in the following video:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="100%" />
+<col style="width: 100%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference external" href="https://www.youtube.com/watch?v=T8xGTH9vCBs"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/T8xGTH9vCBs/0.jpg" /></a></td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference external" href="https://www.youtube.com/watch?v=T8xGTH9vCBs"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/T8xGTH9vCBs/0.jpg" /></a></p></td>
</tr>
</tbody>
</table>
@@ -287,13 +286,13 @@ jupyter notebook
<div class="section" id="faq">
<h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>How to install or update homebrew:</li>
+<li><p>How to install or update homebrew:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>/usr/bin/ruby -e <span class="s2">"</span><span class="k">$(</span>curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install<span class="k">)</span><span class="s2">"</span>
</pre></div>
</div>
<ul class="simple">
-<li>There is an error with protobuf.</li>
+<li><p>There is an error with protobuf.</p></li>
</ul>
<p>Try overwriting the links:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>brew link --overwrite protobuf
@@ -313,7 +312,7 @@ jupyter notebook
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -330,36 +329,17 @@ jupyter notebook
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -369,8 +349,8 @@ jupyter notebook
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -379,8 +359,14 @@ jupyter notebook
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/install_win.html b/en/docs/install_win.html
index b7faeb6..45c7adb 100644
--- a/en/docs/install_win.html
+++ b/en/docs/install_win.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Building SINGA on Windows — incubator-singa 1.1.0 documentation</title>
+ <title>Building SINGA on Windows — incubator-singa 2.0.0 documentation</title>
@@ -18,20 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -42,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -65,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -80,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -100,12 +101,10 @@
<ul>
<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -186,71 +185,65 @@
<p>You may create a folder for building the dependencies.</p>
<p>The dependencies are:</p>
<ul>
-<li><dl class="first docutils">
-<dt>Compiler and IDE</dt>
-<dd><ul class="first last simple">
-<li>Visual Studio. The community edition is free and can be used to build SINGA. <a class="reference external" href="https://www.visualstudio.com/">https://www.visualstudio.com/</a></li>
+<li><dl class="simple">
+<dt>Compiler and IDE</dt><dd><ul class="simple">
+<li><p>Visual Studio. The community edition is free and can be used to build SINGA. <a class="reference external" href="https://www.visualstudio.com/">https://www.visualstudio.com/</a></p></li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>CMake</dt>
-<dd><ul class="first last simple">
-<li>Can be downloaded from <a class="reference external" href="http://cmake.org/">http://cmake.org/</a></li>
-<li>Make sure the path to cmake executable is in the system path, or use full path when calling cmake.</li>
+<li><dl class="simple">
+<dt>CMake</dt><dd><ul class="simple">
+<li><p>Can be downloaded from <a class="reference external" href="http://cmake.org/">http://cmake.org/</a></p></li>
+<li><p>Make sure the path to cmake executable is in the system path, or use full path when calling cmake.</p></li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>SWIG</dt>
-<dd><ul class="first last simple">
-<li>Can be downloaded from <a class="reference external" href="http://swig.org/">http://swig.org/</a></li>
-<li>Make sure the path to swig executable is in the system path, or use full path when calling swig. Use a recent version such as 3.0.12.</li>
+<li><dl class="simple">
+<dt>SWIG</dt><dd><ul class="simple">
+<li><p>Can be downloaded from <a class="reference external" href="http://swig.org/">http://swig.org/</a></p></li>
+<li><p>Make sure the path to swig executable is in the system path, or use full path when calling swig. Use a recent version such as 3.0.12.</p></li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>Protocol Buffers</dt>
-<dd><ul class="first last simple">
-<li>Download a suitable version such as 2.6.1: <a class="reference external" href="https://github.com/google/protobuf/releases/tag/v2.6.1">https://github.com/google/protobuf/releases/tag/v2.6.1</a> .</li>
-<li>Download both protobuf-2.6.1.zip and protoc-2.6.1-win32.zip .</li>
-<li>Extract both of them in dependencies folder. Add the path to protoc executable to the system path, or use full path when calling it.</li>
-<li>Open the Visual Studio solution which can be found in vsproject folder.</li>
-<li>Change the build settings to Release and x64.</li>
-<li>build libprotobuf project.</li>
+<li><dl class="simple">
+<dt>Protocol Buffers</dt><dd><ul class="simple">
+<li><p>Download a suitable version such as 2.6.1: <a class="reference external" href="https://github.com/google/protobuf/releases/tag/v2.6.1">https://github.com/google/protobuf/releases/tag/v2.6.1</a> .</p></li>
+<li><p>Download both protobuf-2.6.1.zip and protoc-2.6.1-win32.zip .</p></li>
+<li><p>Extract both of them in dependencies folder. Add the path to protoc executable to the system path, or use full path when calling it.</p></li>
+<li><p>Open the Visual Studio solution which can be found in vsproject folder.</p></li>
+<li><p>Change the build settings to Release and x64.</p></li>
+<li><p>build libprotobuf project.</p></li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>Openblas</dt>
-<dd><ul class="first simple">
-<li>Download a suitable source version such as 0.2.20 from <a class="reference external" href="http://www.openblas.net">http://www.openblas.net</a></li>
-<li>Extract the source in the dependencies folder.</li>
-<li>If you don’t have Perl installed, download a perl environment such as Strawberry Perl (<a class="reference external" href="http://strawberryperl.com/">http://strawberryperl.com/</a>)</li>
-<li>Build the Visual Studio solution by running this command in the source folder:</li>
+<li><dl>
+<dt>Openblas</dt><dd><ul class="simple">
+<li><p>Download a suitable source version such as 0.2.20 from <a class="reference external" href="http://www.openblas.net">http://www.openblas.net</a></p></li>
+<li><p>Extract the source in the dependencies folder.</p></li>
+<li><p>If you don’t have Perl installed, download a perl environment such as Strawberry Perl (<a class="reference external" href="http://strawberryperl.com/">http://strawberryperl.com/</a>)</p></li>
+<li><p>Build the Visual Studio solution by running this command in the source folder:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
</pre></div>
</div>
-<ul class="last simple">
-<li>Open the Visual Studio solution and change the build settings to Release and x64.</li>
-<li>Build libopenblas project</li>
+<ul class="simple">
+<li><p>Open the Visual Studio solution and change the build settings to Release and x64.</p></li>
+<li><p>Build libopenblas project</p></li>
</ul>
</dd>
</dl>
</li>
-<li><dl class="first docutils">
-<dt>Google glog</dt>
-<dd><ul class="first last simple">
-<li>Download a suitable version such as 0.3.5 from <a class="reference external" href="https://github.com/google/glog/releases">https://github.com/google/glog/releases</a></li>
-<li>Extract the source in the dependencies folder.</li>
-<li>Open the Visual Studio solution.</li>
-<li>Change the build settings to Release and x64.</li>
-<li>Build libglog project</li>
+<li><dl class="simple">
+<dt>Google glog</dt><dd><ul class="simple">
+<li><p>Download a suitable version such as 0.3.5 from <a class="reference external" href="https://github.com/google/glog/releases">https://github.com/google/glog/releases</a></p></li>
+<li><p>Extract the source in the dependencies folder.</p></li>
+<li><p>Open the Visual Studio solution.</p></li>
+<li><p>Change the build settings to Release and x64.</p></li>
+<li><p>Build libglog project</p></li>
</ul>
</dd>
</dl>
@@ -260,11 +253,10 @@
<div class="section" id="build-singa-source">
<h2>2. Build SINGA source<a class="headerlink" href="#build-singa-source" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Download SINGA source code</li>
-<li><dl class="first docutils">
-<dt>Compile the protobuf files:</dt>
-<dd><ul class="first last">
-<li>Goto src/proto folder</li>
+<li><p>Download SINGA source code</p></li>
+<li><dl class="simple">
+<dt>Compile the protobuf files:</dt><dd><ul>
+<li><p>Goto src/proto folder</p></li>
</ul>
</dd>
</dl>
@@ -275,9 +267,9 @@ protoc.exe *.proto --python_out python_out
</pre></div>
</div>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>Generate swig interfaces for C++ and Python:</dt>
-<dd>Goto src/api</dd>
+<li><dl class="simple">
+<dt>Generate swig interfaces for C++ and Python:</dt><dd><p>Goto src/api</p>
+</dd>
</dl>
</li>
</ul>
@@ -285,9 +277,9 @@ protoc.exe *.proto --python_out python_out
</pre></div>
</div>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>generate Visual Studio solution for SINGA:</dt>
-<dd>Goto SINGA source code root folder</dd>
+<li><dl class="simple">
+<dt>generate Visual Studio solution for SINGA:</dt><dd><p>Goto SINGA source code root folder</p>
+</dd>
</dl>
</li>
</ul>
@@ -296,7 +288,7 @@ protoc.exe *.proto --python_out python_out
</pre></div>
</div>
<ul class="simple">
-<li>Call cmake and add the paths in your system similar to the following example:</li>
+<li><p>Call cmake and add the paths in your system similar to the following example:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span> ^
-DGLOG_INCLUDE_DIR<span class="o">=</span><span class="s2">"D:/WinSinga/dependencies/glog-0.3.5/src/windows"</span> ^
@@ -310,37 +302,36 @@ protoc.exe *.proto --python_out python_out
</pre></div>
</div>
<ul class="simple">
-<li>Open the generated solution in Visual Studio</li>
-<li>Change the build settings to Release and x64</li>
-<li>Add the singa_wrap.cxx file from src/api to the singa_objects project</li>
-<li>In the singa_objects project, open Additional Include Directories.</li>
-<li>Add Python include path</li>
-<li>Add numpy include path</li>
-<li>Add protobuf include path</li>
-<li>In the preprocessor definitions of the singa_objects project, add USE_GLOG</li>
-<li>Build singa_objects project</li>
-<li><dl class="first docutils">
-<dt>In singa project:</dt>
-<dd><ul class="first last">
-<li>add singa_wrap.obj to Object Libraries</li>
-<li>change target name to _singa_wrap</li>
-<li>change target extension to .pyd</li>
-<li>change configuration type to Dynamic Library (.dll)</li>
-<li>goto Additional Library Directories and add the path to python, openblas, protobuf and glog libraries</li>
-<li>goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib</li>
+<li><p>Open the generated solution in Visual Studio</p></li>
+<li><p>Change the build settings to Release and x64</p></li>
+<li><p>Add the singa_wrap.cxx file from src/api to the singa_objects project</p></li>
+<li><p>In the singa_objects project, open Additional Include Directories.</p></li>
+<li><p>Add Python include path</p></li>
+<li><p>Add numpy include path</p></li>
+<li><p>Add protobuf include path</p></li>
+<li><p>In the preprocessor definitions of the singa_objects project, add USE_GLOG</p></li>
+<li><p>Build singa_objects project</p></li>
+<li><dl class="simple">
+<dt>In singa project:</dt><dd><ul>
+<li><p>add singa_wrap.obj to Object Libraries</p></li>
+<li><p>change target name to _singa_wrap</p></li>
+<li><p>change target extension to .pyd</p></li>
+<li><p>change configuration type to Dynamic Library (.dll)</p></li>
+<li><p>goto Additional Library Directories and add the path to python, openblas, protobuf and glog libraries</p></li>
+<li><p>goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib</p></li>
</ul>
</dd>
</dl>
</li>
-<li>build singa project</li>
+<li><p>build singa project</p></li>
</ul>
</div>
<div class="section" id="install-python-module">
<h2>3. Install Python module<a class="headerlink" href="#install-python-module" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py</li>
-<li>Copy the files in src/proto/python_out to build/python/singa/proto</li>
-<li>Optionally create and activate a virtual environment:</li>
+<li><p>Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py</p></li>
+<li><p>Copy the files in src/proto/python_out to build/python/singa/proto</p></li>
+<li><p>Optionally create and activate a virtual environment:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir SingaEnv
virtualenv SingaEnv
@@ -348,25 +339,25 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</pre></div>
</div>
<ul class="simple">
-<li>goto build/python folder and run:</li>
+<li><p>goto build/python folder and run:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python setup.py install
</pre></div>
</div>
<ul class="simple">
-<li>Make _singa_wrap.pyd, libglog.dll and libopenblas.dll available by adding them to the path or by copying them to singa package folder in the python site-packages</li>
-<li>Verify that SINGA is installed by running:</li>
+<li><p>Make _singa_wrap.pyd, libglog.dll and libopenblas.dll available by adding them to the path or by copying them to singa package folder in the python site-packages</p></li>
+<li><p>Verify that SINGA is installed by running:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python -c <span class="s2">"from singa import tensor"</span>
</pre></div>
</div>
<p>A video tutorial for the build process can be found here:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="100%" />
+<col style="width: 100%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></p></td>
</tr>
</tbody>
</table>
@@ -374,47 +365,41 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
<div class="section" id="run-unit-tests">
<h2>4. Run Unit Tests<a class="headerlink" href="#run-unit-tests" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>In the test folder, generate the Visual Studio solution:</li>
+<li><p>In the test folder, generate the Visual Studio solution:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
</pre></div>
</div>
<ul>
-<li><p class="first">Open the generated solution in Visual Studio.</p>
-</li>
-<li><p class="first">Change the build settings to Release and x64.</p>
-</li>
-<li><p class="first">Build glog project.</p>
-</li>
-<li><p class="first">In test_singa project:</p>
+<li><p>Open the generated solution in Visual Studio.</p></li>
+<li><p>Change the build settings to Release and x64.</p></li>
+<li><p>Build glog project.</p></li>
+<li><p>In test_singa project:</p>
<blockquote>
<div><ul class="simple">
-<li>Add USE_GLOG to the Preprocessor Definitions.</li>
-<li>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 2 above. Add also build and build/include folders.</li>
-<li>Goto Additional Library Directories and add the path to openblas, protobuf and glog libraries. Add also build/src/singa_objects.dir/Release.</li>
-<li>Goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib. Fix the names of the two libraries: gtest.lib and singa_objects.lib.</li>
+<li><p>Add USE_GLOG to the Preprocessor Definitions.</p></li>
+<li><p>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 2 above. Add also build and build/include folders.</p></li>
+<li><p>Goto Additional Library Directories and add the path to openblas, protobuf and glog libraries. Add also build/src/singa_objects.dir/Release.</p></li>
+<li><p>Goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib. Fix the names of the two libraries: gtest.lib and singa_objects.lib.</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">Build test_singa project.</p>
-</li>
-<li><p class="first">Make libglog.dll and libopenblas.dll available by adding them to the path or by copying them to test/release folder</p>
-</li>
-<li><p class="first">The unit tests can be executed</p>
+<li><p>Build test_singa project.</p></li>
+<li><p>Make libglog.dll and libopenblas.dll available by adding them to the path or by copying them to test/release folder</p></li>
+<li><p>The unit tests can be executed</p>
<blockquote>
<div><ul>
-<li><p class="first">From the command line:</p>
+<li><p>From the command line:</p>
<blockquote>
<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>test_singa.exe
</pre></div>
</div>
</div></blockquote>
</li>
-<li><dl class="first docutils">
-<dt>From Visual Studio:</dt>
-<dd><ul class="first last simple">
-<li>right click on the test_singa project and choose ‘Set as StartUp Project’.</li>
-<li>from the Debug menu, choose ‘Start Without Debugging’</li>
+<li><dl class="simple">
+<dt>From Visual Studio:</dt><dd><ul class="simple">
+<li><p>right click on the test_singa project and choose ‘Set as StartUp Project’.</p></li>
+<li><p>from the Debug menu, choose ‘Start Without Debugging’</p></li>
</ul>
</dd>
</dl>
@@ -424,12 +409,12 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</li>
</ul>
<p>A video tutorial for running the unit tests can be found here:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="100%" />
+<col style="width: 100%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></p></td>
</tr>
</tbody>
</table>
@@ -442,34 +427,30 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
<h2>5.1 Install Dependencies<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
<p>In addition to the dependencies in section 1 above, we will need the following:</p>
<ul>
-<li><p class="first">CUDA</p>
+<li><p>CUDA</p>
<blockquote>
<div><p>Download a suitable version such as 9.1 from <a class="reference external" href="https://developer.nvidia.com/cuda-downloads">https://developer.nvidia.com/cuda-downloads</a> . Make sure to install the Visual Studio integration module.</p>
</div></blockquote>
</li>
-<li><p class="first">cuDNN</p>
+<li><p>cuDNN</p>
<blockquote>
<div><p>Download a suitable version such as 7.1 from <a class="reference external" href="https://developer.nvidia.com/cudnn">https://developer.nvidia.com/cudnn</a></p>
</div></blockquote>
</li>
-<li><p class="first">cnmem:</p>
+<li><p>cnmem:</p>
<blockquote>
<div><ul>
-<li><p class="first">Download the latest version from <a class="reference external" href="https://github.com/NVIDIA/cnmem">https://github.com/NVIDIA/cnmem</a></p>
-</li>
-<li><p class="first">Build the Visual Studio solution:</p>
+<li><p>Download the latest version from <a class="reference external" href="https://github.com/NVIDIA/cnmem">https://github.com/NVIDIA/cnmem</a></p></li>
+<li><p>Build the Visual Studio solution:</p>
<blockquote>
<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
</pre></div>
</div>
</div></blockquote>
</li>
-<li><p class="first">Open the generated solution in Visual Studio.</p>
-</li>
-<li><p class="first">Change the build settings to Release and x64.</p>
-</li>
-<li><p class="first">Build the cnmem project.</p>
-</li>
+<li><p>Open the generated solution in Visual Studio.</p></li>
+<li><p>Change the build settings to Release and x64.</p></li>
+<li><p>Build the cnmem project.</p></li>
</ul>
</div></blockquote>
</li>
@@ -478,7 +459,7 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
<div class="section" id="id2">
<h2>5.2 Build SINGA source<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Call cmake and add the paths in your system similar to the following example:</p>
+<li><p>Call cmake and add the paths in your system similar to the following example:</p>
<blockquote>
<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span> ^
-DGLOG_INCLUDE_DIR<span class="o">=</span><span class="s2">"D:/WinSinga/dependencies/glog-0.3.5/src/windows"</span> ^
@@ -499,83 +480,75 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</div>
</div></blockquote>
</li>
-<li><dl class="first docutils">
-<dt>Generate swig interfaces for C++ and Python:</dt>
-<dd><p class="first">Goto src/api</p>
-<div class="last highlight-bash notranslate"><div class="highlight"><pre><span></span>swig -python -c++ singa.i
+<li><dl>
+<dt>Generate swig interfaces for C++ and Python:</dt><dd><p>Goto src/api</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>swig -python -c++ singa.i
</pre></div>
</div>
</dd>
</dl>
</li>
-<li><p class="first">Open the generated solution in Visual Studio</p>
-</li>
-<li><p class="first">Change the build settings to Release and x64</p>
-</li>
+<li><p>Open the generated solution in Visual Studio</p></li>
+<li><p>Change the build settings to Release and x64</p></li>
</ul>
</div>
<div class="section" id="building-singa-objects">
<h2>5.2.1 Building singa_objects<a class="headerlink" href="#building-singa-objects" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Add the singa_wrap.cxx file from src/api to the singa_objects project</li>
-<li>In the singa_objects project, open Additional Include Directories.</li>
-<li>Add Python include path</li>
-<li>Add numpy include path</li>
-<li>Add protobuf include path</li>
-<li>Add include path for CUDA, cuDNN and cnmem</li>
-<li>In the preprocessor definitions of the singa_objects project, add USE_GLOG, USE_CUDA and USE_CUDNN. Remove DISABLE_WARNINGS.</li>
-<li>Build singa_objects project</li>
+<li><p>Add the singa_wrap.cxx file from src/api to the singa_objects project</p></li>
+<li><p>In the singa_objects project, open Additional Include Directories.</p></li>
+<li><p>Add Python include path</p></li>
+<li><p>Add numpy include path</p></li>
+<li><p>Add protobuf include path</p></li>
+<li><p>Add include path for CUDA, cuDNN and cnmem</p></li>
+<li><p>In the preprocessor definitions of the singa_objects project, add USE_GLOG, USE_CUDA and USE_CUDNN. Remove DISABLE_WARNINGS.</p></li>
+<li><p>Build singa_objects project</p></li>
</ul>
</div>
<div class="section" id="building-singa-kernel">
<h2>5.2.2 Building singa-kernel<a class="headerlink" href="#building-singa-kernel" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Create a new Visual Studio project of type “CUDA 9.1 Runtime”. Give it a name such as singa-kernel.</p>
-</li>
-<li><p class="first">The project comes with an initial file called kernel.cu. Remove this file from the project.</p>
-</li>
-<li><p class="first">Add this file: src/core/tensor/math_kernel.cu</p>
-</li>
-<li><p class="first">In the project settings:</p>
+<li><p>Create a new Visual Studio project of type “CUDA 9.1 Runtime”. Give it a name such as singa-kernel.</p></li>
+<li><p>The project comes with an initial file called kernel.cu. Remove this file from the project.</p></li>
+<li><p>Add this file: src/core/tensor/math_kernel.cu</p></li>
+<li><p>In the project settings:</p>
<blockquote>
<div><ul class="simple">
-<li>Set Platform Toolset to “Visual Studio 2015 (v140)”</li>
-<li>Set Configuration Type to ” Static Library (.lib)”</li>
-<li>In the Include Directories, add build/include.</li>
+<li><p>Set Platform Toolset to “Visual Studio 2015 (v140)”</p></li>
+<li><p>Set Configuration Type to ” Static Library (.lib)”</p></li>
+<li><p>In the Include Directories, add build/include.</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">Build singa-kernel project</p>
-</li>
+<li><p>Build singa-kernel project</p></li>
</ul>
</div>
<div class="section" id="building-singa">
<h2>5.2.3 Building singa<a class="headerlink" href="#building-singa" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li><dl class="first docutils">
-<dt>In singa project:</dt>
-<dd><ul class="first last">
-<li>add singa_wrap.obj to Object Libraries</li>
-<li>change target name to _singa_wrap</li>
-<li>change target extension to .pyd</li>
-<li>change configuration type to Dynamic Library (.dll)</li>
-<li>goto Additional Library Directories and add the path to python, openblas, protobuf and glog libraries</li>
-<li>Add also the library path to singa-kernel, cnmem, cuda and cudnn.</li>
-<li>goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib.</li>
-<li>Add also: singa-kernel.lib, cnmem.lib, cudnn.lib, cuda.lib , cublas.lib, curand.lib and cudart.lib.</li>
+<li><dl class="simple">
+<dt>In singa project:</dt><dd><ul>
+<li><p>add singa_wrap.obj to Object Libraries</p></li>
+<li><p>change target name to _singa_wrap</p></li>
+<li><p>change target extension to .pyd</p></li>
+<li><p>change configuration type to Dynamic Library (.dll)</p></li>
+<li><p>goto Additional Library Directories and add the path to python, openblas, protobuf and glog libraries</p></li>
+<li><p>Add also the library path to singa-kernel, cnmem, cuda and cudnn.</p></li>
+<li><p>goto Additional Dependencies and add libopenblas.lib, libglog.lib and libprotobuf.lib.</p></li>
+<li><p>Add also: singa-kernel.lib, cnmem.lib, cudnn.lib, cuda.lib , cublas.lib, curand.lib and cudart.lib.</p></li>
</ul>
</dd>
</dl>
</li>
-<li>build singa project</li>
+<li><p>build singa project</p></li>
</ul>
</div>
<div class="section" id="id3">
<h2>5.3. Install Python module<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py</li>
-<li>Copy the files in src/proto/python_out to build/python/singa/proto</li>
-<li>Optionally create and activate a virtual environment:</li>
+<li><p>Change _singa_wrap.so to _singa_wrap.pyd in build/python/setup.py</p></li>
+<li><p>Copy the files in src/proto/python_out to build/python/singa/proto</p></li>
+<li><p>Optionally create and activate a virtual environment:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir SingaEnv
virtualenv SingaEnv
@@ -583,25 +556,25 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</pre></div>
</div>
<ul class="simple">
-<li>goto build/python folder and run:</li>
+<li><p>goto build/python folder and run:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python setup.py install
</pre></div>
</div>
<ul class="simple">
-<li>Make _singa_wrap.pyd, libglog.dll, libopenblas.dll, cnmem.dll, CUDA Runtime (e.g. cudart64_91.dll) and cuDNN (e.g. cudnn64_7.dll) available by adding them to the path or by copying them to singa package folder in the python site-packages</li>
-<li>Verify that SINGA is installed by running:</li>
+<li><p>Make _singa_wrap.pyd, libglog.dll, libopenblas.dll, cnmem.dll, CUDA Runtime (e.g. cudart64_91.dll) and cuDNN (e.g. cudnn64_7.dll) available by adding them to the path or by copying them to singa package folder in the python site-packages</p></li>
+<li><p>Verify that SINGA is installed by running:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python -c <span class="s2">"from singa import device; dev = device.create_cuda_gpu()"</span>
</pre></div>
</div>
<p>A video tutorial for this part can be found here:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="100%" />
+<col style="width: 100%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></p></td>
</tr>
</tbody>
</table>
@@ -609,47 +582,41 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
<div class="section" id="id4">
<h2>5.4. Run Unit Tests<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
-<li>In the test folder, generate the Visual Studio solution:</li>
+<li><p>In the test folder, generate the Visual Studio solution:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cmake -G <span class="s2">"Visual Studio 15 2017 Win64"</span>
</pre></div>
</div>
<ul>
-<li><p class="first">Open the generated solution in Visual Studio, or add the project to the singa solution that was created in step 5.2</p>
-</li>
-<li><p class="first">Change the build settings to Release and x64.</p>
-</li>
-<li><p class="first">Build glog project.</p>
-</li>
-<li><p class="first">In test_singa project:</p>
+<li><p>Open the generated solution in Visual Studio, or add the project to the singa solution that was created in step 5.2</p></li>
+<li><p>Change the build settings to Release and x64.</p></li>
+<li><p>Build glog project.</p></li>
+<li><p>In test_singa project:</p>
<blockquote>
<div><ul class="simple">
-<li>Add USE_GLOG; USE_CUDA; USE_CUDNN to the Preprocessor Definitions.</li>
-<li>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 5.2 above. Add also build, build/include, CUDA and cuDNN include folders.</li>
-<li>Goto Additional Library Directories and add the path to openblas, protobuf and glog libraries. Add also build/src/singa_objects.dir/Release, singa-kernel, cnmem, CUDA and cuDNN library paths.</li>
-<li>Goto Additional Dependencies and add libopenblas.lib; libglog.lib; libprotobuf.lib; cnmem.lib; cudnn.lib; cuda.lib; cublas.lib; curand.lib; cudart.lib; singa-kernel.lib. Fix the names of the two libraries: gtest.lib and singa_objects.lib.</li>
+<li><p>Add USE_GLOG; USE_CUDA; USE_CUDNN to the Preprocessor Definitions.</p></li>
+<li><p>In Additional Include Directories, add path of GLOG_INCLUDE_DIR, CBLAS_INCLUDE_DIR and Protobuf_INCLUDE_DIR which were used in step 5.2 above. Add also build, build/include, CUDA and cuDNN include folders.</p></li>
+<li><p>Goto Additional Library Directories and add the path to openblas, protobuf and glog libraries. Add also build/src/singa_objects.dir/Release, singa-kernel, cnmem, CUDA and cuDNN library paths.</p></li>
+<li><p>Goto Additional Dependencies and add libopenblas.lib; libglog.lib; libprotobuf.lib; cnmem.lib; cudnn.lib; cuda.lib; cublas.lib; curand.lib; cudart.lib; singa-kernel.lib. Fix the names of the two libraries: gtest.lib and singa_objects.lib.</p></li>
</ul>
</div></blockquote>
</li>
-<li><p class="first">Build test_singa project.</p>
-</li>
-<li><p class="first">Make libglog.dll, libopenblas.dll, cnmem.dll, cudart64_91.dll and cudnn64_7.dll available by adding them to the path or by copying them to test/release folder</p>
-</li>
-<li><p class="first">The unit tests can be executed</p>
+<li><p>Build test_singa project.</p></li>
+<li><p>Make libglog.dll, libopenblas.dll, cnmem.dll, cudart64_91.dll and cudnn64_7.dll available by adding them to the path or by copying them to test/release folder</p></li>
+<li><p>The unit tests can be executed</p>
<blockquote>
<div><ul>
-<li><p class="first">From the command line:</p>
+<li><p>From the command line:</p>
<blockquote>
<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>test_singa.exe
</pre></div>
</div>
</div></blockquote>
</li>
-<li><dl class="first docutils">
-<dt>From Visual Studio:</dt>
-<dd><ul class="first last simple">
-<li>right click on the test_singa project and choose ‘Set as StartUp Project’.</li>
-<li>from the Debug menu, choose ‘Start Without Debugging’</li>
+<li><dl class="simple">
+<dt>From Visual Studio:</dt><dd><ul class="simple">
+<li><p>right click on the test_singa project and choose ‘Set as StartUp Project’.</p></li>
+<li><p>from the Debug menu, choose ‘Start Without Debugging’</p></li>
</ul>
</dd>
</dl>
@@ -659,12 +626,12 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</li>
</ul>
<p>A video tutorial for running the unit tests can be found here:</p>
-<table border="1" class="docutils">
+<table class="docutils align-default">
<colgroup>
-<col width="100%" />
+<col style="width: 100%" />
</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></td>
+<tbody>
+<tr class="row-odd"><td><p><a class="reference external" href="https://www.youtube.com/watch?v=YOjwtrvTPn4"><img alt="video" class="align-middle" src="https://img.youtube.com/vi/YOjwtrvTPn4/0.jpg" /></a></p></td>
</tr>
</tbody>
</table>
@@ -682,7 +649,7 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -699,36 +666,17 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -738,8 +686,8 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -748,8 +696,14 @@ SingaEnv<span class="se">\S</span>cripts<span class="se">\a</span>ctivate
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/installation.html b/en/docs/installation.html
index 51e0646..08bc702 100644
--- a/en/docs/installation.html
+++ b/en/docs/installation.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Installation — incubator-singa 1.1.0 documentation</title>
+ <title>Installation — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,28 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="Software Stack" href="software_stack.html" />
<link rel="prev" title="Documentation" href="index.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +50,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +68,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +83,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -103,43 +104,24 @@
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">Installation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#from-conda">From Conda</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#from-source">From source</a><ul>
-<li class="toctree-l4"><a class="reference internal" href="#use-conda-to-build-singa">Use Conda to build SINGA</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#use-native-tools-to-build-singa-on-ubuntu">Use native tools to build SINGA on Ubuntu</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#compile-singa-on-windows">Compile SINGA on Windows</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#more-details-about-the-compilation-options">More details about the compilation options</a></li>
-<li class="toctree-l4"><a class="reference internal" href="#use-modules">USE_MODULES</a></li>
-</ul>
-</li>
+<li class="toctree-l3"><a class="reference internal" href="#using-docker">Using Docker</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#from-source">From source</a></li>
<li class="toctree-l3"><a class="reference internal" href="#faq">FAQ</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2"><a class="reference internal" href="layer.html">Layer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="onnx.html">ONNX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="benchmark.html">Benchmark for Distributed training</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -221,378 +203,118 @@
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">www</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">org</span><span class="o">/</span><span class="n">licenses</span><span class="o">/</span><span class="n">LICENSE</span><span class="o">-</span><span [...]
-
-<span class="n">Unless</span> <span class="n">required</span> <span class="n">by</span> <span class="n">applicable</span> <span class="n">law</span> <span class="ow">or</span> <span class="n">agreed</span> <span class="n">to</span> <span class="ow">in</span> <span class="n">writing</span><span class="p">,</span>
-<span class="n">software</span> <span class="n">distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">License</span> <span class="ow">is</span> <span class="n">distributed</span> <span class="n">on</span> <span class="n">an</span>
-<span class="s2">"AS IS"</span> <span class="n">BASIS</span><span class="p">,</span> <span class="n">WITHOUT</span> <span class="n">WARRANTIES</span> <span class="n">OR</span> <span class="n">CONDITIONS</span> <span class="n">OF</span> <span class="n">ANY</span>
-<span class="n">KIND</span><span class="p">,</span> <span class="n">either</span> <span class="n">express</span> <span class="ow">or</span> <span class="n">implied</span><span class="o">.</span> <span class="n">See</span> <span class="n">the</span> <span class="n">License</span> <span class="k">for</span> <span class="n">the</span>
-<span class="n">specific</span> <span class="n">language</span> <span class="n">governing</span> <span class="n">permissions</span> <span class="ow">and</span> <span class="n">limitations</span>
-<span class="n">under</span> <span class="n">the</span> <span class="n">License</span><span class="o">.</span>
-</pre></div>
-</div>
-<p>–></p>
-<div class="section" id="installation">
-<span id="installation"></span><h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1>
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+--><div class="section" id="installation">
+<h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h1>
<div class="section" id="from-conda">
-<span id="from-conda"></span><h2>From Conda<a class="headerlink" href="#from-conda" title="Permalink to this headline">¶</a></h2>
+<h2>From Conda<a class="headerlink" href="#from-conda" title="Permalink to this headline">¶</a></h2>
<p>Conda is a package manager for Python, CPP and other packages.</p>
-<p>Currently, SINGA has conda packages (Python 2.7 and Python 3.6) for Linux and MacOSX.
+<p>Currently, SINGA has conda packages for Linux and MacOSX.
<a class="reference external" href="https://conda.io/miniconda.html">Miniconda3</a> is recommended to use with SINGA.
After installing miniconda, execute the one of the following commands to install
SINGA.</p>
<ol>
-<li><p class="first">CPU only</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span><span class="o">-</span><span class="n">cpu</span>
+<li><p>CPU only</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">singa</span><span class="o">-</span><span class="n">cpu</span>
</pre></div>
</div>
+<p><a class="reference external" href="https://colab.research.google.com/drive/1Ntkhi-Z6XTR8WYPXiLwujHd2dOm0772V"><img alt="Open In Colab" src="https://colab.research.google.com/assets/colab-badge.svg" /></a></p>
</li>
-<li><p class="first">GPU with CUDA and cuDNN</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span><span class="o">-</span><span class="n">gpu</span>
+<li><p>GPU with CUDA and cuDNN (CUDA driver >=384.81 is required)</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">singa</span><span class="o">-</span><span class="n">gpu</span>
</pre></div>
</div>
+<p><a class="reference external" href="https://colab.research.google.com/drive/1do_TLJe18IthLOnBOsHCEe-FFPGk1sPJ"><img alt="Open In Colab" src="https://colab.research.google.com/assets/colab-badge.svg" /></a></p>
</li>
-</ol>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">CUDA</span> <span class="n">driver</span> <span class="p">(</span><span class="k">for</span> <span class="n">CUDA</span> <span class="o">>=</span><span class="mf">9.0</span><span class="p">)</span> <span class="n">must</span> <span class="n">be</span> <span class="n">installed</span> <span class="n">before</span> <span class="n">executing</span> <span class="n">the</span> <span class= [...]
- <span class="n">packages</span> <span class="k">for</span> <span class="n">other</span> <span class="n">CUDA</span> <span class="n">versions</span> <span class="n">are</span> <span class="n">also</span> <span class="n">available</span><span class="o">.</span> <span class="n">The</span> <span class="n">following</span> <span class="n">instruction</span>
- <span class="n">lists</span> <span class="nb">all</span> <span class="n">the</span> <span class="n">available</span> <span class="n">Singa</span> <span class="n">packages</span><span class="o">.</span>
+<li><p>Install a specific version of SINGA. The following command lists all the available SINGA packages.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">search</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span>
- <span class="n">conda</span> <span class="n">search</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="n">singa</span>
-</pre></div>
-</div>
-<p>If there is no error message from</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">c</span> <span class="s2">"from singa import tensor"</span>
-</pre></div>
-</div>
-<p>then SINGA is installed successfully.</p>
-</div>
-<div class="section" id="from-source">
-<span id="from-source"></span><h2>From source<a class="headerlink" href="#from-source" title="Permalink to this headline">¶</a></h2>
-<p>The source files could be downloaded either as a
-<a class="reference external" href="https://dist.apache.org/repos/dist/dev/incubator/singa/">tar.gz file</a>, or as a git repo</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ git clone https://github.com/apache/incubator-singa.git
-$ cd incubator-singa/
+ <span class="n">Loading</span> <span class="n">channels</span><span class="p">:</span> <span class="n">done</span>
+ <span class="c1"># Name Version Build Channel </span>
+ <span class="n">singa</span> <span class="mf">2.1</span><span class="o">.</span><span class="mf">0.</span><span class="n">dev</span> <span class="n">cpu_py36</span> <span class="n">nusdbsystem</span>
+ <span class="n">singa</span> <span class="mf">2.1</span><span class="o">.</span><span class="mf">0.</span><span class="n">dev</span> <span class="n">cpu_py37</span> <span class="n">nusdbsystem</span>
</pre></div>
</div>
-<div class="section" id="use-conda-to-build-singa">
-<span id="use-conda-to-build-singa"></span><h3>Use Conda to build SINGA<a class="headerlink" href="#use-conda-to-build-singa" title="Permalink to this headline">¶</a></h3>
-<p>Conda-build is a building tool that installs the dependent libraries from anaconda cloud and
-executes the building scripts. The generated package can be uploaded to anaconda
-cloud for others to download and install.</p>
-<p>To install conda-build (after installing miniconda)</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">install</span> <span class="n">conda</span><span class="o">-</span><span class="n">build</span>
+<p>The following command install a specific version of SINGA,</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">singa</span><span class="o">=</span><span class="mf">2.1</span><span class="o">.</span><span class="mf">0.</span><spa [...]
</pre></div>
</div>
-<p>To build the CPU version of SINGA</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">singa</span><span class="o">/</span> <span class="o">--</span><span class="n">python</span> <span class="mf">3.6</span>
-</pre></div>
-</div>
-<p>The above commands have been tested on Ubuntu 16.04 and Mac OSX.
-Refer to the <a class="reference external" href="https://travis-ci.org/apache/incubator-singa">Travis-CI page</a> for more information.</p>
-<p>To build the GPU version of SINGA</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="n">CUDA</span><span class="o">=</span><span class="n">x</span><span class="o">.</span><span class="n">y</span> <span class="p">(</span><span class="n">e</span><span class="o">.</span><span class="n">g</span><span class="o">.</span> <span class="mf">9.0</span><span class="p">)</span>
-<span class="n">conda</span> <span class="n">build</span> <span class="n">tool</span><span class="o">/</span><span class="n">conda</span><span class="o">/</span><span class="n">singa</span><span class="o">/</span> <span class="o">--</span><span class="n">python</span> <span class="mf">3.6</span>
-</pre></div>
-</div>
-<p>The commands for building on GPU platforms have been tested on Ubuntu 16.04 (cuDNN>=7 and CUDA>=9).
-<a class="reference external" href="https://hub.docker.com/r/nvidia/cuda/">Nvidia’s Docker image</a> provides the building
-environment with cuDNN and CUDA.</p>
-<p>The location of the generated package file is shown on the screen.
-Refer to <a class="reference external" href="https://conda.io/docs/commands/conda-install.html">conda install</a> for
-the instructions of installing the package from the local file.</p>
-</div>
-<div class="section" id="use-native-tools-to-build-singa-on-ubuntu">
-<span id="use-native-tools-to-build-singa-on-ubuntu"></span><h3>Use native tools to build SINGA on Ubuntu<a class="headerlink" href="#use-native-tools-to-build-singa-on-ubuntu" title="Permalink to this headline">¶</a></h3>
-<p>The following libraries are required to compile and run SINGA.
-Refer to SINGA <a class="reference external" href="https://github.com/apache/incubator-singa/blob/master/tool/docker/">Dockerfiles</a>
-for the instructions of installing them on Ubuntu 16.04.</p>
-<ul class="simple">
-<li>cmake (>=2.8)</li>
-<li>gcc (>=4.8.1)</li>
-<li>google protobuf (>=2.5)</li>
-<li>blas (tested with openblas >=0.2.10)</li>
-<li>swig(>=3.0.10) for compiling PySINGA</li>
-<li>numpy(>=1.11.0) for compiling PySINGA</li>
-</ul>
-<ol class="simple">
-<li>create a <code class="docutils literal notranslate"><span class="pre">build</span></code> folder inside incubator-singa and go into that folder</li>
-<li>run <code class="docutils literal notranslate"><span class="pre">cmake</span> <span class="pre">[options]</span> <span class="pre">..</span></code>
-by default all options are OFF except <code class="docutils literal notranslate"><span class="pre">USE_PYTHON</span></code><ul>
-<li><code class="docutils literal notranslate"><span class="pre">USE_MODULES=ON</span></code>, used if protobuf and blas are not installed a prior</li>
-<li><code class="docutils literal notranslate"><span class="pre">USE_CUDA=ON</span></code>, used if CUDA and cuDNN is available</li>
-<li><code class="docutils literal notranslate"><span class="pre">USE_PYTHON3=ON</span></code>, used for compiling with Python 3 support. (The default is Python 2)</li>
-<li><code class="docutils literal notranslate"><span class="pre">USE_OPENCL=ON</span></code>, used for compiling with OpenCL support</li>
-<li><code class="docutils literal notranslate"><span class="pre">USE_MKLDNN=ON</span></code>, used for compiling with Intel MKL-dnn support</li>
-<li><code class="docutils literal notranslate"><span class="pre">PACKAGE=ON</span></code>, used for building the Debian package</li>
-<li><code class="docutils literal notranslate"><span class="pre">ENABLE_TEST</span></code>, used for compiling unit test cases</li>
-</ul>
</li>
-<li>compile the code, <code class="docutils literal notranslate"><span class="pre">make</span></code></li>
-<li>goto python folder</li>
-<li>run <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">.</span></code> or <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-e</span> <span class="pre">.</span></code> The second command creates symlinks instead of copying files into python site-package folder.</li>
</ol>
-<p>Execute step 4 and 5 are to install PySINGA when USE_PYTHON=ON.</p>
-<p>After compiling SINGA with ENABLE_TEST=ON, you can run the unit tests by</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ ./bin/test_singa
-</pre></div>
-</div>
-<p>You can see all the testing cases with testing results. If SINGA passes all
-tests, then you have successfully installed SINGA.</p>
-</div>
-<div class="section" id="compile-singa-on-windows">
-<span id="compile-singa-on-windows"></span><h3>Compile SINGA on Windows<a class="headerlink" href="#compile-singa-on-windows" title="Permalink to this headline">¶</a></h3>
-<p>Instructions for building on Windows with Python support can be found <a class="reference external" href="install_win.html">here</a>.</p>
-</div>
-<div class="section" id="more-details-about-the-compilation-options">
-<span id="more-details-about-the-compilation-options"></span><h3>More details about the compilation options<a class="headerlink" href="#more-details-about-the-compilation-options" title="Permalink to this headline">¶</a></h3>
-</div>
-<div class="section" id="use-modules">
-<span id="use-modules"></span><h3>USE_MODULES<a class="headerlink" href="#use-modules" title="Permalink to this headline">¶</a></h3>
-<p>If protobuf and openblas are not installed, you can compile SINGA together with them</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ In SINGA ROOT folder
-$ mkdir build
-$ cd build
-$ cmake -DUSE_MODULES=ON ..
-$ make
-</pre></div>
-</div>
-<p>cmake would download OpenBlas and Protobuf (2.6.1) and compile them together
-with SINGA.</p>
-<p>You can use <code class="docutils literal notranslate"><span class="pre">ccmake</span> <span class="pre">..</span></code> to configure the compilation options.
-If some dependent libraries are not in the system default paths, you need to export
-the following environment variables</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="n">CMAKE_INCLUDE_PATH</span><span class="o">=<</span><span class="n">path</span> <span class="n">to</span> <span class="n">the</span> <span class="n">header</span> <span class="n">file</span> <span class="n">folder</span><span class="o">></span>
-<span class="n">export</span> <span class="n">CMAKE_LIBRARY_PATH</span><span class="o">=<</span><span class="n">path</span> <span class="n">to</span> <span class="n">the</span> <span class="n">lib</span> <span class="n">file</span> <span class="n">folder</span><span class="o">></span>
-</pre></div>
-</div>
-<div class="section" id="use-python">
-<span id="use-python"></span><h4>USE_PYTHON<a class="headerlink" href="#use-python" title="Permalink to this headline">¶</a></h4>
-<p>Similar to compile CPP code, PySINGA is compiled by</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cmake -DUSE_PYTHON=ON ..
-$ make
-$ cd python
-$ pip install .
-</pre></div>
-</div>
-</div>
-<div class="section" id="use-cuda">
-<span id="use-cuda"></span><h4>USE_CUDA<a class="headerlink" href="#use-cuda" title="Permalink to this headline">¶</a></h4>
-<p>Users are encouraged to install the CUDA and
-<a class="reference external" href="https://developer.nvidia.com/cudnn">cuDNN</a> for running SINGA on GPUs to
-get better performance.</p>
-<p>SINGA has been tested over CUDA 9, and cuDNN 7. If cuDNN is
-installed into non-system folder, e.g. /home/bob/local/cudnn/, the following
-commands should be executed for cmake and the runtime to find it</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ export CMAKE_INCLUDE_PATH=/home/bob/local/cudnn/include:$CMAKE_INCLUDE_PATH
-$ export CMAKE_LIBRARY_PATH=/home/bob/local/cudnn/lib64:$CMAKE_LIBRARY_PATH
-$ export LD_LIBRARY_PATH=/home/bob/local/cudnn/lib64:$LD_LIBRARY_PATH
-</pre></div>
-</div>
-<p>The cmake options for CUDA and cuDNN should be switched on</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># Dependent libs are install already
-$ cmake -DUSE_CUDA=ON ..
-$ make
-</pre></div>
-</div>
-</div>
-<div class="section" id="use-opencl">
-<span id="use-opencl"></span><h4>USE_OPENCL<a class="headerlink" href="#use-opencl" title="Permalink to this headline">¶</a></h4>
-<p>SINGA uses opencl-headers and viennacl (version 1.7.1 or newer) for OpenCL support, which
-can be installed using via</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># On Ubuntu 16.04
-$ sudo apt-get install opencl-headers, libviennacl-dev
-# On Fedora
-$ sudo yum install opencl-headers, viennacl
-</pre></div>
-</div>
-<p>Additionally, you will need the OpenCL Installable Client Driver (ICD) for the platforms that you want to run OpenCL on.</p>
-<ul class="simple">
-<li>For AMD and nVidia GPUs, the driver package should also install the correct OpenCL ICD.</li>
-<li>For Intel CPUs and/or GPUs, get the driver from the <a class="reference external" href="https://software.intel.com/en-us/articles/opencl-drivers">Intel website.</a> Note that the drivers provided on that website only supports recent CPUs and Iris GPUs.</li>
-<li>For older Intel CPUs, you can use the <code class="docutils literal notranslate"><span class="pre">beignet-opencl-icd</span></code> package.</li>
-</ul>
-<p>Note that running OpenCL on CPUs is not currently recommended because it is slow.
-Memory transfer is on the order of whole seconds (1000’s of ms on CPUs as compared to 1’s of ms on GPUs).</p>
-<p>More information on setting up a working OpenCL environment may be found <a class="reference external" href="https://wiki.tiker.net/OpenCLHowTo">here</a>.</p>
-<p>If the package version of ViennaCL is not at least 1.7.1, you will need to build it from source:</p>
-<p>Clone <a class="reference external" href="https://github.com/viennacl/viennacl-dev">the repository from here</a>, checkout the <code class="docutils literal notranslate"><span class="pre">release-1.7.1</span></code> tag and build it.
-Remember to add its directory to <code class="docutils literal notranslate"><span class="pre">PATH</span></code> and the built libraries to <code class="docutils literal notranslate"><span class="pre">LD_LIBRARY_PATH</span></code>.</p>
-<p>To build SINGA with OpenCL support (tested on SINGA 1.1):</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cmake -DUSE_OPENCL=ON ..
-$ make
-</pre></div>
-</div>
-</div>
-<div class="section" id="use-mkldnn">
-<span id="use-mkldnn"></span><h4>USE_MKLDNN<a class="headerlink" href="#use-mkldnn" title="Permalink to this headline">¶</a></h4>
-<p>User can enable MKL-DNN to enhance the performance of CPU computation.</p>
-<p>Installation guide of MKL-DNN could be found <a class="reference external" href="https://github.com/intel/mkl-dnn#installation">here</a>.</p>
-<p>SINGA has been tested over MKL-DNN v0.17.2.</p>
-<p>To build SINGA with MKL-DNN support:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span># Dependent libs are installed already
-$ cmake -DUSE_MKLDNN=ON ..
-$ make
-</pre></div>
-</div>
-</div>
-<div class="section" id="package">
-<span id="package"></span><h4>PACKAGE<a class="headerlink" href="#package" title="Permalink to this headline">¶</a></h4>
-<p>This setting is used to build the Debian package. Set PACKAGE=ON and build the package with make command like this:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cmake -DPACKAGE=ON
-$ make package
+<p>If there is no error message from</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">c</span> <span class="s2">"from singa import tensor"</span>
</pre></div>
</div>
+<p>then SINGA is installed successfully.</p>
</div>
-</div>
-</div>
-<div class="section" id="faq">
-<span id="faq"></span><h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h2>
-<ul>
-<li><p class="first">Q: Error from ‘import singa’ using PySINGA installed from wheel.</p>
-<p>A: Please check the detailed error from <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-c</span> <span class="pre">"from</span> <span class="pre">singa</span> <span class="pre">import</span> <span class="pre">_singa_wrap"</span></code>. Sometimes it is
-caused by the dependent libraries, e.g. there are multiple versions of protobuf, missing of cudnn, numpy version mismatch. Following
-steps show the solutions for different cases</p>
+<div class="section" id="using-docker">
+<h2>Using Docker<a class="headerlink" href="#using-docker" title="Permalink to this headline">¶</a></h2>
+<p>Install Docker on your local host machine following the <a class="reference external" href="https://docs.docker.com/install/">instructions</a>. Add your user into the <a class="reference external" href="https://docs.docker.com/install/linux/linux-postinstall/">docker group</a> to run docker commands without <code class="docutils literal notranslate"><span class="pre">sudo</span></code>.</p>
<ol>
-<li><p class="first">Check the cudnn and cuda and gcc versions, cudnn5 and cuda7.5 and gcc4.8/4.9 are preferred. if gcc is 5.0, then downgrade it.
-If cudnn is missing or not match with the wheel version, you can download the correct version of cudnn into ~/local/cudnn/ and</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/cudnn/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
+<li><p>CPU-only.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">it</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="n">nightly</span><span class="o">-</span><span class="n">cpu</span> <span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">bash</span>
</pre></div>
</div>
</li>
-<li><p class="first">If it is the problem related to protobuf, then download the newest whl files which have <a class="reference external" href="https://issues.apache.org/jira/browse/SINGA-255">compiled protobuf and openblas into the whl</a> file of PySINGA.
-Or you can install protobuf from source into a local folder, say ~/local/;
-Decompress the tar file, and then</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ ./configure --prefix=/home/<yourname>local
- $ make && make install
- $ echo "export LD_LIBRARY_PATH=/home/<yourname>/local/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
- $ source ~/.bashrc
+<li><p>With GPU enabled. Install <a class="reference external" href="https://github.com/NVIDIA/nvidia-docker">Nvidia-Docker</a> after install Docker.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">nvidia</span><span class="o">-</span><span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">it</span> <span class="n">apache</span><span class="o">/</span><span class="n">singa</span><span class="p">:</span><span class="n">nightly</span><span class="o">-</span><span class="n">gpu</span> <span class="o">/</span><span class="nb">bin</span><span clas [...]
</pre></div>
</div>
</li>
-<li><p class="first">If it cannot find other libs including python, then create virtual env using pip or conda;</p>
-</li>
-<li><p class="first">If it is not caused by the above reasons, go to the folder of <code class="docutils literal notranslate"><span class="pre">_singa_wrap.so</span></code>,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ python
- >> import importlib
- >> importlib.import_module('_singa_wrap')
+<li><p>For the complete list of SINGA Docker images (tags), visit the <a class="reference external" href="https://hub.docker.com/r/apache/singa/">docker hub site</a>. For each docker image, the tag is named as</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">version</span><span class="o">-</span><span class="p">(</span><span class="n">cpu</span><span class="o">|</span><span class="n">gpu</span><span class="p">)[</span><span class="o">-</span><span class="n">devel</span><span class="p">]</span>
</pre></div>
</div>
+<p>| Tag | Description| Example value|
+| — | — | — |
+| <code class="docutils literal notranslate"><span class="pre">version</span></code>| SINGA version | ‘nightly’, ‘2.0.0’, ‘1.2.0’|
+| <code class="docutils literal notranslate"><span class="pre">cpu</span></code> | the image cannot run on GPUs | ‘cpu’ |
+| <code class="docutils literal notranslate"><span class="pre">gpu</span></code> | the image can run on Nvidia GPUs| ‘gpu’, or ‘cudax.x-cudnnx.x’ e.g., ‘cuda10.0-cudnn7.3’|
+| <code class="docutils literal notranslate"><span class="pre">devel</span></code>| indicator for development|if absent SINGA Python package is installed for runtime only; if present, the building environment is also created, you can recompile SINGA from source at ‘/root/incubator-singa’
+|</p>
</li>
</ol>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">Check</span> <span class="n">the</span> <span class="n">error</span> <span class="n">message</span><span class="o">.</span> <span class="n">For</span> <span class="n">example</span><span class="p">,</span> <span class="k">if</span> <span class="n">the</span> <span class="n">numpy</span> <span class="n">version</span> <span class="n">mismatches</span><span class="p">,</span> <span class="n" [...]
-
- <span class="ne">RuntimeError</span><span class="p">:</span> <span class="n">module</span> <span class="n">compiled</span> <span class="n">against</span> <span class="n">API</span> <span class="n">version</span> <span class="mh">0xb</span> <span class="n">but</span> <span class="n">this</span> <span class="n">version</span> <span class="n">of</span> <span class="n">numpy</span> <span class="ow">is</span> <span class="mh">0xa</span>
-
-<span class="n">Then</span> <span class="n">you</span> <span class="n">need</span> <span class="n">to</span> <span class="n">upgrade</span> <span class="n">the</span> <span class="n">numpy</span><span class="o">.</span>
-</pre></div>
</div>
-</li>
-</ul>
-<ul>
-<li><p class="first">Q: Error from running <code class="docutils literal notranslate"><span class="pre">cmake</span> <span class="pre">..</span></code>, which cannot find the dependent libraries.</p>
-<p>A: If you haven’t installed the libraries, install them. If you installed
-the libraries in a folder that is outside of the system folder, e.g. /usr/local,
-you need to export the following variables</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export CMAKE_INCLUDE_PATH=<path to your header file folder>
- $ export CMAKE_LIBRARY_PATH=<path to your lib file folder>
-</pre></div>
-</div>
-</li>
-</ul>
-<ul>
-<li><p class="first">Q: Error from <code class="docutils literal notranslate"><span class="pre">make</span></code>, e.g. the linking phase</p>
-<p>A: If your libraries are in other folders than system default paths, you need
-to export the following varaibles</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export LIBRARY_PATH=<path to your lib file folder>
- $ export LD_LIBRARY_PATH=<path to your lib file folder>
-</pre></div>
+<div class="section" id="from-source">
+<h2>From source<a class="headerlink" href="#from-source" title="Permalink to this headline">¶</a></h2>
+<p>You can <a class="reference internal" href="../develop/build.html"><span class="doc">build and install SINGA</span></a> from the source code using native building tools or conda-build, on local host OS or in a Docker container.</p>
</div>
-</li>
-</ul>
+<div class="section" id="faq">
+<h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this headline">¶</a></h2>
<ul>
-<li><p class="first">Q: Error from header files, e.g. ‘cblas.h no such file or directory exists’</p>
-<p>A: You need to include the folder of the cblas.h into CPLUS_INCLUDE_PATH,
-e.g.,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export CPLUS_INCLUDE_PATH=/opt/OpenBLAS/include:$CPLUS_INCLUDE_PATH
+<li><p>Q: Error from <code class="docutils literal notranslate"><span class="pre">from</span> <span class="pre">singa</span> <span class="pre">import</span> <span class="pre">tensor</span></code></p>
+<p>A: Check the detailed error from</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">python</span> <span class="o">-</span><span class="n">c</span> <span class="s2">"from singa import _singa_wrap"</span>
+<span class="c1"># go to the folder of _singa_wrap.so</span>
+<span class="n">ldd</span> <span class="n">path</span> <span class="n">to</span> <span class="n">_singa_wrap</span><span class="o">.</span><span class="n">so</span>
+<span class="n">python</span>
+<span class="o">>></span> <span class="kn">import</span> <span class="nn">importlib</span>
+<span class="o">>></span> <span class="n">importlib</span><span class="o">.</span><span class="n">import_module</span><span class="p">(</span><span class="s1">'_singa_wrap'</span><span class="p">)</span>
</pre></div>
</div>
-</li>
-<li><p class="first">Q:While compiling SINGA, I get error <code class="docutils literal notranslate"><span class="pre">SSE2</span> <span class="pre">instruction</span> <span class="pre">set</span> <span class="pre">not</span> <span class="pre">enabled</span></code></p>
-<p>A:You can try following command:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ make CFLAGS='-msse2' CXXFLAGS='-msse2'
+<p>The folder of <code class="docutils literal notranslate"><span class="pre">_singa_wrap.so</span></code> is like ‘ ~/miniconda3/lib/python3.7/site-packages/singa’.
+Normally, the error is caused by the mismatch or missing of dependent libraries, e.g. cuDNN or protobuf. The solution is to create a new virtual environment and install SINGA in that environment, e.g.,</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="n">conda</span> <span class="n">create</span> <span class="o">-</span><span class="n">n</span> <span class="n">singa</span>
+ <span class="n">conda</span> <span class="n">activate</span> <span class="n">singa</span>
+ <span class="n">conda</span> <span class="n">install</span> <span class="o">-</span><span class="n">c</span> <span class="n">nusdbsystem</span> <span class="o">-</span><span class="n">c</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span> <span class="n">singa</span><span class="o">-</span><span class="n">cpu</span>
</pre></div>
</div>
</li>
-<li><p class="first">Q:I get <code class="docutils literal notranslate"><span class="pre">ImportError:</span> <span class="pre">cannot</span> <span class="pre">import</span> <span class="pre">name</span> <span class="pre">enum_type_wrapper</span></code> from google.protobuf.internal when I try to import .py files.</p>
-<p>A: You need to install the python binding of protobuf, which could be installed via</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ sudo apt-get install protobuf
-</pre></div>
-</div>
-<p>or from source</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ cd /PROTOBUF/SOURCE/FOLDER
- $ cd python
- $ python setup.py build
- $ python setup.py install
-</pre></div>
-</div>
+<li><p>Q: When using virtual environment, every time I install SINGA, numpy would be reinstalled. However, the numpy is not used when I run <code class="docutils literal notranslate"><span class="pre">import</span> <span class="pre">numpy</span></code></p>
+<p>A: It could be caused by the <code class="docutils literal notranslate"><span class="pre">PYTHONPATH</span></code> environment variable which should be set to empty when you are using virtual environment to avoid the conflicts with the path of the virtual environment.</p>
</li>
-<li><p class="first">Q: When I build OpenBLAS from source, I am told that I need a Fortran compiler.</p>
-<p>A: You can compile OpenBLAS by</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ make ONLY_CBLAS=1
-</pre></div>
-</div>
-<p>or install it using</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ sudo apt-get install libopenblas-dev
-</pre></div>
-</div>
-</li>
-<li><p class="first">Q: When I build protocol buffer, it reports that GLIBC++_3.4.20 not found in /usr/lib64/libstdc++.so.6.</p>
-<p>A: This means the linker found libstdc++.so.6 but that library
-belongs to an older version of GCC than was used to compile and link the
-program. The program depends on code defined in
-the newer libstdc++ that belongs to the newer version of GCC, so the linker
-must be told how to find the newer libstdc++ shared library.
-The simplest way to fix this is to find the correct libstdc++ and export it to
-LD_LIBRARY_PATH. For example, if GLIBC++_3.4.20 is listed in the output of the
-following command,</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ strings /usr/local/lib64/libstdc++.so.6|grep GLIBC++
-</pre></div>
-</div>
-<p>then you just set your environment variable as</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
-</pre></div>
-</div>
-</li>
-<li><p class="first">Q: When I build glog, it reports that “src/logging_unittest.cc:83:20: error: ‘gflags’ is not a namespace-name”</p>
-<p>A: It maybe that you have installed gflags with a different namespace such as “google”. so glog can’t find ‘gflags’ namespace.
-Because it is not necessary to have gflags to build glog. So you can change the configure.ac file to ignore gflags.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> <span class="mf">1.</span> <span class="n">cd</span> <span class="n">to</span> <span class="n">glog</span> <span class="n">src</span> <span class="n">directory</span>
- <span class="mf">2.</span> <span class="n">change</span> <span class="n">line</span> <span class="mi">125</span> <span class="n">of</span> <span class="n">configure</span><span class="o">.</span><span class="n">ac</span> <span class="n">to</span> <span class="s2">"AC_CHECK_LIB(gflags, main, ac_cv_have_libgflags=0, ac_cv_have_libgflags=0)"</span>
- <span class="mf">3.</span> <span class="n">autoreconf</span>
-</pre></div>
-</div>
-<p>After this, you can build glog again.</p>
-</li>
-<li><p class="first">Q: When using virtual environment, everytime I run pip install, it would reinstall numpy. However, the numpy would not be used when I <code class="docutils literal notranslate"><span class="pre">import</span> <span class="pre">numpy</span></code></p>
-<p>A: It could be caused by the <code class="docutils literal notranslate"><span class="pre">PYTHONPATH</span></code> which should be set to empty when you are using virtual environment to avoid the conflicts with the path of
-the virtual environment.</p>
-</li>
-<li><p class="first">Q: When compiling PySINGA from source, there is a compilation error due to the missing of <numpy/objectarray.h></p>
-<p>A: Please install numpy and export the path of numpy header files as</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ export CPLUS_INCLUDE_PATH=`python -c "import numpy; print numpy.get_include()"`:$CPLUS_INCLUDE_PATH
-</pre></div>
-</div>
-</li>
-<li><p class="first">Q: When I run PySINGA in Mac OS X, I got the error “Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6”</p>
-<p>A: This error happens typically when you have multiple version of Python on your system and you installed SINGA via pip (this problem is resolved for installation via conda),
-e.g, the one comes with the OS and the one installed by Homebrew. The Python linked by PySINGA must be the same as the Python interpreter.
-You can check your interpreter by <code class="docutils literal notranslate"><span class="pre">which</span> <span class="pre">python</span></code> and check the Python linked by PySINGA via <code class="docutils literal notranslate"><span class="pre">otool</span> <span class="pre">-L</span> <span class="pre"><path</span> <span class="pre">to</span> <span class="pre">_singa_wrap.so></span></code>.
-To fix this error, compile SINGA with the correct version of Python.
-In particular, if you build PySINGA from source, you need to specify the paths when invoking <a class="reference external" href="http://stackoverflow.com/questions/15291500/i-have-2-versions-of-python-installed-but-cmake-is-using-older-version-how-do">cmake</a></p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span> $ cmake -DPYTHON_LIBRARY=`python-config --prefix`/lib/libpython2.7.dylib -DPYTHON_INCLUDE_DIR=`python-config --prefix`/include/python2.7/ ..
-</pre></div>
-</div>
-<p>If installed PySINGA from binary packages, e.g. debian or wheel, then you need to change the python interpreter, e.g., reset the $PATH to put the correct path of Python at the front position.</p>
+<li><p>Q: When I run SINGA in Mac OS X, I got the error “Fatal Python error: PyThreadState_Get: no current thread Abort trap: 6”</p>
+<p>A: This error happens typically when you have multiple versions of Python in your system, e.g, the one comes with the OS and the one installed by Homebrew. The Python linked by SINGA must be the same as the Python interpreter. You can check your interpreter by <code class="docutils literal notranslate"><span class="pre">which</span> <span class="pre">python</span></code> and check the Python linked by SINGA via <code class="docutils literal notranslate"><span class="pre">otool</span> [...]
+This problem should be resolved if SINGA is installation via conda.</p>
</li>
</ul>
</div>
@@ -609,7 +331,7 @@ In particular, if you build PySINGA from source, you need to specify the paths w
<a href="software_stack.html" class="btn btn-neutral float-right" title="Software Stack" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
- <a href="index.html" class="btn btn-neutral" title="Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+ <a href="index.html" class="btn btn-neutral float-left" title="Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
@@ -618,7 +340,7 @@ In particular, if you build PySINGA from source, you need to specify the paths w
<div role="contentinfo">
<p>
- © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners..
+ © Copyright 2019 The Apache Software Foundation. All rights reserved. Apache SINGA, Apache, the Apache feather logo, and the Apache SINGA project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</p>
</div>
@@ -635,36 +357,17 @@ In particular, if you build PySINGA from source, you need to specify the paths w
-
-
- <script type="text/javascript">
- var DOCUMENTATION_OPTIONS = {
- URL_ROOT:'../',
- VERSION:'1.1.0',
- LANGUAGE:'None',
- COLLAPSE_INDEX:false,
- FILE_SUFFIX:'.html',
- HAS_SOURCE: true,
- SOURCELINK_SUFFIX: '.txt'
- };
- </script>
- <script type="text/javascript" src="../_static/jquery.js"></script>
- <script type="text/javascript" src="../_static/underscore.js"></script>
- <script type="text/javascript" src="../_static/doctools.js"></script>
-
-
-
-
-
- <script type="text/javascript" src="../_static/js/theme.js"></script>
-
-
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
+
+
+
+
+
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> incubator-singa </span>
@@ -674,8 +377,8 @@ In particular, if you build PySINGA from source, you need to specify the paths w
<div class="rst-other-versions">
<dl>
<dt>Languages</dt>
- <dd><a href="../../en/index.html">English</a></dd>
- <dd><a href="../../zh/index.html">中文</a></dd>
+ <dd><a href="../.././index.html">English</a></dd>
+ <dd><a href="../.././zh/index.html">中文</a></dd>
</dl>
<dl>
<dt>Versions</dt>
@@ -684,8 +387,14 @@ In particular, if you build PySINGA from source, you need to specify the paths w
</dl>
</div>
- <a href="http://incubator.apache.org/"> <img src= "../_static/apache.png" style="background-color:white;"> </a>
-
+ <a href="http://incubator.apache.org/"> <img src= "../../_static/apache.png" style="background-color:white;"> </a>
+
+ <a href="http://www.apache.org" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Foundation</a>
+ <a href="http://www.apache.org/events/current-event" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Events</a>
+ <a href="http://www.apache.org/foundation/thanks.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Thanks</a>
+ <a href="http://www.apache.org/foundation/sponsorship.html" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">Sponsorship</a>
+ <a href="http://www.apache.org/licenses/" style="color:lightblue;padding: 5px; font-size: 10px; text-align: center; text-decoration: none; margin: 5px 2px;">License</a>
+ <br>
<a href="https://github.com/apache/incubator-singa" class="fa fa-github" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://aws.amazon.com/marketplace/seller-profile?id=5bcac385-12c4-4802-aec7-351e09b77b4c" class="fab fa-aws" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
<a href="https://hub.docker.com/r/apache/singa/" class="fab fa-docker" style="padding: 10px; font-size: 20px; width: 30px; text-align: center; text-decoration: none; margin: 5px 2px;"></a>
diff --git a/en/docs/layer.html b/en/docs/layer.html
index 0a3615d..03dfb43 100644
--- a/en/docs/layer.html
+++ b/en/docs/layer.html
@@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Layer — incubator-singa 1.1.0 documentation</title>
+ <title>Layer — incubator-singa 2.0.0 documentation</title>
@@ -18,22 +18,26 @@
-
-
+ <script type="text/javascript" src="../../_static/js/modernizr.min.js"></script>
+ <script type="text/javascript" id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/language_data.js"></script>
+
+ <script type="text/javascript" src="../../_static/js/theme.js"></script>
-
+
- <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
- <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="FeedForward Net" href="net.html" />
- <link rel="prev" title="Tensor" href="tensor.html" />
- <link href="../_static/style.css" rel="stylesheet" type="text/css">
- <!--link href="../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
+ <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="index" title="Index" href="../../genindex.html" />
+ <link rel="search" title="Search" href="../../search.html" />
+ <link href="../../_static/style.css" rel="stylesheet" type="text/css">
+ <!--link href="../../_static/fontawesome-all.min.css" rel="stylesheet" type="text/css"-->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp" crossorigin="anonymous">
<style>
.fa:hover {
@@ -44,21 +48,16 @@
}
</style>
-
-
- <script src="../_static/js/modernizr.min.js"></script>
-
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
-
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
- <div class="wy-side-nav-search">
+ <div class="wy-side-nav-search" >
@@ -67,7 +66,7 @@
- <img src="../_static/singa.png" class="logo" alt="Logo"/>
+ <img src="../../_static/singa.png" class="logo" alt="Logo"/>
</a>
@@ -82,7 +81,7 @@
<div role="search">
- <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+ <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
@@ -99,39 +98,13 @@
- <ul class="current">
-<li class="toctree-l1 current"><a class="reference internal" href="index.html">Documentation</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
-<li class="toctree-l2"><a class="reference internal" href="software_stack.html">Software Stack</a></li>
-<li class="toctree-l2"><a class="reference internal" href="device.html">Device</a></li>
-<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensor</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Layer</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#module-singa.layer">Python API</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#cpp-api">CPP API</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="net.html">FeedForward Net</a></li>
-<li class="toctree-l2"><a class="reference internal" href="initializer.html">Initializer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loss.html">Loss</a></li>
-<li class="toctree-l2"><a class="reference internal" href="metric.html">Metric</a></li>
-<li class="toctree-l2"><a class="reference internal" href="optimizer.html">Optimizer</a></li>
-<li class="toctree-l2"><a class="reference internal" href="autograd.html">Autograd in Singa</a></li>
-<li class="toctree-l2"><a class="reference internal" href="data.html">Data</a></li>
-<li class="toctree-l2"><a class="reference internal" href="image_tool.html">Image Tool</a></li>
-<li class="toctree-l2"><a class="reference internal" href="snapshot.html">Snapshot</a></li>
-<li class="toctree-l2"><a class="reference internal" href="converter.html">Caffe Converter</a></li>
-<li class="toctree-l2"><a class="reference internal" href="utils.html">Utils</a></li>
-<li class="toctree-l2"><a class="reference internal" href="model_zoo/index.html">Model Zoo</a></li>
-<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
-</ul>
-</li>
+ <ul>
+<li class="toctree-l1"><a class="reference internal" href="index.html">Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../downloads.html">Download SINGA</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
</ul>
<p class="caption"><span class="caption-text">Development</span></p>
<ul>
-<li class="toctree-l1"><a class="reference internal" href="../develop/schedule.html">Development Schedule</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html">How to Contribute to SINGA</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../develop/how-contribute.html#how-to-become-a-singa-committer">How to become a SINGA committer</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-code.html">How to Contribute Code</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/contribute-docs.html">How to Contribute to Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../develop/how-to-release.html">How to prepare a release</a></li>
@@ -187,8 +160,6 @@
<li><a href="../index.html">Docs</a> »</li>
- <li><a href="index.html">Documentation</a> »</li>
-
<li>Layer</li>
@@ -208,1116 +179,8 @@
<div class="section" id="layer">
<h1>Layer<a class="headerlink" href="#layer" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="module-singa.layer">
-<span id="python-api"></span><h2>Python API<a class="headerlink" href="#module-singa.layer" title="Permalink to this headline">¶</a></h2>
-<p>Python layers wrap the C++ layers to provide simpler construction APIs.</p>
-<p>Example usages:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">layer</span>
-<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">tensor</span>
-<span class="kn">from</span> <span class="nn">singa</span> <span class="k">import</span> <span class="n">device</span>
-
-<span class="n">layer</span><span class="o">.</span><span class="n">engine</span> <span class="o">=</span> <span class="s1">'cudnn'</span> <span class="c1"># to use cudnn layers</span>
-<span class="n">dev</span> <span class="o">=</span> <span class="n">device</span><span class="o">.</span><span class="n">create_cuda_gpu</span><span class="p">()</span>
-
-<span class="c1"># create a convolution layer</span>
-<span class="n">conv</span> <span class="o">=</span> <span class="n">layer</span><span class="o">.</span><span class="n">Conv2D</span><span class="p">(</span><span class="s1">'conv'</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">pad</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">inpu [...]
-
-<span class="c1"># init param values</span>
-<span class="n">w</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="n">conv</span><span class="o">.</span><span class="n">param_values</span><span class="p">()</span>
-<span class="n">w</span><span class="o">.</span><span class="n">guassian</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mf">0.01</span><span class="p">)</span>
-<span class="n">b</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
-<span class="n">conv</span><span class="o">.</span><span class="n">to_device</span><span class="p">(</span><span class="n">dev</span><span class="p">)</span> <span class="c1"># move the layer data onto a CudaGPU device</span>
-
-<span class="n">x</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">3</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">32</span><span class="p">),</span> <span class="n">dev</span><span class="p">)</span>
-<span class="n">x</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
-<span class="n">y</span> <span class="o">=</span> <span class="n">conv</span><span class="o">.</span><span class="n">foward</span><span class="p">(</span><span class="kc">True</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
-
-<span class="n">dy</span> <span class="o">=</span> <span class="n">tensor</span><span class="o">.</span><span class="n">Tensor</span><span class="p">()</span>
-<span class="n">dy</span><span class="o">.</span><span class="n">reset_like</span><span class="p">(</span><span class="n">y</span><span class="p">)</span>
-<span class="n">dy</span><span class="o">.</span><span class="n">set_value</span><span class="p">(</span><span class="mf">0.1</span><span class="p">)</span>
-<span class="c1"># dp is a list of tensors for parameter gradients</span>
-<span class="n">dx</span><span class="p">,</span> <span class="n">dp</span> <span class="o">=</span> <span class="n">conv</span><span class="o">.</span><span class="n">backward</span><span class="p">(</span><span class="n">kTrain</span><span class="p">,</span> <span class="n">dy</span><span class="p">)</span>
-</pre></div>
-</div>
-<dl class="data">
-<dt id="singa.layer.engine">
-<code class="descclassname">singa.layer.</code><code class="descname">engine</code><em class="property"> = 'cudnn'</em><a class="headerlink" href="#singa.layer.engine" title="Permalink to this definition">¶</a></dt>
-<dd><p>engine is the prefix of layer identifier.</p>
-<p>The value could be one of [<strong>‘cudnn’, ‘singacpp’, ‘singacuda’, ‘singacl’</strong>], for
-layers implemented using the cudnn library, Cpp, Cuda and OpenCL respectively.
-For example, CudnnConvolution layer is identified by ‘cudnn_convolution’;
-‘singacpp_convolution’ is for Convolution layer;
-Some layers’ implementation use only Tensor functions, thererfore they are
-transparent to the underlying devices. For threse layers, they would have
-multiple identifiers, e.g., singacpp_dropout, singacuda_dropout and
-singacl_dropout are all for the Dropout layer. In addition, it has an extra
-identifier ‘singa’, i.e. ‘singa_dropout’ also stands for the Dropout layer.</p>
-<p>engine is case insensitive. Each python layer would create the correct specific
-layer using the engine attribute.</p>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Layer">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Layer</code><span class="sig-paren">(</span><em>name</em>, <em>conf=None</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
-<p>Base Python layer class.</p>
-<dl class="docutils">
-<dt>Typically, the life cycle of a layer instance includes:</dt>
-<dd><ol class="first last arabic simple">
-<li>construct layer without input_sample_shapes, goto 2;
-construct layer with input_sample_shapes, goto 3;</li>
-<li>call setup to create the parameters and setup other meta fields</li>
-<li>call forward or access layer members</li>
-<li>call backward and get parameters for update</li>
-</ol>
-</dd>
-</dl>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>name</strong> (<em>str</em>) – layer name</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="singa.layer.Layer.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>in_shapes</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Call the C++ setup function to create params and set some meta data.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>in_shapes</strong> – if the layer accepts a single input Tensor, in_shapes is
-a single tuple specifying the inpute Tensor shape; if the layer
-accepts multiple input Tensor (e.g., the concatenation layer),
-in_shapes is a tuple of tuples, each for one input Tensor</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.caffe_layer">
-<code class="descname">caffe_layer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.caffe_layer" title="Permalink to this definition">¶</a></dt>
-<dd><p>Create a singa layer based on caffe layer configuration.</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.param_names">
-<code class="descname">param_names</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.param_names" title="Permalink to this definition">¶</a></dt>
-<dd><table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a list of strings, one for the name of one parameter Tensor</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.param_values">
-<code class="descname">param_values</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.param_values" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return param value tensors.</p>
-<p>Parameter tensors are not stored as layer members because cpp Tensor
-could be moved onto diff devices due to the change of layer device,
-which would result in inconsistency.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a list of tensors, one for each paramter</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Forward propagate through this layer.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>flag</strong> – True (kTrain) for training (kEval); False for evaluating;
-other values for furture use.</li>
-<li><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a><em> or </em><em>list<Tensor></em>) – an input tensor if the layer is
-connected from a single layer; a list of tensors if the layer
-is connected from multiple layers.</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">a tensor if the layer is connected to a single layer; a list of
-tensors if the layer is connected to multiple layers;</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>dy</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Backward propagate gradients through this layer.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>flag</strong> (<em>int</em>) – for future use.</li>
-<li><strong>dy</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a><em> or </em><em>list<Tensor></em>) – the gradient tensor(s) y w.r.t the
-objective loss</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><dx, <dp1, dp2..>>, dx is a (set of) tensor(s) for the gradient of x
-, dpi is the gradient of the i-th parameter</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.to_device">
-<code class="descname">to_device</code><span class="sig-paren">(</span><em>device</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.to_device" title="Permalink to this definition">¶</a></dt>
-<dd><p>Move layer state tensors onto the given device.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>device</strong> – swig converted device, created using singa.device</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Layer.as_type">
-<code class="descname">as_type</code><span class="sig-paren">(</span><em>dtype</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Layer.as_type" title="Permalink to this definition">¶</a></dt>
-<dd></dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Dummy">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Dummy</code><span class="sig-paren">(</span><em>name</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dummy" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>A dummy layer that does nothing but just forwards/backwards the data
-(the input/output is a single tensor).</p>
-<dl class="method">
-<dt id="singa.layer.Dummy.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dummy.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Dummy.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>input_sample_shape</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dummy.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Call the C++ setup function to create params and set some meta data.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>in_shapes</strong> – if the layer accepts a single input Tensor, in_shapes is
-a single tuple specifying the inpute Tensor shape; if the layer
-accepts multiple input Tensor (e.g., the concatenation layer),
-in_shapes is a tuple of tuples, each for one input Tensor</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Dummy.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dummy.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return the input x</p>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Dummy.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>falg</em>, <em>dy</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dummy.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Return dy, []</p>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Conv2D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Conv2D</code><span class="sig-paren">(</span><em>name</em>, <em>nb_kernels</em>, <em>kernel=3</em>, <em>stride=1</em>, <em>border_mode='same'</em>, <em>cudnn_prefer='fastest'</em>, <em>workspace_byte_limit=1024</em>, <em>data_format='NCHW'</em>, <em>use_bias=True</em>, <em>W_specs=None</em>, <em>b_specs=None</em>, <em>pad=None</em>, <em>input_sample_shape=None</em><span class="sig-paren" [...]
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Construct a layer for 2D convolution.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>nb_kernels</strong> (<em>int</em>) – num of the channels (kernels) of the input Tensor</li>
-<li><strong>kernel</strong> – an integer or a pair of integers for kernel height and width</li>
-<li><strong>stride</strong> – an integer or a pair of integers for stride height and width</li>
-<li><strong>border_mode</strong> (<em>string</em>) – padding mode, case in-sensitive,
-‘valid’ -> padding is 0 for height and width
-‘same’ -> padding is half of the kernel (floor), the kernel must be
-odd number.</li>
-<li><strong>cudnn_prefer</strong> (<em>string</em>) – the preferred algorithm for cudnn convolution
-which could be ‘fastest’, ‘autotune’, ‘limited_workspace’ and
-‘no_workspace’</li>
-<li><strong>workspace_byte_limit</strong> (<em>int</em>) – max workspace size in MB (default is 512MB)</li>
-<li><strong>data_format</strong> (<em>string</em>) – either ‘NCHW’ or ‘NHWC’</li>
-<li><strong>use_bias</strong> (<em>bool</em>) – True or False</li>
-<li><strong>pad</strong> – an integer or a pair of integers for padding height and width</li>
-<li><strong>W_specs</strong> (<em>dict</em>) – used to specify the weight matrix specs, fields
-include,
-‘name’ for parameter name
-‘lr_mult’ for learning rate multiplier
-‘decay_mult’ for weight decay multiplier
-‘init’ for init method, which could be ‘gaussian’, ‘uniform’,
-‘xavier’ and ‘’
-‘std’, ‘mean’, ‘high’, ‘low’ for corresponding init methods
-TODO(wangwei) ‘clamp’ for gradient constraint, value is scalar
-‘regularizer’ for regularization, currently support ‘l2’</li>
-<li><strong>b_specs</strong> (<em>dict</em>) – hyper-parameters for bias vector, similar as W_specs</li>
-<li><strong>name</strong> (<em>string</em>) – layer name.</li>
-<li><strong>input_sample_shape</strong> – 3d tuple for the shape of the input Tensor
-without the batchsize, e.g., (channel, height, width) or
-(height, width, channel)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="singa.layer.Conv2D.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>in_shape</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Conv2D.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Set up the kernel, stride and padding; then call the C++ setup
-function to create params and set some meta data.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>is a tuple of int for the input sample shape</strong> (<em>in_shapes</em>) – </td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Conv1D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Conv1D</code><span class="sig-paren">(</span><em>name</em>, <em>nb_kernels</em>, <em>kernel=3</em>, <em>stride=1</em>, <em>border_mode='same'</em>, <em>cudnn_prefer='fastest'</em>, <em>workspace_byte_limit=1024</em>, <em>use_bias=True</em>, <em>W_specs={'init': 'Xavier'}</em>, <em>b_specs={'init': 'Constant'</em>, <em>'value': 0}</em>, <em>pad=None</em>, <em>input_sample_shape=None</em>< [...]
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Conv2D" title="singa.layer.Conv2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Conv2D</span></code></a></p>
-<p>Construct a layer for 1D convolution.</p>
-<p>Most of the args are the same as those for Conv2D except the kernel,
-stride, pad, which is a scalar instead of a tuple.
-input_sample_shape is a tuple with a single value for the input feature
-length</p>
-<dl class="method">
-<dt id="singa.layer.Conv1D.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Conv1D.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Pooling2D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Pooling2D</code><span class="sig-paren">(</span><em>name</em>, <em>mode</em>, <em>kernel=3</em>, <em>stride=2</em>, <em>border_mode='same'</em>, <em>pad=None</em>, <em>data_format='NCHW'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Pooling2D" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>2D pooling layer providing max/avg pooling.</p>
-<p>All args are the same as those for Conv2D, except the following one</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>mode</strong> – pooling type, model_pb2.PoolingConf.MAX or
-model_pb2.PoolingConf.AVE</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="singa.layer.Pooling2D.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>in_shape</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Pooling2D.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Set up the kernel, stride and padding; then call the C++ setup
-function to create params and set some meta data.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>is a tuple of int for the input sample shape</strong> (<em>in_shapes</em>) – </td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.MaxPooling2D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">MaxPooling2D</code><span class="sig-paren">(</span><em>name</em>, <em>kernel=3</em>, <em>stride=2</em>, <em>border_mode='same'</em>, <em>pad=None</em>, <em>data_format='NCHW'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.MaxPooling2D" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Pooling2D" title="singa.layer.Pooling2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Pooling2D</span></code></a></p>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.AvgPooling2D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">AvgPooling2D</code><span class="sig-paren">(</span><em>name</em>, <em>kernel=3</em>, <em>stride=2</em>, <em>border_mode='same'</em>, <em>pad=None</em>, <em>data_format='NCHW'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.AvgPooling2D" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Pooling2D" title="singa.layer.Pooling2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Pooling2D</span></code></a></p>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.MaxPooling1D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">MaxPooling1D</code><span class="sig-paren">(</span><em>name</em>, <em>kernel=3</em>, <em>stride=2</em>, <em>border_mode='same'</em>, <em>pad=None</em>, <em>data_format='NCHW'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.MaxPooling1D" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.MaxPooling2D" title="singa.layer.MaxPooling2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.MaxPooling2D</span></code></a></p>
-<dl class="method">
-<dt id="singa.layer.MaxPooling1D.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.MaxPooling1D.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.AvgPooling1D">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">AvgPooling1D</code><span class="sig-paren">(</span><em>name</em>, <em>kernel=3</em>, <em>stride=2</em>, <em>border_mode='same'</em>, <em>pad=None</em>, <em>data_format='NCHW'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.AvgPooling1D" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.AvgPooling2D" title="singa.layer.AvgPooling2D"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.AvgPooling2D</span></code></a></p>
-<dl class="method">
-<dt id="singa.layer.AvgPooling1D.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.AvgPooling1D.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.BatchNormalization">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">BatchNormalization</code><span class="sig-paren">(</span><em>name</em>, <em>momentum=0.9</em>, <em>beta_specs=None</em>, <em>gamma_specs=None</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.BatchNormalization" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Batch-normalization.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>momentum</strong> (<em>float</em>) – for running average mean and variance.</li>
-<li><strong>beta_specs</strong> (<em>dict</em>) – dictionary includes the fields for the beta
-param:
-‘name’ for parameter name
-‘lr_mult’ for learning rate multiplier
-‘decay_mult’ for weight decay multiplier
-‘init’ for init method, which could be ‘gaussian’, ‘uniform’,
-‘xavier’ and ‘’
-‘std’, ‘mean’, ‘high’, ‘low’ for corresponding init methods
-‘clamp’ for gradient constraint, value is scalar
-‘regularizer’ for regularization, currently support ‘l2’</li>
-<li><strong>gamma_specs</strong> (<em>dict</em>) – similar to beta_specs, but for the gamma param.</li>
-<li><strong>name</strong> (<em>string</em>) – layer name</li>
-<li><strong>input_sample_shape</strong> (<em>tuple</em>) – with at least one integer</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.L2Norm">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">L2Norm</code><span class="sig-paren">(</span><em>name</em>, <em>input_sample_shape</em>, <em>epsilon=1e-08</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.L2Norm" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Normalize each sample to have L2 norm = 1</p>
-<dl class="method">
-<dt id="singa.layer.L2Norm.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.L2Norm.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.L2Norm.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>is_train</em>, <em>x</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.L2Norm.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Forward propagate through this layer.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>flag</strong> – True (kTrain) for training (kEval); False for evaluating;
-other values for furture use.</li>
-<li><strong>x</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a><em> or </em><em>list<Tensor></em>) – an input tensor if the layer is
-connected from a single layer; a list of tensors if the layer
-is connected from multiple layers.</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">a tensor if the layer is connected to a single layer; a list of
-tensors if the layer is connected to multiple layers;</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.L2Norm.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>is_train</em>, <em>dy</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.L2Norm.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Backward propagate gradients through this layer.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>flag</strong> (<em>int</em>) – for future use.</li>
-<li><strong>dy</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a><em> or </em><em>list<Tensor></em>) – the gradient tensor(s) y w.r.t the
-objective loss</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><dx, <dp1, dp2..>>, dx is a (set of) tensor(s) for the gradient of x
-, dpi is the gradient of the i-th parameter</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.LRN">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">LRN</code><span class="sig-paren">(</span><em>name</em>, <em>size=5</em>, <em>alpha=1</em>, <em>beta=0.75</em>, <em>mode='cross_channel'</em>, <em>k=1</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.LRN" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Local response normalization.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>size</strong> (<em>int</em>) – # of channels to be crossed
-normalization.</li>
-<li><strong>mode</strong> (<em>string</em>) – ‘cross_channel’</li>
-<li><strong>input_sample_shape</strong> (<em>tuple</em>) – 3d tuple, (channel, height, width)</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Dense">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Dense</code><span class="sig-paren">(</span><em>name</em>, <em>num_output</em>, <em>use_bias=True</em>, <em>W_specs=None</em>, <em>b_specs=None</em>, <em>W_transpose=False</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dense" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Apply linear/affine transformation, also called inner-product or
-fully connected layer.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>num_output</strong> (<em>int</em>) – output feature length.</li>
-<li><strong>use_bias</strong> (<em>bool</em>) – add a bias vector or not to the transformed feature</li>
-<li><strong>W_specs</strong> (<em>dict</em>) – specs for the weight matrix
-‘name’ for parameter name
-‘lr_mult’ for learning rate multiplier
-‘decay_mult’ for weight decay multiplier
-‘init’ for init method, which could be ‘gaussian’, ‘uniform’,
-‘xavier’ and ‘’
-‘std’, ‘mean’, ‘high’, ‘low’ for corresponding init methods
-‘clamp’ for gradient constraint, value is scalar
-‘regularizer’ for regularization, currently support ‘l2’</li>
-<li><strong>b_specs</strong> (<em>dict</em>) – specs for the bias vector, same fields as W_specs.</li>
-<li><strong>W_transpose</strong> (<em>bool</em>) – if true, output=x*W.T+b;</li>
-<li><strong>input_sample_shape</strong> (<em>tuple</em>) – input feature length</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Dropout">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Dropout</code><span class="sig-paren">(</span><em>name</em>, <em>p=0.5</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Dropout" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Droput layer.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>p</strong> (<em>float</em>) – probability for dropping out the element, i.e., set to 0</li>
-<li><strong>name</strong> (<em>string</em>) – layer name</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Activation">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Activation</code><span class="sig-paren">(</span><em>name</em>, <em>mode='relu'</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Activation" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Activation layers.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>name</strong> (<em>string</em>) – layer name</li>
-<li><strong>mode</strong> (<em>string</em>) – ‘relu’, ‘sigmoid’, or ‘tanh’</li>
-<li><strong>input_sample_shape</strong> (<em>tuple</em>) – shape of a single sample</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Softmax">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Softmax</code><span class="sig-paren">(</span><em>name</em>, <em>axis=1</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Softmax" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Apply softmax.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>axis</strong> (<em>int</em>) – reshape the input as a matrix with the dimension
-[0,axis) as the row, the [axis, -1) as the column.</li>
-<li><strong>input_sample_shape</strong> (<em>tuple</em>) – shape of a single sample</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Flatten">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Flatten</code><span class="sig-paren">(</span><em>name</em>, <em>axis=1</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Flatten" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Reshape the input tensor into a matrix.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>axis</strong> (<em>int</em>) – reshape the input as a matrix with the dimension
-[0,axis) as the row, the [axis, -1) as the column.</li>
-<li><strong>input_sample_shape</strong> (<em>tuple</em>) – shape for a single sample</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Merge">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Merge</code><span class="sig-paren">(</span><em>name</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Merge" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Sum all input tensors.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>input_sample_shape</strong> – sample shape of the input. The sample shape of all
-inputs should be the same.</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="singa.layer.Merge.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>in_shape</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Merge.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Call the C++ setup function to create params and set some meta data.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>in_shapes</strong> – if the layer accepts a single input Tensor, in_shapes is
-a single tuple specifying the inpute Tensor shape; if the layer
-accepts multiple input Tensor (e.g., the concatenation layer),
-in_shapes is a tuple of tuples, each for one input Tensor</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Merge.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Merge.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Merge.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>inputs</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Merge.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Merge all input tensors by summation.</p>
-<p>TODO(wangwei) do element-wise merge operations, e.g., avg, count
-:param flag: not used.
-:param inputs: a list of tensors
-:type inputs: list</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">A single tensor as the sum of all input tensors</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Merge.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>grad</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Merge.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Replicate the grad for each input source layer.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>grad</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – </td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A list of replicated grad, one per source layer</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Split">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Split</code><span class="sig-paren">(</span><em>name</em>, <em>num_output</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Split" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Replicate the input tensor.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>num_output</strong> (<em>int</em>) – number of output tensors to generate.</li>
-<li><strong>input_sample_shape</strong> – includes a single integer for the input sample
-feature size.</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="singa.layer.Split.setup">
-<code class="descname">setup</code><span class="sig-paren">(</span><em>in_shape</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Split.setup" title="Permalink to this definition">¶</a></dt>
-<dd><p>Call the C++ setup function to create params and set some meta data.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>in_shapes</strong> – if the layer accepts a single input Tensor, in_shapes is
-a single tuple specifying the inpute Tensor shape; if the layer
-accepts multiple input Tensor (e.g., the concatenation layer),
-in_shapes is a tuple of tuples, each for one input Tensor</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Split.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Split.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Split.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>input</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Split.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Replicate the input tensor into mutiple tensors.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>flag</strong> – not used</li>
-<li><strong>input</strong> – a single input tensor</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">a list a output tensor (each one is a copy of the input)</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Split.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>grads</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Split.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Sum all grad tensors to generate a single output tensor.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>grads</strong> (<em>list of Tensor</em>) – </td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">a single tensor as the sum of all grads</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Concat">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Concat</code><span class="sig-paren">(</span><em>name</em>, <em>axis</em>, <em>input_sample_shapes=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Concat" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Concatenate tensors vertically (axis = 0) or horizontally (axis = 1).</p>
-<p>Currently, only support tensors with 2 dimensions.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>axis</strong> (<em>int</em>) – 0 for concat row; 1 for concat columns;</li>
-<li><strong>input_sample_shapes</strong> – a list of sample shape tuples, one per input tensor</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="singa.layer.Concat.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>inputs</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Concat.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Concatenate all input tensors.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>flag</strong> – same as Layer::forward()</li>
-<li><strong>input</strong> – a list of tensors</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">a single concatenated tensor</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Concat.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>dy</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Concat.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Backward propagate gradients through this layer.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>flag</strong> – same as Layer::backward()</li>
-<li><strong>dy</strong> (<a class="reference internal" href="tensor.html#singa.tensor.Tensor" title="singa.tensor.Tensor"><em>Tensor</em></a>) – the gradient tensors of y w.r.t objective loss</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><dl class="docutils">
-<dt><dx, []>, dx is a list tensors for the gradient of the inputs; []</dt>
-<dd><p class="first last">is an empty list.</p>
-</dd>
-</dl>
-</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.Slice">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">Slice</code><span class="sig-paren">(</span><em>name</em>, <em>axis</em>, <em>slice_point</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Slice" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Slice the input tensor into multiple sub-tensors vertially (axis=0) or
-horizontally (axis=1).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>axis</strong> (<em>int</em>) – 0 for slice rows; 1 for slice columns;</li>
-<li><strong>slice_point</strong> (<em>list</em>) – positions along the axis to do slice; there are n-1
-points for n sub-tensors;</li>
-<li><strong>input_sample_shape</strong> – input tensor sample shape</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="singa.layer.Slice.get_output_sample_shape">
-<code class="descname">get_output_sample_shape</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Slice.get_output_sample_shape" title="Permalink to this definition">¶</a></dt>
-<dd><p>Called after setup to get the shape of the output sample(s).</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">a tuple for a single output Tensor or a list of tuples if this layer
-has multiple outputs</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Slice.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>x</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Slice.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Slice the input tensor on the given axis.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>flag</strong> – same as Layer::forward()</li>
-<li><strong>x</strong> – a single input tensor</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">a list a output tensor</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="singa.layer.Slice.backward">
-<code class="descname">backward</code><span class="sig-paren">(</span><em>flag</em>, <em>grads</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.Slice.backward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Concate all grad tensors to generate a single output tensor</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>flag</strong> – same as Layer::backward()</li>
-<li><strong>grads</strong> – a list of tensors, one for the gradient of one sliced tensor</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><dl class="docutils">
-<dt>a single tensor for the gradient of the original user, and an empty</dt>
-<dd><p class="first last">list.</p>
-</dd>
-</dl>
-</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="singa.layer.RNN">
-<em class="property">class </em><code class="descclassname">singa.layer.</code><code class="descname">RNN</code><span class="sig-paren">(</span><em>name</em>, <em>hidden_size</em>, <em>rnn_mode='lstm'</em>, <em>dropout=0.0</em>, <em>num_stacks=1</em>, <em>input_mode='linear'</em>, <em>bidirectional=False</em>, <em>param_specs=None</em>, <em>input_sample_shape=None</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.RNN" title="Permalink to this definition">¶</a></dt>
-<dd><p>Bases: <a class="reference internal" href="#singa.layer.Layer" title="singa.layer.Layer"><code class="xref py py-class docutils literal notranslate"><span class="pre">singa.layer.Layer</span></code></a></p>
-<p>Recurrent layer with 4 types of units, namely lstm, gru, tanh and relu.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>hidden_size</strong> – hidden feature size, the same for all stacks of layers.</li>
-<li><strong>rnn_mode</strong> – decides the rnn unit, which could be one of ‘lstm’, ‘gru’,
-‘tanh’ and ‘relu’, refer to cudnn manual for each mode.</li>
-<li><strong>num_stacks</strong> – num of stacks of rnn layers. It is different to the
-unrolling seqence length.</li>
-<li><strong>input_mode</strong> – ‘linear’ convert the input feature x by by a linear
-transformation to get a feature vector of size hidden_size;
-‘skip’ does nothing but requires the input feature size equals
-hidden_size</li>
-<li><strong>bidirection</strong> – True for bidirectional RNN</li>
-<li><strong>param_specs</strong> – config for initializing the RNN parameters.</li>
-<li><strong>input_sample_shape</strong> – includes a single integer for the input sample
-feature size.</li>
-</ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="singa.layer.RNN.forward">
-<code class="descname">forward</code><span class="sig-paren">(</span><em>flag</em>, <em>inputs</em><span class="sig-paren">)</span><a class="headerlink" href="#singa.layer.RNN.forward" title="Permalink to this definition">¶</a></dt>
-<dd><p>Forward inputs through the RNN.</p>
-<table class="docutils field-list" frame="void" rules="none">
-<col class="field-name" />
-<col class="field-body" />
-<tbody valign="top">
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>flag</strong> – True(kTrain) for training; False(kEval) for evaluation;
-others values for future use.</li>
-<li><strong><x1</strong><strong>, </strong><strong>x2</strong><strong>,</strong><strong>..xn</strong><strong>, </strong><strong>hx</strong><strong>, </strong><strong>cx></strong><strong>, </strong><strong>where xi is the input tensor for the</strong> (<em>inputs</em><em>,</em>) – i-th position, its shape is (batch_size, input_feature_length);
-the batch_size of xi must >= that of xi+1; hx is the initial
-hidden state of shape (num_stacks * bidirection?2:1, batch_size,
-hidden_size). cx is the initial cell state tensor of the same
-shape as hy. cx is valid for only lstm. For other RNNs there is
-no cx. Both hx and cx could be dummy tensors without shape and
-data.</li>
-</ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><dl class="docutils">
-<dt><y1, y2, … yn, hy, cy>, where yi is the output tensor for the i-th</dt>
-<dd><p class="first last">position, its shape is (batch_size,
-hidden_size * bidirection?2:1). hy is the final hidden state
-tensor. cx is the final cell state tensor. cx is only used for
-lstm.</p>
-</dd>
-</dl>
... 10006 lines suppressed ...
[incubator-singa-site] 05/08: add v2 software stack image
Posted by wa...@apache.org.
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/incubator-singa-site.git
commit 224c4c43209d4f52b0e2e8a0e347449141b5ad85
Author: Wei Wang <wa...@comp.nus.edu.sg>
AuthorDate: Fri Aug 16 10:06:03 2019 +0800
add v2 software stack image
---
content/_static/images/singav2-sw.JPG | Bin 0 -> 73700 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/content/_static/images/singav2-sw.JPG b/content/_static/images/singav2-sw.JPG
new file mode 100644
index 0000000..1e8ae38
Binary files /dev/null and b/content/_static/images/singav2-sw.JPG differ