You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by ta...@apache.org on 2019/09/29 02:31:08 UTC
[incubator-mxnet] branch mkldnn-v1.0 updated (ce5ec06 -> 4fba4c3)
This is an automated email from the ASF dual-hosted git repository.
taolv pushed a change to branch mkldnn-v1.0
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git.
from ce5ec06 [mkldnn-v1.0] Add MKL-DNN Transpose (#16250)
add f5d8fbf New Website: Remove Old Content [2/3] (#15885)
add 6af6570 fix flaky test (#16191)
add 6247dc8 [Numpy] Differentiable svd (#15795)
add a783d81 add epsilon to sum(pvalue) upperbound (#16211)
add 7126438 New Website: New Pipeline [3/3] (#15883)
add 986cecd Update MKL-DNN dependency (#16073)
add d61ed3f Solve #14116, #15143 (#15144)
add 618c481 [MXNET-1422] Fix wrong results of min([inf, inf]) and max([-inf,-inf]) (#16226)
add be7296b removing MXNDArrayLoadFromBuffer64 and MXNDArrayLoad64 (#16203)
add 11f73ed np compatible vstack (#15850)
add 37c641f Faster Scala NDArray to BufferedImage function (#16219)
add 93b794e Fix inconsistent interpolation method values (#16212)
add 89cb4ad Numpy add numpy op roll (#15902)
add da6e744 add numpy compatible trace (#16008)
add 53ebe12 add numpy op hanning, hamming, blackman (#15815)
add 0994ea0 julia: implement `context.num_gpus` (#16236)
add 8e48cec julia: add `AbstractMXError` as parent type (#16235)
add dccfc88 [Numpy]flip (#15819)
add 7344c91 numpy operator around (#16126)
add 8af1b57 numpy operator arctan2 (#15890)
add ae2f1bb numpy operator nonzero (#15838)
add bea5653 numpy operator hypot (#15901)
add 72b4d9b tvm numpy operator deg2rad && rad2deg (#16015)
add a77bd75 Integrate MKL-DNN leakyrelu (#16075)
add cbbb96a [CD] Add COMMIT_ID param to release job (#16202)
add f635595 numpy op unique
add 08f8372 try to fix bug
add 3ca1920 fix memory bug and disable some test
add 33bd02f fix according to review
add 1d4032d set fixed seed for profiler (#16155)
add a5e698a FullyConnected Bias performance improvement on GPU (#16039)
add 35ef45c Fix lack of dylib support in Makefile when use lapack (#15813)
add 985a4ca Update KL Divergence formula (#16170)
add ab2214b fix broken links (#16255)
add df34e76 Add list_ctx to ParameterDict (#16185)
add 1a2da12 [MKLDNN] NDArray reorder in C API and deconv (#16265)
add c5007ea Numpy operators: `lcm`, `tril`, `identity` and `take` (#16264)
add c69c8bf redirect to the 404 page (#16287)
add f52ddfd Fix MXNDArrayGetData (#16289)
add 7656a11 Removes git status update stop gap solution (#16285)
add 33c7b5c add google-analytics config (#16271)
add 8004a02 Fixing links for website + Fixing search (#16284)
add dc5470c Factorize CUDA_KERNEL_LOOP used in CUDA kernels (#16197)
add 01ca278 [Gluon] Support None argument in HybridBlock (#16280)
add 943bed5 add mkl installation temp fix (#16304)
add 3950a47 [MXNET-978] n-th order gradient test support. (#15611)
add 512d25a Minor fix in ToTensor documentation. (#16299)
new 4fba4c3 Merge remote-tracking branch 'origin/master' into mkldnn-v1.0
The 1 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:
.github/PULL_REQUEST_TEMPLATE.md | 2 +-
3rdparty/mshadow/mshadow/base.h | 43 +-
MKLDNN_README.md | 2 +-
Makefile | 28 +-
NEWS.md | 14 +-
R-package/DESCRIPTION | 1 +
R-package/R/zzz.R | 2 +-
R-package/README.md | 2 +-
R-package/src/export.cc | 13 +
R-package/vignettes/MultidimLstm.Rmd | 2 +-
README.md | 37 +-
benchmark/opperf/README.md | 20 +-
benchmark/opperf/utils/benchmark_utils.py | 1 +
cd/Jenkinsfile_cd_pipeline | 9 +
cd/Jenkinsfile_release_job | 42 +-
cd/Jenkinsfile_utils.groovy | 29 +-
cd/README.md | 9 +
cd/img/job_setup.png | Bin 0 -> 250237 bytes
ci/Jenkinsfile_utils.groovy | 64 +-
ci/docker/Dockerfile.build.test.arm_qemu | 1 +
ci/docker/Dockerfile.build.ubuntu_blc | 1 +
ci/docker/Dockerfile.build.ubuntu_build_cuda | 1 +
ci/docker/Dockerfile.build.ubuntu_cpu | 2 +-
...ld.ubuntu_blc => Dockerfile.build.ubuntu_cpu_c} | 15 +-
...untu_cpu => Dockerfile.build.ubuntu_cpu_jekyll} | 78 +-
...buntu_cpu => Dockerfile.build.ubuntu_cpu_julia} | 2 +-
...ubuntu_blc => Dockerfile.build.ubuntu_cpu_lite} | 17 +-
...untu_blc => Dockerfile.build.ubuntu_cpu_python} | 17 +-
...ld.ubuntu_blc => Dockerfile.build.ubuntu_cpu_r} | 13 +-
...buntu_blc => Dockerfile.build.ubuntu_cpu_scala} | 18 +-
ci/docker/Dockerfile.build.ubuntu_gpu_cu100 | 3 +-
ci/docker/Dockerfile.build.ubuntu_gpu_cu101 | 3 +-
ci/docker/Dockerfile.build.ubuntu_gpu_cu80 | 3 +-
ci/docker/Dockerfile.build.ubuntu_gpu_cu90 | 3 +-
ci/docker/Dockerfile.build.ubuntu_gpu_cu92 | 3 +-
ci/docker/Dockerfile.build.ubuntu_gpu_tensorrt | 1 +
ci/docker/Dockerfile.build.ubuntu_nightly_cpu | 3 +-
ci/docker/Dockerfile.build.ubuntu_nightly_gpu | 2 +-
.../install/{docs_requirements => requirements} | 9 +-
ci/docker/install/ubuntu_clojure.sh | 2 +-
ci/docker/install/ubuntu_docs.sh | 6 +-
ci/docker/install/ubuntu_mkl.sh | 2 +-
ci/docker/install/ubuntu_python.sh | 4 +-
ci/docker/install/ubuntu_r.sh | 7 +-
ci/docker/runtime_functions.sh | 355 ++-
ci/jenkins/Jenkins_steps.groovy | 255 +-
ci/jenkins/Jenkinsfile_website | 7 +-
.../jenkins/Jenkinsfile_website_c_docs | 30 +-
...le_website => Jenkinsfile_website_clojure_docs} | 10 +-
...enkinsfile_website => Jenkinsfile_website_full} | 26 +-
...insfile_website => Jenkinsfile_website_full_pr} | 17 +-
...sfile_website => Jenkinsfile_website_java_docs} | 10 +-
...ile_website => Jenkinsfile_website_jekyll_docs} | 10 +-
...file_website => Jenkinsfile_website_julia_docs} | 10 +-
.../jenkins/Jenkinsfile_website_mxnet_build | 28 +-
...ile_website => Jenkinsfile_website_python_docs} | 10 +-
...kinsfile_website => Jenkinsfile_website_r_docs} | 10 +-
...file_website => Jenkinsfile_website_scala_docs} | 10 +-
ci/other/ci_deploy_doc.sh | 4 +-
.../amp/index.md => ci/publish/website/README.md | 9 +-
.../website/beta-deploy.sh} | 26 +-
ci/publish/website/deploy.sh | 99 +
.../website/publish_artifacts.sh} | 24 +-
contrib/clojure-package/README.md | 6 +-
.../examples/pre-trained-models/README.md | 6 +-
.../clojure-package/examples/tutorial/README.md | 2 +-
.../examples/tutorial/src/tutorial/kvstore.clj | 2 +-
.../examples/tutorial/src/tutorial/module.clj | 2 +-
.../examples/tutorial/src/tutorial/ndarray.clj | 2 +-
.../examples/tutorial/src/tutorial/symbol.clj | 2 +-
contrib/tvmop/basic/ufunc.py | 137 +-
cpp-package/README.md | 6 +-
docs/Dockerfile | 63 -
docs/Doxyfile | 2370 ------------------
docs/Makefile | 214 --
docs/README.md | 166 +-
docs/_static/cn.svg | 20 -
docs/_static/js/auto_module_index.js | 46 -
docs/_static/js/clipboard.js | 778 ------
docs/_static/js/clipboard.min.js | 7 -
docs/_static/js/copycode.js | 110 -
docs/_static/js/docversion.js | 47 -
docs/_static/js/navbar.js | 117 -
docs/_static/js/options.js | 118 -
docs/_static/js/page.js | 93 -
docs/_static/js/search.js | 39 -
docs/_static/js/sidebar.js | 277 ---
docs/_static/mxnet-theme/footer.html | 16 -
docs/_static/mxnet-theme/index.html | 73 -
docs/_static/mxnet-theme/layout.html | 201 --
docs/_static/mxnet-theme/navbar.html | 141 --
docs/_static/mxnet-theme/theme.conf | 2 -
docs/_static/mxnet.css | 1474 -----------
docs/_static/searchtools_custom.js | 853 -------
.../tutorials/tensorrt/wavenet_optimized.png | Bin 275440 -> 0 bytes
.../tutorials/tensorrt/wavenet_unoptimized.png | Bin 614819 -> 0 bytes
docs/_static/us.svg | 117 -
docs/api/c++/index.md | 72 -
docs/api/clojure/index.md | 61 -
docs/api/clojure/kvstore.md | 103 -
docs/api/clojure/module.md | 252 --
docs/api/clojure/ndarray.md | 136 -
docs/api/clojure/symbol.md | 149 --
docs/api/clojure/symbol_in_pictures.md | 94 -
docs/api/index.md | 33 -
docs/api/java/index.md | 32 -
docs/api/julia/index.md | 34 -
docs/api/perl/index.md | 91 -
docs/api/perl/io.md | 129 -
docs/api/perl/kvstore.md | 126 -
docs/api/perl/module.md | 62 -
docs/api/perl/ndarray.md | 59 -
docs/api/perl/symbol.md | 144 --
docs/api/python/autograd/autograd.md | 176 --
docs/api/python/callback/callback.md | 44 -
docs/api/python/contrib/contrib.md | 29 -
docs/api/python/contrib/onnx.md | 78 -
docs/api/python/contrib/svrg_optimization.md | 103 -
docs/api/python/contrib/text.md | 418 ----
docs/api/python/executor/executor.md | 59 -
docs/api/python/gluon/contrib.md | 179 --
docs/api/python/gluon/data.md | 155 --
docs/api/python/gluon/gluon.md | 189 --
docs/api/python/gluon/loss.md | 59 -
docs/api/python/gluon/model_zoo.md | 257 --
docs/api/python/gluon/nn.md | 114 -
docs/api/python/gluon/rnn.md | 99 -
docs/api/python/image/image.md | 232 --
docs/api/python/index.md | 219 --
docs/api/python/io/io.md | 203 --
docs/api/python/kvstore/kvstore.md | 146 --
docs/api/python/libinfo/libinfo.md | 110 -
docs/api/python/metric/metric.md | 45 -
docs/api/python/model.md | 175 --
docs/api/python/module/module.md | 227 --
docs/api/python/ndarray/contrib.md | 100 -
docs/api/python/ndarray/linalg.md | 75 -
docs/api/python/ndarray/ndarray.md | 745 ------
docs/api/python/ndarray/random.md | 77 -
docs/api/python/ndarray/sparse.md | 618 -----
docs/api/python/optimization/contrib.md | 69 -
docs/api/python/optimization/optimization.md | 183 --
docs/api/python/profiler/profiler.md | 82 -
docs/api/python/rtc/rtc.md | 46 -
docs/api/python/symbol/contrib.md | 97 -
docs/api/python/symbol/linalg.md | 78 -
docs/api/python/symbol/random.md | 76 -
docs/api/python/symbol/rnn.md | 378 ---
docs/api/python/symbol/sparse.md | 241 --
docs/api/python/symbol/symbol.md | 739 ------
.../symbol_in_pictures/symbol_in_pictures.md | 94 -
docs/api/python/tools/test_utils.md | 44 -
docs/api/python/tools/visualization.md | 44 -
docs/api/r/Makefile | 34 -
docs/api/r/index.md | 44 -
docs/api/scala/index.md | 82 -
docs/api/scala/infer.md | 59 -
docs/api/scala/io.md | 182 --
docs/api/scala/kvstore.md | 122 -
docs/api/scala/model.md | 135 -
docs/api/scala/module.md | 155 --
docs/api/scala/ndarray.md | 174 --
docs/api/scala/symbol.md | 148 --
docs/api/scala/symbol_in_pictures.md | 93 -
docs/architecture/exception_handling.md | 125 -
docs/architecture/index.md | 46 -
docs/architecture/note_data_loading.md | 261 --
docs/architecture/note_engine.md | 385 ---
docs/architecture/note_memory.md | 345 ---
docs/architecture/overview.md | 875 -------
docs/architecture/program_model.md | 623 -----
docs/architecture/rnn_interface.md | 117 -
docs/build_version_doc/AddPackageLink.py | 58 -
docs/build_version_doc/AddVersion.py | 91 -
docs/build_version_doc/Dockerfile | 65 -
docs/build_version_doc/README.md | 334 ---
docs/build_version_doc/artifacts/.htaccess | 24 -
docs/build_version_doc/artifacts/404.html | 50 -
docs/build_version_doc/artifacts/api.html | 50 -
docs/build_version_doc/artifacts/mxnet.css | 1479 -----------
docs/build_version_doc/build_all_version.sh | 185 --
docs/build_version_doc/build_doc.sh | 148 --
docs/build_version_doc/build_site_tag.sh | 65 -
docs/build_version_doc/setup_docs_ubuntu.sh | 151 --
docs/build_version_doc/update_all_version.sh | 106 -
docs/community/contribute.md | 188 --
docs/community/ecosystem.md | 88 -
docs/community/index.md | 28 -
docs/community/mxnet_channels.md | 27 -
docs/community/powered_by.md | 83 -
docs/conf.py | 217 --
docs/faq/add_op_in_backend.md | 679 -----
docs/faq/bucketing.md | 113 -
docs/faq/caffe.md | 201 --
docs/faq/cloud.md | 200 --
docs/faq/develop_and_hack.md | 26 -
docs/faq/distributed_training.md | 324 ---
docs/faq/env_var.md | 352 ---
docs/faq/faq.md | 86 -
docs/faq/finetune.md | 228 --
docs/faq/float16.md | 248 --
docs/faq/gradient_compression.md | 124 -
docs/faq/index.md | 103 -
docs/faq/model_parallel_lstm.md | 92 -
docs/faq/multi_devices.md | 104 -
docs/faq/new_op.md | 388 ---
docs/faq/nnpack.md | 155 --
docs/faq/perf.md | 302 ---
docs/faq/recordio.md | 100 -
docs/faq/s3_integration.md | 116 -
docs/faq/security.md | 41 -
docs/faq/smart_device.md | 112 -
docs/faq/tensor_inspector_tutorial.md | 168 --
docs/faq/visualize_graph.md | 81 -
docs/faq/why_mxnet.md | 216 --
docs/gluon/index.md | 127 -
docs/index.md | 32 -
docs/install/amazonlinux_setup.md | 25 -
docs/install/build_from_source.md | 321 ---
docs/install/c_plus_plus.md | 47 -
docs/install/centos_setup.md | 107 -
docs/install/download.md | 75 -
docs/install/index.md | 1567 ------------
docs/install/install-jetson.md | 235 --
docs/install/install_mxnet_ubuntu_python.sh | 74 -
docs/install/install_mxnet_ubuntu_r.sh | 55 -
docs/install/java_setup.md | 128 -
docs/install/osx_setup.md | 268 --
docs/install/requirements.txt | 8 -
docs/install/scala_setup.md | 157 --
docs/install/ubuntu_setup.md | 554 -----
docs/install/validate_mxnet.md | 219 --
docs/install/windows_setup.md | 508 ----
docs/model_zoo/index.md | 120 -
docs/mxdoc.py | 510 ----
docs/python_docs/_static/mxnet.css | 2 +-
docs/python_docs/python/scripts/conf.py | 4 +-
.../python/tutorials/deploy/export/index.rst | 13 +-
.../python/tutorials/deploy/export/onnx.md} | 13 +-
docs/python_docs/python/tutorials/deploy/index.rst | 6 +-
.../python/tutorials/deploy/inference/index.rst | 38 +-
.../tutorials/deploy/inference}/wine_detector.md | 2 +-
.../python/tutorials/deploy/run-on-aws/cloud.rst | 5 +-
.../python/tutorials/deploy/run-on-aws/index.rst | 4 +-
.../python/tutorials/extend/custom_layer.md | 105 +-
.../python/tutorials/extend/customop.md | 2 +-
docs/python_docs/python/tutorials/extend/index.rst | 12 +-
.../getting-started/crash-course/5-predict.md | 2 +-
.../gluon_from_experiment_to_deployment.md | 31 +-
.../python/tutorials/getting-started/index.rst | 28 +-
.../logistic_regression_explained.md | 46 +-
.../tutorials/getting-started/to-mxnet/index.rst | 2 +-
.../tutorials/getting-started/to-mxnet/pytorch.md | 6 +-
.../packages/autograd/{autograd.md => index.md} | 4 +-
.../gluon/{ => blocks}/activations/activations.md | 0
.../gluon/{ => blocks}/activations/images/elu.png | Bin
.../{ => blocks}/activations/images/leakyrelu.png | Bin
.../{ => blocks}/activations/images/prelu.png | Bin
.../gluon/{ => blocks}/activations/images/relu.png | Bin
.../gluon/{ => blocks}/activations/images/selu.png | Bin
.../{ => blocks}/activations/images/sigmoid.png | Bin
.../{ => blocks}/activations/images/softrelu.png | Bin
.../{ => blocks}/activations/images/softsign.png | Bin
.../{ => blocks}/activations/images/swish.png | Bin
.../gluon/{ => blocks}/activations/images/tanh.png | Bin
.../packages/gluon/{ => blocks}/blocks.svg | 0
.../packages/gluon/{ => blocks}/custom-layer.md | 0
.../gluon/{ => blocks}/custom_layer_beginners.md | 20 +-
.../packages/gluon/{ => blocks}/hybridize.md | 8 +-
.../export.rst => packages/gluon/blocks/index.rst} | 11 +-
.../tutorials/packages/gluon/{ => blocks}/init.md | 8 +-
.../packages/gluon/{ => blocks}/naming.md | 2 +-
.../tutorials/packages/gluon/{ => blocks}/nn.md | 0
.../packages/gluon/{ => blocks}/parameters.md | 20 +-
.../packages/gluon/blocks}/save_load_params.md | 4 +-
.../python/tutorials/packages/gluon/customop.md | 227 --
.../python/tutorials/packages/gluon/data.md | 141 --
.../gluon/{ => image}/image-augmentation.md | 0
.../tutorials/packages/gluon/image/index.rst | 6 +-
.../python/tutorials/packages/gluon/image/mnist.md | 16 +-
.../packages/gluon/image/pretrained_models.md | 8 +-
.../python/tutorials/packages/gluon/index.rst | 88 +-
.../gluon/{custom-loss => loss}/custom-loss.md | 2 +-
.../images/contrastive_loss.jpeg | Bin
.../{custom-loss => loss}/images/inuktitut_1.png | Bin
.../{custom-loss => loss}/images/inuktitut_2.png | Bin
.../export.rst => packages/gluon/loss/index.rst} | 10 +-
.../python/tutorials/packages/gluon/loss/loss.md | 24 +-
.../python/tutorials/packages/gluon/text/index.rst | 35 +-
.../tutorials/packages/gluon/text/transformer.rst | 2 +-
.../gluon/{ => training}/fit_api_tutorial.md | 10 +-
.../gluon/training/index.rst} | 11 +-
.../gluon/training/learning_rates/index.rst} | 11 +-
.../learning_rates}/learning_rate_finder.md | 4 +-
.../learning_rates}/learning_rate_schedules.md | 4 +-
.../learning_rate_schedules_advanced.md | 0
.../{ => training}/normalization/imgs/NCHW_BN.png | Bin
.../{ => training}/normalization/imgs/NCHW_IN.png | Bin
.../{ => training}/normalization/imgs/NCHW_LN.png | Bin
.../{ => training}/normalization/imgs/NTC_BN.png | Bin
.../{ => training}/normalization/imgs/NTC_IN.png | Bin
.../{ => training}/normalization/imgs/NTC_LN.png | Bin
.../normalization/imgs/data_normalization.jpeg | Bin
.../normalization/index.md} | 4 +-
.../packages/gluon/{ => training}/trainer.md | 24 +-
.../python/tutorials/packages/index.rst | 54 +-
.../python/tutorials/packages/kvstore/index.rst | 4 +-
.../python/tutorials/packages/kvstore}/kvstore.md | 2 +-
.../python/tutorials/packages/module/index.rst | 52 -
.../tutorials/packages/ndarray/01-ndarray-intro.md | 6 +-
.../packages/ndarray}/gotchas_numpy_in_mxnet.md | 30 +-
.../python/tutorials/packages/ndarray/index.rst | 46 +-
.../tutorials/packages/ndarray}/sparse/csr.md | 250 +-
.../ndarray/sparse/index.rst} | 9 +-
.../packages/ndarray}/sparse/row_sparse.md | 195 +-
.../tutorials/packages/ndarray}/sparse/train.md | 73 +-
.../packages/ndarray}/sparse/train_gluon.md | 185 +-
.../tutorials/packages}/onnx/fine_tuning_gluon.md | 10 +-
.../python/tutorials/packages/onnx/index.rst | 12 +-
.../packages}/onnx/inference_on_onnx_model.md | 6 +-
.../tutorials/packages}/onnx/super_resolution.md | 2 +-
.../packages/optimizer/{optimizer.md => index.md} | 4 +-
.../python/tutorials/packages/viz/index.rst | 7 +-
.../tutorials/performance/backend/MKLDNN_README.md | 291 ---
.../python/tutorials/performance/backend/amp.md} | 36 +-
.../python/tutorials/performance/backend/index.rst | 27 +-
.../backend/{mkl-dnn.rst => mkldnn/index.rst} | 19 +-
.../backend/{ => mkldnn}/mkldnn_quantization.md | 8 +-
.../performance/backend/mkldnn/mkldnn_readme.md} | 4 +-
.../tutorials/performance/backend/profiler.md | 13 +-
.../backend/tensorrt}/index.rst | 22 +-
.../performance/backend/tensorrt/tensorrt.md} | 4 +-
.../backend}/tensorrt/wavenet_optimized.svg | 0
.../backend}/tensorrt/wavenet_unoptimized.svg | 0
.../tutorials/performance/compression/index.rst | 23 +-
.../python/tutorials/performance/index.rst | 10 +-
.../themes/mx-theme/mxtheme/drawer.html | 2 +-
.../themes/mx-theme/mxtheme/layout.html | 2 +-
.../mxtheme/static/sphinx_materialdesign_theme.css | 2 +-
.../static/sphinx_materialdesign_theme.css.map | 2 +-
.../mxtheme/static/sphinx_materialdesign_theme.js | 2 +-
.../static/sphinx_materialdesign_theme.js.map | 2 +-
.../mxtheme/static/webfonts/fa-solid-900.eot | Bin 0 -> 197172 bytes
.../mxtheme/static/webfonts/fa-solid-900.svg | 2618 ++++++++++++++++++++
.../mxtheme/static/webfonts/fa-solid-900.ttf | Bin 0 -> 196952 bytes
.../mxtheme/static/webfonts/fa-solid-900.woff | Bin 0 -> 95436 bytes
.../mxtheme/static/webfonts/fa-solid-900.woff2 | Bin 0 -> 73852 bytes
.../mx-theme/src/js/sphinx_materialdesign_theme.js | 3 +-
.../themes/mx-theme/src/scss/layout/_layout.scss | 3 +-
docs/settings.ini | 172 --
docs/static_site/src/.htaccess | 4 +
docs/static_site/src/404.html | 10 +-
docs/static_site/src/_config_prod.yml | 3 +-
.../_includes/get_started/devices/nvidia-jetson.md | 2 +-
.../_includes/get_started/devices/raspberry_pi.md | 6 +-
.../src/_includes/get_started/get_started.html | 8 +-
.../src/_includes/get_started/linux/cpp/cpp.md | 2 +-
.../src/_includes/get_started/linux/java/cpu.md | 2 +-
.../src/_includes/get_started/linux/java/gpu.md | 2 +-
.../get_started/linux/julia/build-from-source.md | 2 +-
.../src/_includes/get_started/linux/perl/perl.md | 2 +-
.../get_started/linux/python/cpu/docker.md | 2 +-
.../_includes/get_started/linux/python/cpu/pip.md | 10 +-
.../get_started/linux/python/gpu/docker.md | 2 +-
.../src/_includes/get_started/linux/r/cpu.md | 2 +-
.../src/_includes/get_started/linux/r/gpu.md | 2 +-
.../src/_includes/get_started/macos/cpp/cpp.md | 2 +-
.../src/_includes/get_started/macos/java/cpu.md | 2 +-
.../get_started/macos/julia/build-from-source.md | 2 +-
.../src/_includes/get_started/macos/perl/perl.md | 2 +-
.../macos/python/cpu/build-from-source.md | 2 +-
.../get_started/macos/python/cpu/docker.md | 2 +-
.../macos/python/gpu/build-from-source.md | 2 +-
.../get_started/macos/python/gpu/pip_docker.md | 2 +-
.../src/_includes/get_started/macos/r/cpu.md | 2 +-
.../src/_includes/get_started/pip_snippet.md | 2 +-
.../src/_includes/get_started/windows/cpp/cpp.md | 2 +-
.../get_started/windows/julia/build-from-source.md | 2 +-
.../src/_includes/get_started/windows/perl/perl.md | 2 +-
.../windows/python/cpu/build-from-source.md | 2 +-
.../get_started/windows/python/cpu/docker.md | 2 +-
.../windows/python/gpu/build-from-source.md | 2 +-
.../src/_includes/get_started/windows/r/cpu.md | 2 +-
.../src/_includes/get_started/windows/r/gpu.md | 2 +-
docs/static_site/src/pages/api/api.html | 33 +-
.../pages/api/architecture/exception_handling.md | 14 +-
.../pages/api/architecture/note_data_loading.md | 14 +-
.../src/pages/api/architecture/note_engine.md | 20 +-
.../src/pages/api/architecture/note_memory.md | 15 +-
.../src/pages/api/architecture/overview.md | 16 +-
.../src/pages/api/architecture/program_model.md | 23 +-
.../src/pages/api/clojure/docs/tutorials/index.md | 14 +-
.../pages/api/clojure/docs/tutorials/kvstore.md | 16 +-
.../src/pages/api/clojure/docs/tutorials/module.md | 27 +-
.../pages/api/clojure/docs/tutorials/ndarray.md | 20 +-
.../src/pages/api/clojure/docs/tutorials/symbol.md | 25 +-
.../clojure/docs/tutorials/symbol_in_pictures.md | 18 +-
docs/static_site/src/pages/api/clojure/index.md | 16 +-
.../src/pages/api/cpp/docs/tutorials/basics.md | 22 +-
.../src/pages/api/cpp/docs/tutorials/index.md | 12 +-
.../docs/tutorials/mxnet_cpp_inference_tutorial.md | 38 +-
.../pages/api/cpp/docs/tutorials/subgraphAPI.md | 24 +-
docs/static_site/src/pages/api/cpp/index.md | 20 +-
.../src/pages/api/faq/add_op_in_backend.md | 55 +-
docs/static_site/src/pages/api/faq/caffe.md | 18 +-
docs/static_site/src/pages/api/faq/cloud.md | 30 +-
.../src/pages/api/faq/distributed_training.md | 28 +-
docs/static_site/src/pages/api/faq/env_var.md | 26 +-
docs/static_site/src/pages/api/faq/float16.md | 28 +-
.../src/pages/api/faq/gradient_compression.md | 18 +-
.../src/pages/api/faq/model_parallel_lstm.md | 20 +-
docs/static_site/src/pages/api/faq/new_op.md | 20 +-
docs/static_site/src/pages/api/faq/nnpack.md | 18 +-
docs/static_site/src/pages/api/faq/perf.md | 24 +-
docs/static_site/src/pages/api/faq/recordio.md | 18 +-
.../src/pages/api/faq/s3_integration.md | 18 +-
docs/static_site/src/pages/api/faq/security.md | 16 +-
docs/static_site/src/pages/api/faq/smart_device.md | 16 +-
.../src/pages/api/faq/visualize_graph.md | 22 +-
docs/static_site/src/pages/api/faq/why_mxnet.md | 18 +-
.../src/pages/api/java/docs/tutorials/index.md | 12 +-
.../java/docs/tutorials/mxnet_java_on_intellij.md | 22 +-
.../pages/api/java/docs/tutorials/ssd_inference.md | 22 +-
docs/static_site/src/pages/api/java/index.md | 25 +-
docs/static_site/src/pages/api/julia/index.md | 18 +-
.../src/pages/api/perl/docs/tutorials/index.md | 16 +-
.../src/pages/api/perl/docs/tutorials/io.md | 14 +-
.../src/pages/api/perl/docs/tutorials/kvstore.md | 14 +-
.../src/pages/api/perl/docs/tutorials/module.md | 14 +-
.../src/pages/api/perl/docs/tutorials/ndarray.md | 16 +-
.../src/pages/api/perl/docs/tutorials/symbol.md | 16 +-
docs/static_site/src/pages/api/perl/index.md | 16 +-
docs/static_site/src/pages/api/python/index.md | 16 +-
.../api/r/docs/tutorials/callback_function.md | 22 +-
.../pages/api/r/docs/tutorials/char_rnn_model.md | 14 +-
.../classify_real_image_with_pretrained_model.md | 20 +-
.../pages/api/r/docs/tutorials/custom_iterator.md | 16 +-
.../api/r/docs/tutorials/custom_loss_function.md | 22 +-
.../docs/tutorials/five_minutes_neural_network.md | 22 +-
.../src/pages/api/r/docs/tutorials/index.md | 14 +-
.../api/r/docs/tutorials/mnist_competition.md | 16 +-
.../pages/api/r/docs/tutorials/multi_dim_lstm.md | 16 +-
.../src/pages/api/r/docs/tutorials/ndarray.md | 26 +-
.../src/pages/api/r/docs/tutorials/symbol.md | 24 +-
docs/static_site/src/pages/api/r/index.md | 16 +-
.../pages/api/scala/docs/tutorials/char_lstm.md | 587 +++--
.../src/pages/api/scala/docs/tutorials/index.md | 12 +-
.../src/pages/api/scala/docs/tutorials/infer.md | 23 +-
.../src/pages/api/scala/docs/tutorials/io.md | 167 +-
.../src/pages/api/scala/docs/tutorials/kvstore.md | 16 +-
.../src/pages/api/scala/docs/tutorials/mnist.md | 20 +-
.../src/pages/api/scala/docs/tutorials/model.md | 30 +-
.../src/pages/api/scala/docs/tutorials/module.md | 28 +-
.../docs/tutorials/mxnet_scala_on_intellij.md | 25 +-
.../src/pages/api/scala/docs/tutorials/ndarray.md | 18 +-
.../src/pages/api/scala/docs/tutorials/symbol.md | 32 +-
.../api/scala/docs/tutorials/symbol_in_pictures.md | 18 +-
docs/static_site/src/pages/api/scala/index.md | 16 +-
docs/static_site/src/pages/community/contribute.md | 18 +-
.../src/pages/get_started/build_from_source.md | 58 +-
.../src/pages/get_started/c_plus_plus.md | 18 +-
.../src/pages/get_started/centos_setup.md | 14 +-
docs/static_site/src/pages/get_started/download.md | 14 +-
docs/static_site/src/pages/get_started/index.html | 16 +-
.../src/pages/get_started/java_setup.md | 26 +-
.../src/pages/get_started/jetson_setup.md | 14 +-
.../static_site/src/pages/get_started/osx_setup.md | 31 +-
.../src/pages/get_started/scala_setup.md | 26 +-
.../src/pages/get_started/ubuntu_setup.md | 34 +-
.../src/pages/get_started/validate_mxnet.md | 14 +-
.../src/pages/get_started/windows_setup.md | 36 +-
docs/tutorials/basic/data.md | 474 ----
docs/tutorials/basic/index.md | 25 -
docs/tutorials/basic/module.md | 364 ---
docs/tutorials/basic/ndarray.md | 491 ----
docs/tutorials/basic/ndarray_indexing.md | 394 ---
docs/tutorials/basic/reshape_transpose.md | 214 --
docs/tutorials/basic/symbol.md | 460 ----
docs/tutorials/c++/basics.md | 213 --
docs/tutorials/c++/index.md | 25 -
docs/tutorials/c++/mxnet_cpp_inference_tutorial.md | 284 ---
docs/tutorials/c++/subgraphAPI.md | 166 --
docs/tutorials/control_flow/ControlFlowTutorial.md | 405 ---
docs/tutorials/control_flow/index.md | 25 -
docs/tutorials/embedded/index.md | 25 -
docs/tutorials/gluon/autograd.md | 72 -
docs/tutorials/gluon/custom_layer.md | 265 --
docs/tutorials/gluon/customop.md | 238 --
docs/tutorials/gluon/data_augmentation.md | 235 --
docs/tutorials/gluon/datasets.md | 333 ---
docs/tutorials/gluon/fit_api_tutorial.md | 271 --
docs/tutorials/gluon/gluon.md | 159 --
docs/tutorials/gluon/hybrid.md | 266 --
docs/tutorials/gluon/index.md | 25 -
docs/tutorials/gluon/info_gan.md | 456 ----
docs/tutorials/gluon/mnist.md | 460 ----
docs/tutorials/gluon/multi_gpu.md | 193 --
docs/tutorials/gluon/naming.md | 210 --
docs/tutorials/gluon/ndarray.md | 162 --
docs/tutorials/gluon/performance.md | 483 ----
docs/tutorials/gluon/pretrained_models.md | 392 ---
docs/tutorials/gluon/transforms.md | 173 --
docs/tutorials/index.md | 257 --
docs/tutorials/java/index.md | 25 -
docs/tutorials/java/mxnet_java_on_intellij.md | 180 --
docs/tutorials/java/ssd_inference.md | 203 --
docs/tutorials/mkldnn/index.md | 25 -
docs/tutorials/mkldnn/mkldnn_quantization.md | 259 --
docs/tutorials/mkldnn/operator_list.md | 90 -
docs/tutorials/nlp/cnn.md | 468 ----
docs/tutorials/nlp/index.md | 25 -
docs/tutorials/onnx/index.md | 25 -
docs/tutorials/python/data_augmentation.md | 180 --
.../python/data_augmentation_with_masks.md | 261 --
docs/tutorials/python/index.md | 25 -
docs/tutorials/python/linear-regression.md | 215 --
docs/tutorials/python/mnist.md | 222 --
docs/tutorials/python/module_to_gluon.md | 365 ---
docs/tutorials/python/predict_image.md | 171 --
docs/tutorials/python/profiler.md | 336 ---
.../tutorials/python/types_of_data_augmentation.md | 395 ---
docs/tutorials/r/CallbackFunction.md | 271 --
docs/tutorials/r/CustomIterator.md | 219 --
docs/tutorials/r/CustomLossFunction.md | 223 --
docs/tutorials/r/MultidimLstm.md | 319 ---
docs/tutorials/r/charRnnModel.md | 310 ---
.../r/classifyRealImageWithPretrainedModel.md | 201 --
docs/tutorials/r/fiveMinutesNeuralNetwork.md | 334 ---
docs/tutorials/r/index.md | 31 -
docs/tutorials/r/mnistCompetition.md | 356 ---
docs/tutorials/r/ndarray.md | 223 --
docs/tutorials/r/symbol.md | 147 --
docs/tutorials/scala/char_lstm.md | 526 ----
docs/tutorials/scala/index.md | 34 -
docs/tutorials/scala/mnist.md | 134 -
docs/tutorials/scala/mxnet_scala_on_intellij.md | 449 ----
docs/tutorials/sparse/index.md | 25 -
docs/tutorials/speech_recognition/ctc.md | 43 -
docs/tutorials/speech_recognition/index.md | 25 -
docs/tutorials/tensorrt/index.md | 25 -
docs/tutorials/unsupervised_learning/gan.md | 418 ----
docs/tutorials/unsupervised_learning/index.md | 25 -
docs/tutorials/vision/cnn_visualization.md | 275 --
docs/tutorials/vision/index.md | 25 -
.../tutorials/vision/large_scale_classification.md | 282 ---
example/MXNetTutorialTemplate.ipynb | 6 +-
example/README.md | 18 +-
example/ctc/README.md | 2 +-
example/distributed_training/README.md | 2 +-
example/gluon/audio/README.md | 2 +-
example/gluon/audio/urban_sounds/README.md | 2 +-
example/image-classification/README.md | 12 +-
example/image-classification/predict-cpp/README.md | 2 +-
example/image-classification/train_mnist.py | 2 +-
example/profiler/README.md | 4 +-
example/profiler/profiler_imageiter.py | 2 +-
example/quantization/README.md | 2 +-
example/quantization/imagenet_gen_qsym.py | 4 +-
example/quantization/imagenet_gen_qsym_mkldnn.py | 4 +-
example/quantization/imagenet_inference.py | 4 +-
example/rnn/bucketing/README.md | 2 +-
example/rnn/old/README.md | 2 +-
example/sparse/README.md | 2 +-
example/sparse/linear_classification/README.md | 4 +-
example/ssd/quantization.py | 4 +-
include/mxnet/c_api.h | 13 -
include/mxnet/tuple.h | 2 +-
julia/NEWS.md | 3 +
julia/docs/src/index.md | 2 +-
julia/docs/src/tutorial/char-lstm.md | 4 +-
julia/docs/src/user-guide/install.md | 2 +-
julia/docs/src/user-guide/overview.md | 2 +-
julia/src/MXNet.jl | 8 +-
julia/src/base.jl | 7 -
julia/src/context.jl | 11 +
.../ci_deploy_doc.sh => julia/src/exceptions.jl | 27 +-
.../test/unittest/context.jl | 30 +-
.../test/unittest/exceptions.jl | 38 +-
.../lib/AI/MXNet/Gluon/ModelZoo.pm | 2 +-
perl-package/AI-MXNet/Changes | 2 +-
perl-package/AI-MXNet/examples/mnist.pl | 2 +-
perl-package/AI-MXNet/lib/AI/MXNet.pm | 4 +-
perl-package/AI-MXNet/lib/AI/MXNet/Gluon.pm | 2 +-
perl-package/AI-MXNet/lib/AI/MXNet/Gluon/Block.pm | 4 +-
.../AI-MXNet/lib/AI/MXNet/Gluon/Trainer.pm | 2 +-
perl-package/AI-MXNet/lib/AI/MXNet/IO.pm | 2 +-
perl-package/AI-MXNet/lib/AI/MXNet/LinAlg.pm | 4 +-
perl-package/AI-MXNet/lib/AI/MXNet/Metric.pm | 2 +-
perl-package/AI-MXNetCAPI/Changes | 2 +-
perl-package/AI-MXNetCAPI/README | 2 +-
perl-package/AI-NNVMCAPI/Changes | 2 +-
perl-package/AI-NNVMCAPI/README | 2 +-
perl-package/README.md | 4 +-
python/README.md | 2 +-
python/mxnet/_numpy_op_doc.py | 227 ++
python/mxnet/context.py | 4 +-
python/mxnet/gluon/block.py | 194 +-
python/mxnet/gluon/data/vision/transforms.py | 2 +-
python/mxnet/gluon/loss.py | 2 +-
python/mxnet/gluon/parameter.py | 10 +-
python/mxnet/gluon/trainer.py | 2 +-
python/mxnet/image/image.py | 12 +-
python/mxnet/module/base_module.py | 8 +-
python/mxnet/ndarray/numpy/_op.py | 941 ++++++-
python/mxnet/numpy/multiarray.py | 910 ++++++-
python/mxnet/symbol/numpy/_symbol.py | 750 +++++-
scala-package/README.md | 16 +-
.../src/main/scala/org/apache/mxnet/Image.scala | 10 +-
.../javaapi/infer/objectdetector/README.md | 6 +-
.../javaapi/infer/predictor/README.md | 2 +-
.../org/apache/mxnetexamples/benchmark/README.md | 2 +-
.../mxnetexamples/cnntextclassification/README.md | 4 +-
.../mxnetexamples/infer/imageclassifier/README.md | 2 +-
.../mxnetexamples/infer/objectdetector/README.md | 2 +-
scala-package/packageTest/README.md | 2 +-
scala-package/spark/README.md | 2 +-
setup-utils/install-mxnet-osx-python.sh | 4 +-
src/c_api/c_api.cc | 6 +
src/common/cuda_utils.h | 76 +-
src/operator/c_lapack_api.cc | 12 +
src/operator/c_lapack_api.h | 57 +
src/operator/contrib/boolean_mask-inl.h | 16 +
src/operator/contrib/boolean_mask.cc | 17 -
src/operator/contrib/count_sketch.cu | 4 -
src/operator/contrib/deformable_psroi_pooling.cu | 4 -
src/operator/contrib/psroi_pooling.cu | 4 -
src/operator/contrib/roi_align.cu | 11 +-
src/operator/contrib/tvmop/ufunc.cc | 113 +
src/operator/correlation.cu | 6 +-
src/operator/custom/custom.cc | 2 +-
src/operator/elemwise_op_common.h | 19 +
src/operator/leaky_relu-inl.h | 192 +-
src/operator/leaky_relu.cc | 188 +-
src/operator/leaky_relu.cu | 14 +-
src/operator/linalg.h | 21 +
src/operator/linalg_impl.h | 122 +
src/operator/math_functions-inl.h | 2 +
src/operator/mshadow_op.h | 53 +
src/operator/mxnet_op.h | 10 +
src/operator/nn/fully_connected-inl.h | 221 +-
src/operator/nn/layer_norm-inl.h | 2 +-
src/operator/nn/layer_norm.cu | 2 +-
src/operator/nn/mkldnn/mkldnn_act-inl.h | 41 +-
src/operator/nn/mkldnn/mkldnn_act.cc | 124 +-
src/operator/nn/mkldnn/mkldnn_base-inl.h | 3 +
src/operator/nn/mkldnn/mkldnn_deconvolution.cc | 11 +-
src/operator/nn/mkldnn/mkldnn_ops-inl.h | 8 +-
src/operator/nn/softmax-inl.h | 2 +-
src/operator/numpy/linalg/np_gesvd-inl.h | 303 +++
src/operator/numpy/linalg/np_gesvd.cc | 119 +
.../operator/numpy/linalg/np_gesvd.cu | 51 +-
src/operator/numpy/np_elemwise_broadcast_op.cc | 152 ++
src/operator/numpy/np_elemwise_broadcast_op.cu | 31 +
src/operator/numpy/np_elemwise_unary_op_basic.cc | 34 +
src/operator/numpy/np_elemwise_unary_op_basic.cu | 3 +
src/operator/numpy/np_init_op.cc | 10 +
src/operator/numpy/np_init_op.cu | 3 +
src/operator/numpy/np_init_op.h | 41 +-
src/operator/numpy/np_matrix_op-inl.h | 303 +++
src/operator/numpy/np_matrix_op.cc | 266 ++
src/operator/numpy/np_matrix_op.cu | 44 +
src/operator/numpy/np_nonzero_op-inl.h | 65 +
src/operator/numpy/np_nonzero_op.cc | 129 +
src/operator/numpy/np_nonzero_op.cu | 130 +
src/operator/numpy/np_trace_op-inl.h | 255 ++
src/operator/numpy/np_trace_op.cc | 98 +
.../{leaky_relu.cu => numpy/np_trace_op.cu} | 26 +-
src/operator/numpy/np_tril_op-inl.h | 233 ++
src/operator/numpy/np_tril_op.cc | 61 +
.../{leaky_relu.cu => numpy/np_tril_op.cu} | 26 +-
src/operator/numpy/np_unique_op.cc | 382 +++
src/operator/numpy/np_unique_op.cu | 350 +++
src/operator/numpy/np_unique_op.h | 88 +
src/operator/numpy/np_window_op.cc | 79 +
.../{leaky_relu.cu => numpy/np_window_op.cu} | 29 +-
src/operator/numpy/np_window_op.h | 127 +
src/operator/numpy/random/np_multinomial_op.cu | 2 +-
src/operator/numpy/random/np_multinomial_op.h | 4 +-
src/operator/operator_tune.cc | 6 +
src/operator/optimizer_op-inl.h | 2 +-
src/operator/subgraph/mkldnn/mkldnn_conv-inl.h | 14 +-
src/operator/subgraph/mkldnn/mkldnn_conv.cc | 6 +-
.../subgraph/mkldnn/mkldnn_conv_property.h | 12 +-
src/operator/tensor/broadcast_reduce_op.h | 2 +-
.../tensor/elemwise_binary_scalar_op_extended.cc | 1 +
src/operator/tensor/elemwise_unary_op.h | 83 +
src/operator/tensor/indexing_op.cc | 4 +
src/operator/tensor/indexing_op.cu | 4 +
src/operator/tensor/indexing_op.h | 10 +-
tests/nightly/JenkinsfileForBinaries | 16 -
.../broken_link_checker_test/JenkinsfileForBLC | 2 +-
.../broken_link_checker_test/test_broken_links.py | 4 +-
tests/python/gpu/test_operator_gpu.py | 2 +-
tests/python/mkl/test_subgraph.py | 17 +-
tests/python/unittest/test_gluon.py | 104 +-
tests/python/unittest/test_gluon_utils.py | 2 +-
tests/python/unittest/test_higher_order_grad.py | 99 +-
tests/python/unittest/test_numpy_ndarray.py | 45 +
tests/python/unittest/test_numpy_op.py | 847 ++++++-
tests/python/unittest/test_operator.py | 17 +
tests/python/unittest/test_profiler.py | 1 -
tests/tutorials/test_tutorials.py | 1 +
tools/caffe_translator/README.md | 4 +-
tools/caffe_translator/faq.md | 4 +-
tools/coreml/pip_package/README.rst | 2 +-
tools/dependencies/README.md | 2 +-
tools/pip/doc/CPU_ADDITIONAL.md | 2 +-
tools/pip/doc/CU100MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU100_ADDITIONAL.md | 2 +-
tools/pip/doc/CU75MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU75_ADDITIONAL.md | 2 +-
tools/pip/doc/CU80MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU80_ADDITIONAL.md | 2 +-
tools/pip/doc/CU90MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU90_ADDITIONAL.md | 2 +-
tools/pip/doc/CU91MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU91_ADDITIONAL.md | 2 +-
tools/pip/doc/CU92MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU92_ADDITIONAL.md | 2 +-
tools/pip/doc/MKL_ADDITIONAL.md | 2 +-
720 files changed, 15108 insertions(+), 53714 deletions(-)
create mode 100644 cd/img/job_setup.png
copy ci/docker/{Dockerfile.build.ubuntu_blc => Dockerfile.build.ubuntu_cpu_c} (77%)
copy ci/docker/{Dockerfile.build.ubuntu_cpu => Dockerfile.build.ubuntu_cpu_jekyll} (51%)
copy ci/docker/{Dockerfile.build.ubuntu_cpu => Dockerfile.build.ubuntu_cpu_julia} (98%)
copy ci/docker/{Dockerfile.build.ubuntu_blc => Dockerfile.build.ubuntu_cpu_lite} (82%)
copy ci/docker/{Dockerfile.build.ubuntu_blc => Dockerfile.build.ubuntu_cpu_python} (81%)
copy ci/docker/{Dockerfile.build.ubuntu_blc => Dockerfile.build.ubuntu_cpu_r} (85%)
copy ci/docker/{Dockerfile.build.ubuntu_blc => Dockerfile.build.ubuntu_cpu_scala} (79%)
rename ci/docker/install/{docs_requirements => requirements} (91%)
rename docs/Jenkinsfile-dev => ci/jenkins/Jenkinsfile_website_c_docs (66%)
copy ci/jenkins/{Jenkinsfile_website => Jenkinsfile_website_clojure_docs} (93%)
copy ci/jenkins/{Jenkinsfile_website => Jenkinsfile_website_full} (68%)
copy ci/jenkins/{Jenkinsfile_website => Jenkinsfile_website_full_pr} (79%)
copy ci/jenkins/{Jenkinsfile_website => Jenkinsfile_website_java_docs} (93%)
copy ci/jenkins/{Jenkinsfile_website => Jenkinsfile_website_jekyll_docs} (90%)
copy ci/jenkins/{Jenkinsfile_website => Jenkinsfile_website_julia_docs} (93%)
rename docs/Jenkinsfile => ci/jenkins/Jenkinsfile_website_mxnet_build (56%)
copy ci/jenkins/{Jenkinsfile_website => Jenkinsfile_website_python_docs} (93%)
copy ci/jenkins/{Jenkinsfile_website => Jenkinsfile_website_r_docs} (93%)
copy ci/jenkins/{Jenkinsfile_website => Jenkinsfile_website_scala_docs} (93%)
rename docs/tutorials/amp/index.md => ci/publish/website/README.md (87%)
copy ci/{other/ci_deploy_doc.sh => publish/website/beta-deploy.sh} (65%)
create mode 100644 ci/publish/website/deploy.sh
copy ci/{docker/install/ubuntu_docs.sh => publish/website/publish_artifacts.sh} (66%)
delete mode 100644 docs/Dockerfile
delete mode 100644 docs/Doxyfile
delete mode 100644 docs/Makefile
delete mode 100644 docs/_static/cn.svg
delete mode 100644 docs/_static/js/auto_module_index.js
delete mode 100644 docs/_static/js/clipboard.js
delete mode 100755 docs/_static/js/clipboard.min.js
delete mode 100644 docs/_static/js/copycode.js
delete mode 100644 docs/_static/js/docversion.js
delete mode 100644 docs/_static/js/navbar.js
delete mode 100644 docs/_static/js/options.js
delete mode 100644 docs/_static/js/page.js
delete mode 100644 docs/_static/js/search.js
delete mode 100644 docs/_static/js/sidebar.js
delete mode 100644 docs/_static/mxnet-theme/footer.html
delete mode 100644 docs/_static/mxnet-theme/index.html
delete mode 100644 docs/_static/mxnet-theme/layout.html
delete mode 100644 docs/_static/mxnet-theme/navbar.html
delete mode 100644 docs/_static/mxnet-theme/theme.conf
delete mode 100644 docs/_static/mxnet.css
delete mode 100644 docs/_static/searchtools_custom.js
delete mode 100644 docs/_static/tutorials/tensorrt/wavenet_optimized.png
delete mode 100644 docs/_static/tutorials/tensorrt/wavenet_unoptimized.png
delete mode 100644 docs/_static/us.svg
delete mode 100644 docs/api/c++/index.md
delete mode 100644 docs/api/clojure/index.md
delete mode 100644 docs/api/clojure/kvstore.md
delete mode 100644 docs/api/clojure/module.md
delete mode 100644 docs/api/clojure/ndarray.md
delete mode 100644 docs/api/clojure/symbol.md
delete mode 100644 docs/api/clojure/symbol_in_pictures.md
delete mode 100644 docs/api/index.md
delete mode 100644 docs/api/java/index.md
delete mode 100644 docs/api/julia/index.md
delete mode 100644 docs/api/perl/index.md
delete mode 100644 docs/api/perl/io.md
delete mode 100644 docs/api/perl/kvstore.md
delete mode 100644 docs/api/perl/module.md
delete mode 100644 docs/api/perl/ndarray.md
delete mode 100644 docs/api/perl/symbol.md
delete mode 100644 docs/api/python/autograd/autograd.md
delete mode 100644 docs/api/python/callback/callback.md
delete mode 100644 docs/api/python/contrib/contrib.md
delete mode 100644 docs/api/python/contrib/onnx.md
delete mode 100644 docs/api/python/contrib/svrg_optimization.md
delete mode 100644 docs/api/python/contrib/text.md
delete mode 100644 docs/api/python/executor/executor.md
delete mode 100644 docs/api/python/gluon/contrib.md
delete mode 100644 docs/api/python/gluon/data.md
delete mode 100644 docs/api/python/gluon/gluon.md
delete mode 100644 docs/api/python/gluon/loss.md
delete mode 100644 docs/api/python/gluon/model_zoo.md
delete mode 100644 docs/api/python/gluon/nn.md
delete mode 100644 docs/api/python/gluon/rnn.md
delete mode 100644 docs/api/python/image/image.md
delete mode 100644 docs/api/python/index.md
delete mode 100644 docs/api/python/io/io.md
delete mode 100644 docs/api/python/kvstore/kvstore.md
delete mode 100644 docs/api/python/libinfo/libinfo.md
delete mode 100644 docs/api/python/metric/metric.md
delete mode 100644 docs/api/python/model.md
delete mode 100644 docs/api/python/module/module.md
delete mode 100644 docs/api/python/ndarray/contrib.md
delete mode 100644 docs/api/python/ndarray/linalg.md
delete mode 100644 docs/api/python/ndarray/ndarray.md
delete mode 100644 docs/api/python/ndarray/random.md
delete mode 100644 docs/api/python/ndarray/sparse.md
delete mode 100644 docs/api/python/optimization/contrib.md
delete mode 100644 docs/api/python/optimization/optimization.md
delete mode 100644 docs/api/python/profiler/profiler.md
delete mode 100644 docs/api/python/rtc/rtc.md
delete mode 100644 docs/api/python/symbol/contrib.md
delete mode 100644 docs/api/python/symbol/linalg.md
delete mode 100644 docs/api/python/symbol/random.md
delete mode 100644 docs/api/python/symbol/rnn.md
delete mode 100644 docs/api/python/symbol/sparse.md
delete mode 100644 docs/api/python/symbol/symbol.md
delete mode 100644 docs/api/python/symbol_in_pictures/symbol_in_pictures.md
delete mode 100644 docs/api/python/tools/test_utils.md
delete mode 100644 docs/api/python/tools/visualization.md
delete mode 100644 docs/api/r/Makefile
delete mode 100644 docs/api/r/index.md
delete mode 100644 docs/api/scala/index.md
delete mode 100644 docs/api/scala/infer.md
delete mode 100644 docs/api/scala/io.md
delete mode 100644 docs/api/scala/kvstore.md
delete mode 100644 docs/api/scala/model.md
delete mode 100644 docs/api/scala/module.md
delete mode 100644 docs/api/scala/ndarray.md
delete mode 100644 docs/api/scala/symbol.md
delete mode 100644 docs/api/scala/symbol_in_pictures.md
delete mode 100644 docs/architecture/exception_handling.md
delete mode 100644 docs/architecture/index.md
delete mode 100644 docs/architecture/note_data_loading.md
delete mode 100644 docs/architecture/note_engine.md
delete mode 100644 docs/architecture/note_memory.md
delete mode 100644 docs/architecture/overview.md
delete mode 100644 docs/architecture/program_model.md
delete mode 100644 docs/architecture/rnn_interface.md
delete mode 100644 docs/build_version_doc/AddPackageLink.py
delete mode 100755 docs/build_version_doc/AddVersion.py
delete mode 100755 docs/build_version_doc/Dockerfile
delete mode 100644 docs/build_version_doc/README.md
delete mode 100644 docs/build_version_doc/artifacts/.htaccess
delete mode 100644 docs/build_version_doc/artifacts/404.html
delete mode 100644 docs/build_version_doc/artifacts/api.html
delete mode 100644 docs/build_version_doc/artifacts/mxnet.css
delete mode 100755 docs/build_version_doc/build_all_version.sh
delete mode 100755 docs/build_version_doc/build_doc.sh
delete mode 100755 docs/build_version_doc/build_site_tag.sh
delete mode 100755 docs/build_version_doc/setup_docs_ubuntu.sh
delete mode 100755 docs/build_version_doc/update_all_version.sh
delete mode 100644 docs/community/contribute.md
delete mode 100644 docs/community/ecosystem.md
delete mode 100644 docs/community/index.md
delete mode 100644 docs/community/mxnet_channels.md
delete mode 100644 docs/community/powered_by.md
delete mode 100644 docs/conf.py
delete mode 100644 docs/faq/add_op_in_backend.md
delete mode 100644 docs/faq/bucketing.md
delete mode 100644 docs/faq/caffe.md
delete mode 100644 docs/faq/cloud.md
delete mode 100644 docs/faq/develop_and_hack.md
delete mode 100644 docs/faq/distributed_training.md
delete mode 100644 docs/faq/env_var.md
delete mode 100644 docs/faq/faq.md
delete mode 100644 docs/faq/finetune.md
delete mode 100644 docs/faq/float16.md
delete mode 100644 docs/faq/gradient_compression.md
delete mode 100644 docs/faq/index.md
delete mode 100644 docs/faq/model_parallel_lstm.md
delete mode 100644 docs/faq/multi_devices.md
delete mode 100644 docs/faq/new_op.md
delete mode 100644 docs/faq/nnpack.md
delete mode 100644 docs/faq/perf.md
delete mode 100644 docs/faq/recordio.md
delete mode 100644 docs/faq/s3_integration.md
delete mode 100644 docs/faq/security.md
delete mode 100644 docs/faq/smart_device.md
delete mode 100644 docs/faq/tensor_inspector_tutorial.md
delete mode 100644 docs/faq/visualize_graph.md
delete mode 100644 docs/faq/why_mxnet.md
delete mode 100644 docs/gluon/index.md
delete mode 100644 docs/index.md
delete mode 100644 docs/install/amazonlinux_setup.md
delete mode 100644 docs/install/build_from_source.md
delete mode 100644 docs/install/c_plus_plus.md
delete mode 100644 docs/install/centos_setup.md
delete mode 100644 docs/install/download.md
delete mode 100644 docs/install/index.md
delete mode 100644 docs/install/install-jetson.md
delete mode 100755 docs/install/install_mxnet_ubuntu_python.sh
delete mode 100755 docs/install/install_mxnet_ubuntu_r.sh
delete mode 100644 docs/install/java_setup.md
delete mode 100644 docs/install/osx_setup.md
delete mode 100644 docs/install/requirements.txt
delete mode 100644 docs/install/scala_setup.md
delete mode 100644 docs/install/ubuntu_setup.md
delete mode 100644 docs/install/validate_mxnet.md
delete mode 100644 docs/install/windows_setup.md
delete mode 100644 docs/model_zoo/index.md
delete mode 100644 docs/mxdoc.py
rename docs/{tutorials/onnx/export_mxnet_to_onnx.md => python_docs/python/tutorials/deploy/export/onnx.md} (97%)
rename docs/{tutorials/embedded => python_docs/python/tutorials/deploy/inference}/wine_detector.md (97%)
rename docs/{tutorials/gluon => python_docs/python/tutorials/getting-started}/gluon_from_experiment_to_deployment.md (87%)
rename docs/{tutorials/gluon => python_docs/python/tutorials/getting-started}/logistic_regression_explained.md (67%)
rename docs/python_docs/python/tutorials/packages/autograd/{autograd.md => index.md} (98%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/activations.md (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/images/elu.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/images/leakyrelu.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/images/prelu.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/images/relu.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/images/selu.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/images/sigmoid.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/images/softrelu.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/images/softsign.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/images/swish.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/activations/images/tanh.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/blocks.svg (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/custom-layer.md (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/custom_layer_beginners.md (84%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/hybridize.md (91%)
copy docs/python_docs/python/tutorials/{deploy/export/export.rst => packages/gluon/blocks/index.rst} (90%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/init.md (97%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/naming.md (99%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/nn.md (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => blocks}/parameters.md (76%)
rename docs/{tutorials/gluon => python_docs/python/tutorials/packages/gluon/blocks}/save_load_params.md (95%)
delete mode 100644 docs/python_docs/python/tutorials/packages/gluon/customop.md
delete mode 100644 docs/python_docs/python/tutorials/packages/gluon/data.md
rename docs/python_docs/python/tutorials/packages/gluon/{ => image}/image-augmentation.md (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{custom-loss => loss}/custom-loss.md (93%)
rename docs/python_docs/python/tutorials/packages/gluon/{custom-loss => loss}/images/contrastive_loss.jpeg (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{custom-loss => loss}/images/inuktitut_1.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{custom-loss => loss}/images/inuktitut_2.png (100%)
copy docs/python_docs/python/tutorials/{deploy/export/export.rst => packages/gluon/loss/index.rst} (93%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => training}/fit_api_tutorial.md (91%)
copy docs/python_docs/python/tutorials/{deploy/export/export.rst => packages/gluon/training/index.rst} (91%)
copy docs/python_docs/python/tutorials/{deploy/export/export.rst => packages/gluon/training/learning_rates/index.rst} (91%)
rename docs/{tutorials/gluon => python_docs/python/tutorials/packages/gluon/training/learning_rates}/learning_rate_finder.md (97%)
rename docs/{tutorials/gluon => python_docs/python/tutorials/packages/gluon/training/learning_rates}/learning_rate_schedules.md (99%)
rename docs/{tutorials/gluon => python_docs/python/tutorials/packages/gluon/training/learning_rates}/learning_rate_schedules_advanced.md (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => training}/normalization/imgs/NCHW_BN.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => training}/normalization/imgs/NCHW_IN.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => training}/normalization/imgs/NCHW_LN.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => training}/normalization/imgs/NTC_BN.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => training}/normalization/imgs/NTC_IN.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => training}/normalization/imgs/NTC_LN.png (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => training}/normalization/imgs/data_normalization.jpeg (100%)
rename docs/python_docs/python/tutorials/packages/gluon/{normalization/normalization.md => training/normalization/index.md} (94%)
rename docs/python_docs/python/tutorials/packages/gluon/{ => training}/trainer.md (69%)
rename docs/{tutorials/python => python_docs/python/tutorials/packages/kvstore}/kvstore.md (98%)
delete mode 100644 docs/python_docs/python/tutorials/packages/module/index.rst
rename docs/{tutorials/gluon => python_docs/python/tutorials/packages/ndarray}/gotchas_numpy_in_mxnet.md (71%)
rename docs/{tutorials => python_docs/python/tutorials/packages/ndarray}/sparse/csr.md (83%)
rename docs/python_docs/python/tutorials/{deploy/export/export.rst => packages/ndarray/sparse/index.rst} (93%)
rename docs/{tutorials => python_docs/python/tutorials/packages/ndarray}/sparse/row_sparse.md (82%)
rename docs/{tutorials => python_docs/python/tutorials/packages/ndarray}/sparse/train.md (88%)
rename docs/{tutorials => python_docs/python/tutorials/packages/ndarray}/sparse/train_gluon.md (57%)
rename docs/{tutorials => python_docs/python/tutorials/packages}/onnx/fine_tuning_gluon.md (97%)
rename docs/{tutorials => python_docs/python/tutorials/packages}/onnx/inference_on_onnx_model.md (97%)
rename docs/{tutorials => python_docs/python/tutorials/packages}/onnx/super_resolution.md (98%)
rename docs/python_docs/python/tutorials/packages/optimizer/{optimizer.md => index.md} (99%)
delete mode 100644 docs/python_docs/python/tutorials/performance/backend/MKLDNN_README.md
rename docs/{tutorials/amp/amp_tutorial.md => python_docs/python/tutorials/performance/backend/amp.md} (93%)
rename docs/python_docs/python/tutorials/performance/backend/{mkl-dnn.rst => mkldnn/index.rst} (71%)
rename docs/python_docs/python/tutorials/performance/backend/{ => mkldnn}/mkldnn_quantization.md (96%)
rename docs/{tutorials/mkldnn/MKLDNN_README.md => python_docs/python/tutorials/performance/backend/mkldnn/mkldnn_readme.md} (99%)
rename docs/python_docs/python/tutorials/{packages/symbol => performance/backend/tensorrt}/index.rst (70%)
rename docs/{tutorials/tensorrt/inference_with_trt.md => python_docs/python/tutorials/performance/backend/tensorrt/tensorrt.md} (97%)
rename docs/{tutorials => python_docs/python/tutorials/performance/backend}/tensorrt/wavenet_optimized.svg (100%)
rename docs/{tutorials => python_docs/python/tutorials/performance/backend}/tensorrt/wavenet_unoptimized.svg (100%)
create mode 100644 docs/python_docs/themes/mx-theme/mxtheme/static/webfonts/fa-solid-900.eot
create mode 100644 docs/python_docs/themes/mx-theme/mxtheme/static/webfonts/fa-solid-900.svg
create mode 100644 docs/python_docs/themes/mx-theme/mxtheme/static/webfonts/fa-solid-900.ttf
create mode 100644 docs/python_docs/themes/mx-theme/mxtheme/static/webfonts/fa-solid-900.woff
create mode 100644 docs/python_docs/themes/mx-theme/mxtheme/static/webfonts/fa-solid-900.woff2
delete mode 100644 docs/settings.ini
delete mode 100644 docs/tutorials/basic/data.md
delete mode 100644 docs/tutorials/basic/index.md
delete mode 100644 docs/tutorials/basic/module.md
delete mode 100644 docs/tutorials/basic/ndarray.md
delete mode 100644 docs/tutorials/basic/ndarray_indexing.md
delete mode 100644 docs/tutorials/basic/reshape_transpose.md
delete mode 100644 docs/tutorials/basic/symbol.md
delete mode 100644 docs/tutorials/c++/basics.md
delete mode 100644 docs/tutorials/c++/index.md
delete mode 100644 docs/tutorials/c++/mxnet_cpp_inference_tutorial.md
delete mode 100644 docs/tutorials/c++/subgraphAPI.md
delete mode 100644 docs/tutorials/control_flow/ControlFlowTutorial.md
delete mode 100644 docs/tutorials/control_flow/index.md
delete mode 100644 docs/tutorials/embedded/index.md
delete mode 100644 docs/tutorials/gluon/autograd.md
delete mode 100644 docs/tutorials/gluon/custom_layer.md
delete mode 100644 docs/tutorials/gluon/customop.md
delete mode 100644 docs/tutorials/gluon/data_augmentation.md
delete mode 100644 docs/tutorials/gluon/datasets.md
delete mode 100644 docs/tutorials/gluon/fit_api_tutorial.md
delete mode 100644 docs/tutorials/gluon/gluon.md
delete mode 100644 docs/tutorials/gluon/hybrid.md
delete mode 100644 docs/tutorials/gluon/index.md
delete mode 100644 docs/tutorials/gluon/info_gan.md
delete mode 100644 docs/tutorials/gluon/mnist.md
delete mode 100644 docs/tutorials/gluon/multi_gpu.md
delete mode 100644 docs/tutorials/gluon/naming.md
delete mode 100644 docs/tutorials/gluon/ndarray.md
delete mode 100644 docs/tutorials/gluon/performance.md
delete mode 100644 docs/tutorials/gluon/pretrained_models.md
delete mode 100644 docs/tutorials/gluon/transforms.md
delete mode 100644 docs/tutorials/index.md
delete mode 100644 docs/tutorials/java/index.md
delete mode 100644 docs/tutorials/java/mxnet_java_on_intellij.md
delete mode 100644 docs/tutorials/java/ssd_inference.md
delete mode 100644 docs/tutorials/mkldnn/index.md
delete mode 100644 docs/tutorials/mkldnn/mkldnn_quantization.md
delete mode 100644 docs/tutorials/mkldnn/operator_list.md
delete mode 100644 docs/tutorials/nlp/cnn.md
delete mode 100644 docs/tutorials/nlp/index.md
delete mode 100644 docs/tutorials/onnx/index.md
delete mode 100644 docs/tutorials/python/data_augmentation.md
delete mode 100644 docs/tutorials/python/data_augmentation_with_masks.md
delete mode 100644 docs/tutorials/python/index.md
delete mode 100644 docs/tutorials/python/linear-regression.md
delete mode 100644 docs/tutorials/python/mnist.md
delete mode 100644 docs/tutorials/python/module_to_gluon.md
delete mode 100644 docs/tutorials/python/predict_image.md
delete mode 100644 docs/tutorials/python/profiler.md
delete mode 100644 docs/tutorials/python/types_of_data_augmentation.md
delete mode 100644 docs/tutorials/r/CallbackFunction.md
delete mode 100644 docs/tutorials/r/CustomIterator.md
delete mode 100644 docs/tutorials/r/CustomLossFunction.md
delete mode 100644 docs/tutorials/r/MultidimLstm.md
delete mode 100644 docs/tutorials/r/charRnnModel.md
delete mode 100644 docs/tutorials/r/classifyRealImageWithPretrainedModel.md
delete mode 100644 docs/tutorials/r/fiveMinutesNeuralNetwork.md
delete mode 100644 docs/tutorials/r/index.md
delete mode 100644 docs/tutorials/r/mnistCompetition.md
delete mode 100644 docs/tutorials/r/ndarray.md
delete mode 100644 docs/tutorials/r/symbol.md
delete mode 100644 docs/tutorials/scala/char_lstm.md
delete mode 100644 docs/tutorials/scala/index.md
delete mode 100644 docs/tutorials/scala/mnist.md
delete mode 100644 docs/tutorials/scala/mxnet_scala_on_intellij.md
delete mode 100644 docs/tutorials/sparse/index.md
delete mode 100644 docs/tutorials/speech_recognition/ctc.md
delete mode 100644 docs/tutorials/speech_recognition/index.md
delete mode 100644 docs/tutorials/tensorrt/index.md
delete mode 100644 docs/tutorials/unsupervised_learning/gan.md
delete mode 100644 docs/tutorials/unsupervised_learning/index.md
delete mode 100644 docs/tutorials/vision/cnn_visualization.md
delete mode 100644 docs/tutorials/vision/index.md
delete mode 100644 docs/tutorials/vision/large_scale_classification.md
copy ci/other/ci_deploy_doc.sh => julia/src/exceptions.jl (67%)
mode change 100755 => 100644
copy ci/other/ci_deploy_doc.sh => julia/test/unittest/context.jl (67%)
mode change 100755 => 100644
copy ci/other/ci_deploy_doc.sh => julia/test/unittest/exceptions.jl (67%)
mode change 100755 => 100644
create mode 100644 src/operator/numpy/linalg/np_gesvd-inl.h
create mode 100644 src/operator/numpy/linalg/np_gesvd.cc
rename docs/_static/selectlang.js => src/operator/numpy/linalg/np_gesvd.cu (56%)
create mode 100644 src/operator/numpy/np_nonzero_op-inl.h
create mode 100644 src/operator/numpy/np_nonzero_op.cc
create mode 100644 src/operator/numpy/np_nonzero_op.cu
create mode 100644 src/operator/numpy/np_trace_op-inl.h
create mode 100644 src/operator/numpy/np_trace_op.cc
copy src/operator/{leaky_relu.cu => numpy/np_trace_op.cu} (73%)
create mode 100644 src/operator/numpy/np_tril_op-inl.h
create mode 100644 src/operator/numpy/np_tril_op.cc
copy src/operator/{leaky_relu.cu => numpy/np_tril_op.cu} (73%)
create mode 100644 src/operator/numpy/np_unique_op.cc
create mode 100644 src/operator/numpy/np_unique_op.cu
create mode 100644 src/operator/numpy/np_unique_op.h
create mode 100644 src/operator/numpy/np_window_op.cc
copy src/operator/{leaky_relu.cu => numpy/np_window_op.cu} (65%)
create mode 100644 src/operator/numpy/np_window_op.h
[incubator-mxnet] 01/01: Merge remote-tracking branch
'origin/master' into mkldnn-v1.0
Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
taolv pushed a commit to branch mkldnn-v1.0
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
commit 4fba4c3ce4333ce4e801a117d9eee615ca2dc412
Merge: ce5ec06 512d25a
Author: Tao Lv <ta...@intel.com>
AuthorDate: Sun Sep 29 19:17:31 2019 +0800
Merge remote-tracking branch 'origin/master' into mkldnn-v1.0
Conflicts:
3rdparty/mkldnn
ci/docker/install/ubuntu_mkl.sh
ci/docker/install/ubuntu_mklml.sh
cmake/DownloadMKLML.cmake
src/operator/nn/mkldnn/mkldnn_act-inl.h
src/operator/nn/mkldnn/mkldnn_act.cc
.github/PULL_REQUEST_TEMPLATE.md | 2 +-
3rdparty/mshadow/mshadow/base.h | 43 +-
MKLDNN_README.md | 2 +-
Makefile | 28 +-
NEWS.md | 14 +-
R-package/DESCRIPTION | 1 +
R-package/R/zzz.R | 2 +-
R-package/README.md | 2 +-
R-package/src/export.cc | 13 +
R-package/vignettes/MultidimLstm.Rmd | 2 +-
README.md | 37 +-
benchmark/opperf/README.md | 20 +-
benchmark/opperf/utils/benchmark_utils.py | 1 +
cd/Jenkinsfile_cd_pipeline | 9 +
cd/Jenkinsfile_release_job | 42 +-
cd/Jenkinsfile_utils.groovy | 29 +-
cd/README.md | 9 +
cd/img/job_setup.png | Bin 0 -> 250237 bytes
ci/Jenkinsfile_utils.groovy | 64 +-
ci/docker/Dockerfile.build.test.arm_qemu | 1 +
ci/docker/Dockerfile.build.ubuntu_blc | 1 +
ci/docker/Dockerfile.build.ubuntu_build_cuda | 1 +
ci/docker/Dockerfile.build.ubuntu_cpu | 2 +-
...ld.ubuntu_blc => Dockerfile.build.ubuntu_cpu_c} | 15 +-
...untu_cpu => Dockerfile.build.ubuntu_cpu_jekyll} | 78 +-
...buntu_cpu => Dockerfile.build.ubuntu_cpu_julia} | 2 +-
...ubuntu_blc => Dockerfile.build.ubuntu_cpu_lite} | 17 +-
...untu_blc => Dockerfile.build.ubuntu_cpu_python} | 17 +-
...ld.ubuntu_blc => Dockerfile.build.ubuntu_cpu_r} | 13 +-
...buntu_blc => Dockerfile.build.ubuntu_cpu_scala} | 18 +-
ci/docker/Dockerfile.build.ubuntu_gpu_cu100 | 3 +-
ci/docker/Dockerfile.build.ubuntu_gpu_cu101 | 3 +-
ci/docker/Dockerfile.build.ubuntu_gpu_cu80 | 3 +-
ci/docker/Dockerfile.build.ubuntu_gpu_cu90 | 3 +-
ci/docker/Dockerfile.build.ubuntu_gpu_cu92 | 3 +-
ci/docker/Dockerfile.build.ubuntu_gpu_tensorrt | 1 +
ci/docker/Dockerfile.build.ubuntu_nightly_cpu | 3 +-
ci/docker/Dockerfile.build.ubuntu_nightly_gpu | 2 +-
.../install/{docs_requirements => requirements} | 9 +-
ci/docker/install/ubuntu_clojure.sh | 2 +-
ci/docker/install/ubuntu_docs.sh | 6 +-
ci/docker/install/ubuntu_mkl.sh | 2 +-
ci/docker/install/ubuntu_python.sh | 4 +-
ci/docker/install/ubuntu_r.sh | 7 +-
ci/docker/runtime_functions.sh | 355 ++-
ci/jenkins/Jenkins_steps.groovy | 255 +-
ci/jenkins/Jenkinsfile_website | 7 +-
.../jenkins/Jenkinsfile_website_c_docs | 30 +-
...le_website => Jenkinsfile_website_clojure_docs} | 10 +-
...enkinsfile_website => Jenkinsfile_website_full} | 26 +-
...insfile_website => Jenkinsfile_website_full_pr} | 17 +-
...sfile_website => Jenkinsfile_website_java_docs} | 10 +-
...ile_website => Jenkinsfile_website_jekyll_docs} | 10 +-
...file_website => Jenkinsfile_website_julia_docs} | 10 +-
.../jenkins/Jenkinsfile_website_mxnet_build | 28 +-
...ile_website => Jenkinsfile_website_python_docs} | 10 +-
...kinsfile_website => Jenkinsfile_website_r_docs} | 10 +-
...file_website => Jenkinsfile_website_scala_docs} | 10 +-
ci/other/ci_deploy_doc.sh | 4 +-
.../amp/index.md => ci/publish/website/README.md | 9 +-
.../website/beta-deploy.sh} | 26 +-
ci/publish/website/deploy.sh | 99 +
.../website/publish_artifacts.sh} | 24 +-
contrib/clojure-package/README.md | 6 +-
.../examples/pre-trained-models/README.md | 6 +-
.../clojure-package/examples/tutorial/README.md | 2 +-
.../examples/tutorial/src/tutorial/kvstore.clj | 2 +-
.../examples/tutorial/src/tutorial/module.clj | 2 +-
.../examples/tutorial/src/tutorial/ndarray.clj | 2 +-
.../examples/tutorial/src/tutorial/symbol.clj | 2 +-
contrib/tvmop/basic/ufunc.py | 137 +-
cpp-package/README.md | 6 +-
docs/Dockerfile | 63 -
docs/Doxyfile | 2370 ------------------
docs/Makefile | 214 --
docs/README.md | 166 +-
docs/_static/cn.svg | 20 -
docs/_static/js/auto_module_index.js | 46 -
docs/_static/js/clipboard.js | 778 ------
docs/_static/js/clipboard.min.js | 7 -
docs/_static/js/copycode.js | 110 -
docs/_static/js/docversion.js | 47 -
docs/_static/js/navbar.js | 117 -
docs/_static/js/options.js | 118 -
docs/_static/js/page.js | 93 -
docs/_static/js/search.js | 39 -
docs/_static/js/sidebar.js | 277 ---
docs/_static/mxnet-theme/footer.html | 16 -
docs/_static/mxnet-theme/index.html | 73 -
docs/_static/mxnet-theme/layout.html | 201 --
docs/_static/mxnet-theme/navbar.html | 141 --
docs/_static/mxnet-theme/theme.conf | 2 -
docs/_static/mxnet.css | 1474 -----------
docs/_static/searchtools_custom.js | 853 -------
.../tutorials/tensorrt/wavenet_optimized.png | Bin 275440 -> 0 bytes
.../tutorials/tensorrt/wavenet_unoptimized.png | Bin 614819 -> 0 bytes
docs/_static/us.svg | 117 -
docs/api/c++/index.md | 72 -
docs/api/clojure/index.md | 61 -
docs/api/clojure/kvstore.md | 103 -
docs/api/clojure/module.md | 252 --
docs/api/clojure/ndarray.md | 136 -
docs/api/clojure/symbol.md | 149 --
docs/api/clojure/symbol_in_pictures.md | 94 -
docs/api/index.md | 33 -
docs/api/java/index.md | 32 -
docs/api/julia/index.md | 34 -
docs/api/perl/index.md | 91 -
docs/api/perl/io.md | 129 -
docs/api/perl/kvstore.md | 126 -
docs/api/perl/module.md | 62 -
docs/api/perl/ndarray.md | 59 -
docs/api/perl/symbol.md | 144 --
docs/api/python/autograd/autograd.md | 176 --
docs/api/python/callback/callback.md | 44 -
docs/api/python/contrib/contrib.md | 29 -
docs/api/python/contrib/onnx.md | 78 -
docs/api/python/contrib/svrg_optimization.md | 103 -
docs/api/python/contrib/text.md | 418 ----
docs/api/python/executor/executor.md | 59 -
docs/api/python/gluon/contrib.md | 179 --
docs/api/python/gluon/data.md | 155 --
docs/api/python/gluon/gluon.md | 189 --
docs/api/python/gluon/loss.md | 59 -
docs/api/python/gluon/model_zoo.md | 257 --
docs/api/python/gluon/nn.md | 114 -
docs/api/python/gluon/rnn.md | 99 -
docs/api/python/image/image.md | 232 --
docs/api/python/index.md | 219 --
docs/api/python/io/io.md | 203 --
docs/api/python/kvstore/kvstore.md | 146 --
docs/api/python/libinfo/libinfo.md | 110 -
docs/api/python/metric/metric.md | 45 -
docs/api/python/model.md | 175 --
docs/api/python/module/module.md | 227 --
docs/api/python/ndarray/contrib.md | 100 -
docs/api/python/ndarray/linalg.md | 75 -
docs/api/python/ndarray/ndarray.md | 745 ------
docs/api/python/ndarray/random.md | 77 -
docs/api/python/ndarray/sparse.md | 618 -----
docs/api/python/optimization/contrib.md | 69 -
docs/api/python/optimization/optimization.md | 183 --
docs/api/python/profiler/profiler.md | 82 -
docs/api/python/rtc/rtc.md | 46 -
docs/api/python/symbol/contrib.md | 97 -
docs/api/python/symbol/linalg.md | 78 -
docs/api/python/symbol/random.md | 76 -
docs/api/python/symbol/rnn.md | 378 ---
docs/api/python/symbol/sparse.md | 241 --
docs/api/python/symbol/symbol.md | 739 ------
.../symbol_in_pictures/symbol_in_pictures.md | 94 -
docs/api/python/tools/test_utils.md | 44 -
docs/api/python/tools/visualization.md | 44 -
docs/api/r/Makefile | 34 -
docs/api/r/index.md | 44 -
docs/api/scala/index.md | 82 -
docs/api/scala/infer.md | 59 -
docs/api/scala/io.md | 182 --
docs/api/scala/kvstore.md | 122 -
docs/api/scala/model.md | 135 -
docs/api/scala/module.md | 155 --
docs/api/scala/ndarray.md | 174 --
docs/api/scala/symbol.md | 148 --
docs/api/scala/symbol_in_pictures.md | 93 -
docs/architecture/exception_handling.md | 125 -
docs/architecture/index.md | 46 -
docs/architecture/note_data_loading.md | 261 --
docs/architecture/note_engine.md | 385 ---
docs/architecture/note_memory.md | 345 ---
docs/architecture/overview.md | 875 -------
docs/architecture/program_model.md | 623 -----
docs/architecture/rnn_interface.md | 117 -
docs/build_version_doc/AddPackageLink.py | 58 -
docs/build_version_doc/AddVersion.py | 91 -
docs/build_version_doc/Dockerfile | 65 -
docs/build_version_doc/README.md | 334 ---
docs/build_version_doc/artifacts/.htaccess | 24 -
docs/build_version_doc/artifacts/404.html | 50 -
docs/build_version_doc/artifacts/api.html | 50 -
docs/build_version_doc/artifacts/mxnet.css | 1479 -----------
docs/build_version_doc/build_all_version.sh | 185 --
docs/build_version_doc/build_doc.sh | 148 --
docs/build_version_doc/build_site_tag.sh | 65 -
docs/build_version_doc/setup_docs_ubuntu.sh | 151 --
docs/build_version_doc/update_all_version.sh | 106 -
docs/community/contribute.md | 188 --
docs/community/ecosystem.md | 88 -
docs/community/index.md | 28 -
docs/community/mxnet_channels.md | 27 -
docs/community/powered_by.md | 83 -
docs/conf.py | 217 --
docs/faq/add_op_in_backend.md | 679 -----
docs/faq/bucketing.md | 113 -
docs/faq/caffe.md | 201 --
docs/faq/cloud.md | 200 --
docs/faq/develop_and_hack.md | 26 -
docs/faq/distributed_training.md | 324 ---
docs/faq/env_var.md | 352 ---
docs/faq/faq.md | 86 -
docs/faq/finetune.md | 228 --
docs/faq/float16.md | 248 --
docs/faq/gradient_compression.md | 124 -
docs/faq/index.md | 103 -
docs/faq/model_parallel_lstm.md | 92 -
docs/faq/multi_devices.md | 104 -
docs/faq/new_op.md | 388 ---
docs/faq/nnpack.md | 155 --
docs/faq/perf.md | 302 ---
docs/faq/recordio.md | 100 -
docs/faq/s3_integration.md | 116 -
docs/faq/security.md | 41 -
docs/faq/smart_device.md | 112 -
docs/faq/tensor_inspector_tutorial.md | 168 --
docs/faq/visualize_graph.md | 81 -
docs/faq/why_mxnet.md | 216 --
docs/gluon/index.md | 127 -
docs/index.md | 32 -
docs/install/amazonlinux_setup.md | 25 -
docs/install/build_from_source.md | 321 ---
docs/install/c_plus_plus.md | 47 -
docs/install/centos_setup.md | 107 -
docs/install/download.md | 75 -
docs/install/index.md | 1567 ------------
docs/install/install-jetson.md | 235 --
docs/install/install_mxnet_ubuntu_python.sh | 74 -
docs/install/install_mxnet_ubuntu_r.sh | 55 -
docs/install/java_setup.md | 128 -
docs/install/osx_setup.md | 268 --
docs/install/requirements.txt | 8 -
docs/install/scala_setup.md | 157 --
docs/install/ubuntu_setup.md | 554 -----
docs/install/validate_mxnet.md | 219 --
docs/install/windows_setup.md | 508 ----
docs/model_zoo/index.md | 120 -
docs/mxdoc.py | 510 ----
docs/python_docs/_static/mxnet.css | 2 +-
docs/python_docs/python/scripts/conf.py | 4 +-
.../python/tutorials/deploy/export/index.rst | 13 +-
.../python/tutorials/deploy/export/onnx.md} | 13 +-
docs/python_docs/python/tutorials/deploy/index.rst | 6 +-
.../python/tutorials/deploy/inference/index.rst | 38 +-
.../tutorials/deploy/inference}/wine_detector.md | 2 +-
.../python/tutorials/deploy/run-on-aws/cloud.rst | 5 +-
.../python/tutorials/deploy/run-on-aws/index.rst | 4 +-
.../python/tutorials/extend/custom_layer.md | 105 +-
.../python/tutorials/extend/customop.md | 2 +-
docs/python_docs/python/tutorials/extend/index.rst | 12 +-
.../getting-started/crash-course/5-predict.md | 2 +-
.../gluon_from_experiment_to_deployment.md | 31 +-
.../python/tutorials/getting-started/index.rst | 28 +-
.../logistic_regression_explained.md | 46 +-
.../tutorials/getting-started/to-mxnet/index.rst | 2 +-
.../tutorials/getting-started/to-mxnet/pytorch.md | 6 +-
.../packages/autograd/{autograd.md => index.md} | 4 +-
.../gluon/{ => blocks}/activations/activations.md | 0
.../gluon/{ => blocks}/activations/images/elu.png | Bin
.../{ => blocks}/activations/images/leakyrelu.png | Bin
.../{ => blocks}/activations/images/prelu.png | Bin
.../gluon/{ => blocks}/activations/images/relu.png | Bin
.../gluon/{ => blocks}/activations/images/selu.png | Bin
.../{ => blocks}/activations/images/sigmoid.png | Bin
.../{ => blocks}/activations/images/softrelu.png | Bin
.../{ => blocks}/activations/images/softsign.png | Bin
.../{ => blocks}/activations/images/swish.png | Bin
.../gluon/{ => blocks}/activations/images/tanh.png | Bin
.../packages/gluon/{ => blocks}/blocks.svg | 0
.../packages/gluon/{ => blocks}/custom-layer.md | 0
.../gluon/{ => blocks}/custom_layer_beginners.md | 20 +-
.../packages/gluon/{ => blocks}/hybridize.md | 8 +-
.../export.rst => packages/gluon/blocks/index.rst} | 11 +-
.../tutorials/packages/gluon/{ => blocks}/init.md | 8 +-
.../packages/gluon/{ => blocks}/naming.md | 2 +-
.../tutorials/packages/gluon/{ => blocks}/nn.md | 0
.../packages/gluon/{ => blocks}/parameters.md | 20 +-
.../packages/gluon/blocks}/save_load_params.md | 4 +-
.../python/tutorials/packages/gluon/customop.md | 227 --
.../python/tutorials/packages/gluon/data.md | 141 --
.../gluon/{ => image}/image-augmentation.md | 0
.../tutorials/packages/gluon/image/index.rst | 6 +-
.../python/tutorials/packages/gluon/image/mnist.md | 16 +-
.../packages/gluon/image/pretrained_models.md | 8 +-
.../python/tutorials/packages/gluon/index.rst | 88 +-
.../gluon/{custom-loss => loss}/custom-loss.md | 2 +-
.../images/contrastive_loss.jpeg | Bin
.../{custom-loss => loss}/images/inuktitut_1.png | Bin
.../{custom-loss => loss}/images/inuktitut_2.png | Bin
.../export.rst => packages/gluon/loss/index.rst} | 10 +-
.../python/tutorials/packages/gluon/loss/loss.md | 24 +-
.../python/tutorials/packages/gluon/text/index.rst | 35 +-
.../tutorials/packages/gluon/text/transformer.rst | 2 +-
.../gluon/{ => training}/fit_api_tutorial.md | 10 +-
.../gluon/training/index.rst} | 11 +-
.../gluon/training/learning_rates/index.rst} | 11 +-
.../learning_rates}/learning_rate_finder.md | 4 +-
.../learning_rates}/learning_rate_schedules.md | 4 +-
.../learning_rate_schedules_advanced.md | 0
.../{ => training}/normalization/imgs/NCHW_BN.png | Bin
.../{ => training}/normalization/imgs/NCHW_IN.png | Bin
.../{ => training}/normalization/imgs/NCHW_LN.png | Bin
.../{ => training}/normalization/imgs/NTC_BN.png | Bin
.../{ => training}/normalization/imgs/NTC_IN.png | Bin
.../{ => training}/normalization/imgs/NTC_LN.png | Bin
.../normalization/imgs/data_normalization.jpeg | Bin
.../normalization/index.md} | 4 +-
.../packages/gluon/{ => training}/trainer.md | 24 +-
.../python/tutorials/packages/index.rst | 54 +-
.../python/tutorials/packages/kvstore/index.rst | 4 +-
.../python/tutorials/packages/kvstore}/kvstore.md | 2 +-
.../python/tutorials/packages/module/index.rst | 52 -
.../tutorials/packages/ndarray/01-ndarray-intro.md | 6 +-
.../packages/ndarray}/gotchas_numpy_in_mxnet.md | 30 +-
.../python/tutorials/packages/ndarray/index.rst | 46 +-
.../tutorials/packages/ndarray}/sparse/csr.md | 250 +-
.../ndarray/sparse/index.rst} | 9 +-
.../packages/ndarray}/sparse/row_sparse.md | 195 +-
.../tutorials/packages/ndarray}/sparse/train.md | 73 +-
.../packages/ndarray}/sparse/train_gluon.md | 185 +-
.../tutorials/packages}/onnx/fine_tuning_gluon.md | 10 +-
.../python/tutorials/packages/onnx/index.rst | 12 +-
.../packages}/onnx/inference_on_onnx_model.md | 6 +-
.../tutorials/packages}/onnx/super_resolution.md | 2 +-
.../packages/optimizer/{optimizer.md => index.md} | 4 +-
.../python/tutorials/packages/viz/index.rst | 7 +-
.../tutorials/performance/backend/MKLDNN_README.md | 291 ---
.../python/tutorials/performance/backend/amp.md} | 36 +-
.../python/tutorials/performance/backend/index.rst | 27 +-
.../backend/{mkl-dnn.rst => mkldnn/index.rst} | 19 +-
.../backend/{ => mkldnn}/mkldnn_quantization.md | 8 +-
.../performance/backend/mkldnn/mkldnn_readme.md} | 4 +-
.../tutorials/performance/backend/profiler.md | 13 +-
.../backend/tensorrt}/index.rst | 22 +-
.../performance/backend/tensorrt/tensorrt.md} | 4 +-
.../backend}/tensorrt/wavenet_optimized.svg | 0
.../backend}/tensorrt/wavenet_unoptimized.svg | 0
.../tutorials/performance/compression/index.rst | 23 +-
.../python/tutorials/performance/index.rst | 10 +-
.../themes/mx-theme/mxtheme/drawer.html | 2 +-
.../themes/mx-theme/mxtheme/layout.html | 2 +-
.../mxtheme/static/sphinx_materialdesign_theme.css | 2 +-
.../static/sphinx_materialdesign_theme.css.map | 2 +-
.../mxtheme/static/sphinx_materialdesign_theme.js | 2 +-
.../static/sphinx_materialdesign_theme.js.map | 2 +-
.../mxtheme/static/webfonts/fa-solid-900.eot | Bin 0 -> 197172 bytes
.../mxtheme/static/webfonts/fa-solid-900.svg | 2618 ++++++++++++++++++++
.../mxtheme/static/webfonts/fa-solid-900.ttf | Bin 0 -> 196952 bytes
.../mxtheme/static/webfonts/fa-solid-900.woff | Bin 0 -> 95436 bytes
.../mxtheme/static/webfonts/fa-solid-900.woff2 | Bin 0 -> 73852 bytes
.../mx-theme/src/js/sphinx_materialdesign_theme.js | 3 +-
.../themes/mx-theme/src/scss/layout/_layout.scss | 3 +-
docs/settings.ini | 172 --
docs/static_site/src/.htaccess | 4 +
docs/static_site/src/404.html | 10 +-
docs/static_site/src/_config_prod.yml | 3 +-
.../_includes/get_started/devices/nvidia-jetson.md | 2 +-
.../_includes/get_started/devices/raspberry_pi.md | 6 +-
.../src/_includes/get_started/get_started.html | 8 +-
.../src/_includes/get_started/linux/cpp/cpp.md | 2 +-
.../src/_includes/get_started/linux/java/cpu.md | 2 +-
.../src/_includes/get_started/linux/java/gpu.md | 2 +-
.../get_started/linux/julia/build-from-source.md | 2 +-
.../src/_includes/get_started/linux/perl/perl.md | 2 +-
.../get_started/linux/python/cpu/docker.md | 2 +-
.../_includes/get_started/linux/python/cpu/pip.md | 10 +-
.../get_started/linux/python/gpu/docker.md | 2 +-
.../src/_includes/get_started/linux/r/cpu.md | 2 +-
.../src/_includes/get_started/linux/r/gpu.md | 2 +-
.../src/_includes/get_started/macos/cpp/cpp.md | 2 +-
.../src/_includes/get_started/macos/java/cpu.md | 2 +-
.../get_started/macos/julia/build-from-source.md | 2 +-
.../src/_includes/get_started/macos/perl/perl.md | 2 +-
.../macos/python/cpu/build-from-source.md | 2 +-
.../get_started/macos/python/cpu/docker.md | 2 +-
.../macos/python/gpu/build-from-source.md | 2 +-
.../get_started/macos/python/gpu/pip_docker.md | 2 +-
.../src/_includes/get_started/macos/r/cpu.md | 2 +-
.../src/_includes/get_started/pip_snippet.md | 2 +-
.../src/_includes/get_started/windows/cpp/cpp.md | 2 +-
.../get_started/windows/julia/build-from-source.md | 2 +-
.../src/_includes/get_started/windows/perl/perl.md | 2 +-
.../windows/python/cpu/build-from-source.md | 2 +-
.../get_started/windows/python/cpu/docker.md | 2 +-
.../windows/python/gpu/build-from-source.md | 2 +-
.../src/_includes/get_started/windows/r/cpu.md | 2 +-
.../src/_includes/get_started/windows/r/gpu.md | 2 +-
docs/static_site/src/pages/api/api.html | 33 +-
.../pages/api/architecture/exception_handling.md | 14 +-
.../pages/api/architecture/note_data_loading.md | 14 +-
.../src/pages/api/architecture/note_engine.md | 20 +-
.../src/pages/api/architecture/note_memory.md | 15 +-
.../src/pages/api/architecture/overview.md | 16 +-
.../src/pages/api/architecture/program_model.md | 23 +-
.../src/pages/api/clojure/docs/tutorials/index.md | 14 +-
.../pages/api/clojure/docs/tutorials/kvstore.md | 16 +-
.../src/pages/api/clojure/docs/tutorials/module.md | 27 +-
.../pages/api/clojure/docs/tutorials/ndarray.md | 20 +-
.../src/pages/api/clojure/docs/tutorials/symbol.md | 25 +-
.../clojure/docs/tutorials/symbol_in_pictures.md | 18 +-
docs/static_site/src/pages/api/clojure/index.md | 16 +-
.../src/pages/api/cpp/docs/tutorials/basics.md | 22 +-
.../src/pages/api/cpp/docs/tutorials/index.md | 12 +-
.../docs/tutorials/mxnet_cpp_inference_tutorial.md | 38 +-
.../pages/api/cpp/docs/tutorials/subgraphAPI.md | 24 +-
docs/static_site/src/pages/api/cpp/index.md | 20 +-
.../src/pages/api/faq/add_op_in_backend.md | 55 +-
docs/static_site/src/pages/api/faq/caffe.md | 18 +-
docs/static_site/src/pages/api/faq/cloud.md | 30 +-
.../src/pages/api/faq/distributed_training.md | 28 +-
docs/static_site/src/pages/api/faq/env_var.md | 26 +-
docs/static_site/src/pages/api/faq/float16.md | 28 +-
.../src/pages/api/faq/gradient_compression.md | 18 +-
.../src/pages/api/faq/model_parallel_lstm.md | 20 +-
docs/static_site/src/pages/api/faq/new_op.md | 20 +-
docs/static_site/src/pages/api/faq/nnpack.md | 18 +-
docs/static_site/src/pages/api/faq/perf.md | 24 +-
docs/static_site/src/pages/api/faq/recordio.md | 18 +-
.../src/pages/api/faq/s3_integration.md | 18 +-
docs/static_site/src/pages/api/faq/security.md | 16 +-
docs/static_site/src/pages/api/faq/smart_device.md | 16 +-
.../src/pages/api/faq/visualize_graph.md | 22 +-
docs/static_site/src/pages/api/faq/why_mxnet.md | 18 +-
.../src/pages/api/java/docs/tutorials/index.md | 12 +-
.../java/docs/tutorials/mxnet_java_on_intellij.md | 22 +-
.../pages/api/java/docs/tutorials/ssd_inference.md | 22 +-
docs/static_site/src/pages/api/java/index.md | 25 +-
docs/static_site/src/pages/api/julia/index.md | 18 +-
.../src/pages/api/perl/docs/tutorials/index.md | 16 +-
.../src/pages/api/perl/docs/tutorials/io.md | 14 +-
.../src/pages/api/perl/docs/tutorials/kvstore.md | 14 +-
.../src/pages/api/perl/docs/tutorials/module.md | 14 +-
.../src/pages/api/perl/docs/tutorials/ndarray.md | 16 +-
.../src/pages/api/perl/docs/tutorials/symbol.md | 16 +-
docs/static_site/src/pages/api/perl/index.md | 16 +-
docs/static_site/src/pages/api/python/index.md | 16 +-
.../api/r/docs/tutorials/callback_function.md | 22 +-
.../pages/api/r/docs/tutorials/char_rnn_model.md | 14 +-
.../classify_real_image_with_pretrained_model.md | 20 +-
.../pages/api/r/docs/tutorials/custom_iterator.md | 16 +-
.../api/r/docs/tutorials/custom_loss_function.md | 22 +-
.../docs/tutorials/five_minutes_neural_network.md | 22 +-
.../src/pages/api/r/docs/tutorials/index.md | 14 +-
.../api/r/docs/tutorials/mnist_competition.md | 16 +-
.../pages/api/r/docs/tutorials/multi_dim_lstm.md | 16 +-
.../src/pages/api/r/docs/tutorials/ndarray.md | 26 +-
.../src/pages/api/r/docs/tutorials/symbol.md | 24 +-
docs/static_site/src/pages/api/r/index.md | 16 +-
.../pages/api/scala/docs/tutorials/char_lstm.md | 587 +++--
.../src/pages/api/scala/docs/tutorials/index.md | 12 +-
.../src/pages/api/scala/docs/tutorials/infer.md | 23 +-
.../src/pages/api/scala/docs/tutorials/io.md | 167 +-
.../src/pages/api/scala/docs/tutorials/kvstore.md | 16 +-
.../src/pages/api/scala/docs/tutorials/mnist.md | 20 +-
.../src/pages/api/scala/docs/tutorials/model.md | 30 +-
.../src/pages/api/scala/docs/tutorials/module.md | 28 +-
.../docs/tutorials/mxnet_scala_on_intellij.md | 25 +-
.../src/pages/api/scala/docs/tutorials/ndarray.md | 18 +-
.../src/pages/api/scala/docs/tutorials/symbol.md | 32 +-
.../api/scala/docs/tutorials/symbol_in_pictures.md | 18 +-
docs/static_site/src/pages/api/scala/index.md | 16 +-
docs/static_site/src/pages/community/contribute.md | 18 +-
.../src/pages/get_started/build_from_source.md | 58 +-
.../src/pages/get_started/c_plus_plus.md | 18 +-
.../src/pages/get_started/centos_setup.md | 14 +-
docs/static_site/src/pages/get_started/download.md | 14 +-
docs/static_site/src/pages/get_started/index.html | 16 +-
.../src/pages/get_started/java_setup.md | 26 +-
.../src/pages/get_started/jetson_setup.md | 14 +-
.../static_site/src/pages/get_started/osx_setup.md | 31 +-
.../src/pages/get_started/scala_setup.md | 26 +-
.../src/pages/get_started/ubuntu_setup.md | 34 +-
.../src/pages/get_started/validate_mxnet.md | 14 +-
.../src/pages/get_started/windows_setup.md | 36 +-
docs/tutorials/basic/data.md | 474 ----
docs/tutorials/basic/index.md | 25 -
docs/tutorials/basic/module.md | 364 ---
docs/tutorials/basic/ndarray.md | 491 ----
docs/tutorials/basic/ndarray_indexing.md | 394 ---
docs/tutorials/basic/reshape_transpose.md | 214 --
docs/tutorials/basic/symbol.md | 460 ----
docs/tutorials/c++/basics.md | 213 --
docs/tutorials/c++/index.md | 25 -
docs/tutorials/c++/mxnet_cpp_inference_tutorial.md | 284 ---
docs/tutorials/c++/subgraphAPI.md | 166 --
docs/tutorials/control_flow/ControlFlowTutorial.md | 405 ---
docs/tutorials/control_flow/index.md | 25 -
docs/tutorials/embedded/index.md | 25 -
docs/tutorials/gluon/autograd.md | 72 -
docs/tutorials/gluon/custom_layer.md | 265 --
docs/tutorials/gluon/customop.md | 238 --
docs/tutorials/gluon/data_augmentation.md | 235 --
docs/tutorials/gluon/datasets.md | 333 ---
docs/tutorials/gluon/fit_api_tutorial.md | 271 --
docs/tutorials/gluon/gluon.md | 159 --
docs/tutorials/gluon/hybrid.md | 266 --
docs/tutorials/gluon/index.md | 25 -
docs/tutorials/gluon/info_gan.md | 456 ----
docs/tutorials/gluon/mnist.md | 460 ----
docs/tutorials/gluon/multi_gpu.md | 193 --
docs/tutorials/gluon/naming.md | 210 --
docs/tutorials/gluon/ndarray.md | 162 --
docs/tutorials/gluon/performance.md | 483 ----
docs/tutorials/gluon/pretrained_models.md | 392 ---
docs/tutorials/gluon/transforms.md | 173 --
docs/tutorials/index.md | 257 --
docs/tutorials/java/index.md | 25 -
docs/tutorials/java/mxnet_java_on_intellij.md | 180 --
docs/tutorials/java/ssd_inference.md | 203 --
docs/tutorials/mkldnn/index.md | 25 -
docs/tutorials/mkldnn/mkldnn_quantization.md | 259 --
docs/tutorials/mkldnn/operator_list.md | 90 -
docs/tutorials/nlp/cnn.md | 468 ----
docs/tutorials/nlp/index.md | 25 -
docs/tutorials/onnx/index.md | 25 -
docs/tutorials/python/data_augmentation.md | 180 --
.../python/data_augmentation_with_masks.md | 261 --
docs/tutorials/python/index.md | 25 -
docs/tutorials/python/linear-regression.md | 215 --
docs/tutorials/python/mnist.md | 222 --
docs/tutorials/python/module_to_gluon.md | 365 ---
docs/tutorials/python/predict_image.md | 171 --
docs/tutorials/python/profiler.md | 336 ---
.../tutorials/python/types_of_data_augmentation.md | 395 ---
docs/tutorials/r/CallbackFunction.md | 271 --
docs/tutorials/r/CustomIterator.md | 219 --
docs/tutorials/r/CustomLossFunction.md | 223 --
docs/tutorials/r/MultidimLstm.md | 319 ---
docs/tutorials/r/charRnnModel.md | 310 ---
.../r/classifyRealImageWithPretrainedModel.md | 201 --
docs/tutorials/r/fiveMinutesNeuralNetwork.md | 334 ---
docs/tutorials/r/index.md | 31 -
docs/tutorials/r/mnistCompetition.md | 356 ---
docs/tutorials/r/ndarray.md | 223 --
docs/tutorials/r/symbol.md | 147 --
docs/tutorials/scala/char_lstm.md | 526 ----
docs/tutorials/scala/index.md | 34 -
docs/tutorials/scala/mnist.md | 134 -
docs/tutorials/scala/mxnet_scala_on_intellij.md | 449 ----
docs/tutorials/sparse/index.md | 25 -
docs/tutorials/speech_recognition/ctc.md | 43 -
docs/tutorials/speech_recognition/index.md | 25 -
docs/tutorials/tensorrt/index.md | 25 -
docs/tutorials/unsupervised_learning/gan.md | 418 ----
docs/tutorials/unsupervised_learning/index.md | 25 -
docs/tutorials/vision/cnn_visualization.md | 275 --
docs/tutorials/vision/index.md | 25 -
.../tutorials/vision/large_scale_classification.md | 282 ---
example/MXNetTutorialTemplate.ipynb | 6 +-
example/README.md | 18 +-
example/ctc/README.md | 2 +-
example/distributed_training/README.md | 2 +-
example/gluon/audio/README.md | 2 +-
example/gluon/audio/urban_sounds/README.md | 2 +-
example/image-classification/README.md | 12 +-
example/image-classification/predict-cpp/README.md | 2 +-
example/image-classification/train_mnist.py | 2 +-
example/profiler/README.md | 4 +-
example/profiler/profiler_imageiter.py | 2 +-
example/quantization/README.md | 2 +-
example/quantization/imagenet_gen_qsym.py | 4 +-
example/quantization/imagenet_gen_qsym_mkldnn.py | 4 +-
example/quantization/imagenet_inference.py | 4 +-
example/rnn/bucketing/README.md | 2 +-
example/rnn/old/README.md | 2 +-
example/sparse/README.md | 2 +-
example/sparse/linear_classification/README.md | 4 +-
example/ssd/quantization.py | 4 +-
include/mxnet/c_api.h | 13 -
include/mxnet/tuple.h | 2 +-
julia/NEWS.md | 3 +
julia/docs/src/index.md | 2 +-
julia/docs/src/tutorial/char-lstm.md | 4 +-
julia/docs/src/user-guide/install.md | 2 +-
julia/docs/src/user-guide/overview.md | 2 +-
julia/src/MXNet.jl | 8 +-
julia/src/base.jl | 7 -
julia/src/context.jl | 11 +
.../ci_deploy_doc.sh => julia/src/exceptions.jl | 27 +-
.../test/unittest/context.jl | 30 +-
.../test/unittest/exceptions.jl | 38 +-
.../lib/AI/MXNet/Gluon/ModelZoo.pm | 2 +-
perl-package/AI-MXNet/Changes | 2 +-
perl-package/AI-MXNet/examples/mnist.pl | 2 +-
perl-package/AI-MXNet/lib/AI/MXNet.pm | 4 +-
perl-package/AI-MXNet/lib/AI/MXNet/Gluon.pm | 2 +-
perl-package/AI-MXNet/lib/AI/MXNet/Gluon/Block.pm | 4 +-
.../AI-MXNet/lib/AI/MXNet/Gluon/Trainer.pm | 2 +-
perl-package/AI-MXNet/lib/AI/MXNet/IO.pm | 2 +-
perl-package/AI-MXNet/lib/AI/MXNet/LinAlg.pm | 4 +-
perl-package/AI-MXNet/lib/AI/MXNet/Metric.pm | 2 +-
perl-package/AI-MXNetCAPI/Changes | 2 +-
perl-package/AI-MXNetCAPI/README | 2 +-
perl-package/AI-NNVMCAPI/Changes | 2 +-
perl-package/AI-NNVMCAPI/README | 2 +-
perl-package/README.md | 4 +-
python/README.md | 2 +-
python/mxnet/_numpy_op_doc.py | 227 ++
python/mxnet/context.py | 4 +-
python/mxnet/gluon/block.py | 194 +-
python/mxnet/gluon/data/vision/transforms.py | 2 +-
python/mxnet/gluon/loss.py | 2 +-
python/mxnet/gluon/parameter.py | 10 +-
python/mxnet/gluon/trainer.py | 2 +-
python/mxnet/image/image.py | 12 +-
python/mxnet/module/base_module.py | 8 +-
python/mxnet/ndarray/numpy/_op.py | 941 ++++++-
python/mxnet/numpy/multiarray.py | 910 ++++++-
python/mxnet/symbol/numpy/_symbol.py | 750 +++++-
scala-package/README.md | 16 +-
.../src/main/scala/org/apache/mxnet/Image.scala | 10 +-
.../javaapi/infer/objectdetector/README.md | 6 +-
.../javaapi/infer/predictor/README.md | 2 +-
.../org/apache/mxnetexamples/benchmark/README.md | 2 +-
.../mxnetexamples/cnntextclassification/README.md | 4 +-
.../mxnetexamples/infer/imageclassifier/README.md | 2 +-
.../mxnetexamples/infer/objectdetector/README.md | 2 +-
scala-package/packageTest/README.md | 2 +-
scala-package/spark/README.md | 2 +-
setup-utils/install-mxnet-osx-python.sh | 4 +-
src/c_api/c_api.cc | 6 +
src/common/cuda_utils.h | 76 +-
src/operator/c_lapack_api.cc | 12 +
src/operator/c_lapack_api.h | 57 +
src/operator/contrib/boolean_mask-inl.h | 16 +
src/operator/contrib/boolean_mask.cc | 17 -
src/operator/contrib/count_sketch.cu | 4 -
src/operator/contrib/deformable_psroi_pooling.cu | 4 -
src/operator/contrib/psroi_pooling.cu | 4 -
src/operator/contrib/roi_align.cu | 11 +-
src/operator/contrib/tvmop/ufunc.cc | 113 +
src/operator/correlation.cu | 6 +-
src/operator/custom/custom.cc | 2 +-
src/operator/elemwise_op_common.h | 19 +
src/operator/leaky_relu-inl.h | 192 +-
src/operator/leaky_relu.cc | 188 +-
src/operator/leaky_relu.cu | 14 +-
src/operator/linalg.h | 21 +
src/operator/linalg_impl.h | 122 +
src/operator/math_functions-inl.h | 2 +
src/operator/mshadow_op.h | 53 +
src/operator/mxnet_op.h | 10 +
src/operator/nn/fully_connected-inl.h | 221 +-
src/operator/nn/layer_norm-inl.h | 2 +-
src/operator/nn/layer_norm.cu | 2 +-
src/operator/nn/mkldnn/mkldnn_act-inl.h | 41 +-
src/operator/nn/mkldnn/mkldnn_act.cc | 124 +-
src/operator/nn/mkldnn/mkldnn_base-inl.h | 3 +
src/operator/nn/mkldnn/mkldnn_deconvolution.cc | 11 +-
src/operator/nn/mkldnn/mkldnn_ops-inl.h | 8 +-
src/operator/nn/softmax-inl.h | 2 +-
src/operator/numpy/linalg/np_gesvd-inl.h | 303 +++
src/operator/numpy/linalg/np_gesvd.cc | 119 +
.../operator/numpy/linalg/np_gesvd.cu | 51 +-
src/operator/numpy/np_elemwise_broadcast_op.cc | 152 ++
src/operator/numpy/np_elemwise_broadcast_op.cu | 31 +
src/operator/numpy/np_elemwise_unary_op_basic.cc | 34 +
src/operator/numpy/np_elemwise_unary_op_basic.cu | 3 +
src/operator/numpy/np_init_op.cc | 10 +
src/operator/numpy/np_init_op.cu | 3 +
src/operator/numpy/np_init_op.h | 41 +-
src/operator/numpy/np_matrix_op-inl.h | 303 +++
src/operator/numpy/np_matrix_op.cc | 266 ++
src/operator/numpy/np_matrix_op.cu | 44 +
src/operator/numpy/np_nonzero_op-inl.h | 65 +
src/operator/numpy/np_nonzero_op.cc | 129 +
src/operator/numpy/np_nonzero_op.cu | 130 +
src/operator/numpy/np_trace_op-inl.h | 255 ++
src/operator/numpy/np_trace_op.cc | 98 +
.../{leaky_relu.cu => numpy/np_trace_op.cu} | 26 +-
src/operator/numpy/np_tril_op-inl.h | 233 ++
src/operator/numpy/np_tril_op.cc | 61 +
.../{leaky_relu.cu => numpy/np_tril_op.cu} | 26 +-
src/operator/numpy/np_unique_op.cc | 382 +++
src/operator/numpy/np_unique_op.cu | 350 +++
src/operator/numpy/np_unique_op.h | 88 +
src/operator/numpy/np_window_op.cc | 79 +
.../{leaky_relu.cu => numpy/np_window_op.cu} | 29 +-
src/operator/numpy/np_window_op.h | 127 +
src/operator/numpy/random/np_multinomial_op.cu | 2 +-
src/operator/numpy/random/np_multinomial_op.h | 4 +-
src/operator/operator_tune.cc | 6 +
src/operator/optimizer_op-inl.h | 2 +-
src/operator/subgraph/mkldnn/mkldnn_conv-inl.h | 14 +-
src/operator/subgraph/mkldnn/mkldnn_conv.cc | 6 +-
.../subgraph/mkldnn/mkldnn_conv_property.h | 12 +-
src/operator/tensor/broadcast_reduce_op.h | 2 +-
.../tensor/elemwise_binary_scalar_op_extended.cc | 1 +
src/operator/tensor/elemwise_unary_op.h | 83 +
src/operator/tensor/indexing_op.cc | 4 +
src/operator/tensor/indexing_op.cu | 4 +
src/operator/tensor/indexing_op.h | 10 +-
tests/nightly/JenkinsfileForBinaries | 16 -
.../broken_link_checker_test/JenkinsfileForBLC | 2 +-
.../broken_link_checker_test/test_broken_links.py | 4 +-
tests/python/gpu/test_operator_gpu.py | 2 +-
tests/python/mkl/test_subgraph.py | 17 +-
tests/python/unittest/test_gluon.py | 104 +-
tests/python/unittest/test_gluon_utils.py | 2 +-
tests/python/unittest/test_higher_order_grad.py | 99 +-
tests/python/unittest/test_numpy_ndarray.py | 45 +
tests/python/unittest/test_numpy_op.py | 847 ++++++-
tests/python/unittest/test_operator.py | 17 +
tests/python/unittest/test_profiler.py | 1 -
tests/tutorials/test_tutorials.py | 1 +
tools/caffe_translator/README.md | 4 +-
tools/caffe_translator/faq.md | 4 +-
tools/coreml/pip_package/README.rst | 2 +-
tools/dependencies/README.md | 2 +-
tools/pip/doc/CPU_ADDITIONAL.md | 2 +-
tools/pip/doc/CU100MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU100_ADDITIONAL.md | 2 +-
tools/pip/doc/CU75MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU75_ADDITIONAL.md | 2 +-
tools/pip/doc/CU80MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU80_ADDITIONAL.md | 2 +-
tools/pip/doc/CU90MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU90_ADDITIONAL.md | 2 +-
tools/pip/doc/CU91MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU91_ADDITIONAL.md | 2 +-
tools/pip/doc/CU92MKL_ADDITIONAL.md | 2 +-
tools/pip/doc/CU92_ADDITIONAL.md | 2 +-
tools/pip/doc/MKL_ADDITIONAL.md | 2 +-
720 files changed, 15108 insertions(+), 53714 deletions(-)
diff --cc src/operator/nn/mkldnn/mkldnn_act-inl.h
index 57507a5,9c21b7f..524c74e
--- a/src/operator/nn/mkldnn/mkldnn_act-inl.h
+++ b/src/operator/nn/mkldnn/mkldnn_act-inl.h
@@@ -32,59 -32,70 +32,88 @@@
#include <vector>
#include <utility>
#include "../activation-inl.h"
+ #include "../../leaky_relu-inl.h"
-#include "./mkldnn_ops-inl.h"
-#include "./mkldnn_base-inl.h"
namespace mxnet {
namespace op {
+ struct MKLDNNActParam {
+ mkldnn::algorithm alg;
+ float slope = 0.f;
+
+ bool operator==(const MKLDNNActParam& other) const {
+ return this->alg == other.alg &&
+ this->slope == other.slope;
+ }
+ };
+
mkldnn::algorithm GetMKLDNNActAlgo(const ActivationParam& param);
+ mkldnn::algorithm GetMKLDNNActAlgo(const LeakyReLUParam& param);
++
mkldnn::eltwise_forward::primitive_desc GetActFwdDescImpl(
- const ActivationParam& param, bool is_train, const mkldnn::memory &input_mem);
+ const MKLDNNActParam& param, bool is_train,
- const mkldnn::memory &input_mem, int dtype);
++ const mkldnn::memory &input_mem);
class MKLDNNActForward {
public:
const mkldnn::eltwise_forward::primitive_desc fwd_pd;
- MKLDNNActForward(const ActivationParam& param, bool is_train,
+ MKLDNNActForward(const MKLDNNActParam& param, bool is_train,
const NDArray &data, const mkldnn::memory &mem): fwd_pd(
- GetActFwdDescImpl(param, is_train, mem, data.dtype())) {}
- void SetNewMem(const mkldnn::memory &data, const mkldnn::memory &output);
- const mkldnn::eltwise_forward &GetFwd() const;
+ GetActFwdDescImpl(param, is_train, mem)) {
+ fwd_ = std::make_shared<mkldnn::eltwise_forward>(fwd_pd);
+ }
+ const inline mkldnn::eltwise_forward &GetFwd() const;
private:
std::shared_ptr<mkldnn::eltwise_forward> fwd_;
- std::shared_ptr<mkldnn::memory> data_;
- std::shared_ptr<mkldnn::memory> out_;
};
- typedef ParamOpSign<ActivationParam> MKLDNNActSignature;
- MKLDNNActForward &GetActForward(const ActivationParam& param,
+ typedef ParamOpSign<MKLDNNActParam> MKLDNNActSignature;
+ MKLDNNActForward &GetActForward(const MKLDNNActParam& param,
const OpContext &ctx, const NDArray &in_data,
const mkldnn::memory &in_mem);
void MKLDNNActivationForward(const nnvm::NodeAttrs& attrs, const OpContext &ctx,
const NDArray &in_data, const OpReqType &req,
const NDArray &out_data);
+ void MKLDNNLeakyReluForward(const nnvm::NodeAttrs& attrs, const OpContext &ctx,
- const NDArray &in_data, const OpReqType &req,
- const NDArray &out_data);
++ const NDArray &in_data, const OpReqType &req,
++ const NDArray &out_data);
+
+mkldnn::eltwise_backward::primitive_desc GetActBwdDescImpl(
- const ActivationParam ¶m, const mkldnn::memory &input_mem,
++ const MKLDNNActParam ¶m, const mkldnn::memory &input_mem,
+ const mkldnn::memory &diff_dst_memory);
+
+class MKLDNNActBackward {
+ public:
+ const mkldnn::eltwise_backward::primitive_desc pd;
+
- explicit MKLDNNActBackward(const ActivationParam ¶m, const NDArray &data,
++ explicit MKLDNNActBackward(const MKLDNNActParam ¶m, const NDArray &data,
+ const mkldnn::memory &mem,
+ const mkldnn::memory &diff_dst_memory): pd(
+ GetActBwdDescImpl(param, mem, diff_dst_memory)) {
+ bwd = std::make_shared<mkldnn::eltwise_backward>(pd);
+ }
+ const inline mkldnn::eltwise_backward &GetBwd() const;
+
+ private:
+ std::shared_ptr<mkldnn::eltwise_backward> bwd;
+};
} // namespace op
} // namespace mxnet
+ namespace std {
+ template<>
+ struct hash<mxnet::op::MKLDNNActParam> {
+ size_t operator()(const mxnet::op::MKLDNNActParam& val) {
+ size_t ret = 0;
+ ret = dmlc::HashCombine(ret, static_cast<size_t>(val.alg));
+ ret = dmlc::HashCombine(ret, val.slope);
+ return ret;
+ }
+ };
+ } // namespace std
+
-#endif // MXNET_USE_MKLDNN == 1
+#endif // MXNET_USE_MKLDNN == 100
#endif // MXNET_OPERATOR_NN_MKLDNN_MKLDNN_ACT_INL_H_
diff --cc src/operator/nn/mkldnn/mkldnn_act.cc
index e2ffd0b,f221ddf..86a7fdd
--- a/src/operator/nn/mkldnn/mkldnn_act.cc
+++ b/src/operator/nn/mkldnn/mkldnn_act.cc
@@@ -78,12 -93,26 +92,24 @@@ mkldnn::algorithm GetMKLDNNActAlgo(cons
}
}
+ mkldnn::algorithm GetMKLDNNActAlgo(const LeakyReLUParam& param) {
+ switch (param.act_type) {
+ case leakyrelu::kLeakyReLU:
+ return mkldnn::algorithm::eltwise_relu;
+ case leakyrelu::kELU:
+ return mkldnn::algorithm::eltwise_elu;
+ default:
+ LOG(FATAL) << "unknown activation type for LeakyReLU: " << param.act_type;
+ return mkldnn::algorithm::eltwise_relu;
+ }
+ }
+
mkldnn::eltwise_forward::primitive_desc GetActFwdDescImpl(
- const ActivationParam& param, bool is_train,
+ const MKLDNNActParam& param, bool is_train,
- const mkldnn::memory &input_mem, int dtype) {
- mkldnn::memory::primitive_desc data_mpd = input_mem.get_primitive_desc();
- mkldnn::memory::desc data_md = data_mpd.desc();
- auto cpu_engine = data_mpd.get_engine();
-
+ const mkldnn::memory &input_mem) {
+ mkldnn::memory::desc data_md = input_mem.get_desc();
+ auto cpu_engine = CpuEngine::Get()->get_engine();
- auto alg = GetMKLDNNActAlgo(param);
+ auto alg = param.alg;
auto prop = is_train ? mkldnn::prop_kind::forward_training :
mkldnn::prop_kind::forward_scoring;
@@@ -106,8 -155,10 +131,9 @@@ MKLDNNActForward &GetActForward(const M
#endif
MKLDNNActSignature key(param);
key.AddSign(ctx.is_train);
- key.AddSign(param.act_type);
- key.AddSign(param.alg);
++ key.AddSign(static_cast<int>(param.alg));
+ key.AddSign(param.slope);
key.AddSign(in_data);
-
auto it = fwds.find(key);
if (it == fwds.end()) {
MKLDNNActForward fwd(param, ctx.is_train, in_data, in_mem);
@@@ -120,6 -171,31 +146,31 @@@ void MKLDNNActivationForward(const nnvm
const NDArray &in_data, const OpReqType &req,
const NDArray &out_data) {
const ActivationParam& param = nnvm::get<ActivationParam>(attrs.parsed);
+ MKLDNNActParam param_;
+ param_.alg = GetMKLDNNActAlgo(param);
+
+ NDArray in_buffer = in_data;
+ MKLDNNStream *stream = MKLDNNStream::Get();
+
+ if (in_data.IsView() && in_data.IsMKLDNNData())
+ in_buffer = in_data.Reorder2Default();
+
+ auto input_mem = in_buffer.GetMKLDNNData();
+ MKLDNNActForward &fwd = GetActForward(param_, ctx, in_buffer, *input_mem);
- auto out_mem_t = CreateMKLDNNMem(out_data, fwd.fwd_pd.dst_primitive_desc(), req, &in_buffer);
- fwd.SetNewMem(*input_mem, *out_mem_t.second);
- stream->RegisterPrim(fwd.GetFwd());
++ auto out_mem_t = CreateMKLDNNMem(out_data, fwd.fwd_pd.dst_desc(), req, &in_buffer);
++ stream->RegisterPrimArgs(fwd.GetFwd(),
++ {{ MKLDNN_ARG_SRC, *input_mem}, { MKLDNN_ARG_DST, *out_mem_t.second}});
+ CommitOutput(out_data, out_mem_t);
+ stream->Submit();
+ }
+
+ void MKLDNNLeakyReluForward(const nnvm::NodeAttrs& attrs, const OpContext &ctx,
+ const NDArray &in_data, const OpReqType &req,
+ const NDArray &out_data) {
+ const LeakyReLUParam& param = nnvm::get<LeakyReLUParam>(attrs.parsed);
+ MKLDNNActParam param_;
+ param_.alg = GetMKLDNNActAlgo(param);
+ param_.slope = param.slope;
NDArray in_buffer = in_data;
MKLDNNStream *stream = MKLDNNStream::Get();
@@@ -128,37 -204,83 +179,36 @@@
in_buffer = in_data.Reorder2Default();
auto input_mem = in_buffer.GetMKLDNNData();
- MKLDNNActForward &fwd = GetActForward(param, ctx, in_buffer, *input_mem);
+ MKLDNNActForward &fwd = GetActForward(param_, ctx, in_buffer, *input_mem);
- auto out_mem_t = CreateMKLDNNMem(out_data, fwd.fwd_pd.dst_primitive_desc(), req, &in_buffer);
- fwd.SetNewMem(*input_mem, *out_mem_t.second);
- stream->RegisterPrim(fwd.GetFwd());
+ auto out_mem_t = CreateMKLDNNMem(out_data, fwd.fwd_pd.dst_desc(), req, &in_buffer);
+ stream->RegisterPrimArgs(fwd.GetFwd(),
+ {{ MKLDNN_ARG_SRC, *input_mem}, { MKLDNN_ARG_DST, *out_mem_t.second}});
CommitOutput(out_data, out_mem_t);
stream->Submit();
}
-static mkldnn::eltwise_backward::primitive_desc GetActBwdDescImpl(
+mkldnn::eltwise_backward::primitive_desc GetActBwdDescImpl(
- const ActivationParam ¶m, const mkldnn::memory &input_mem,
+ const MKLDNNActParam ¶m, const mkldnn::memory &input_mem,
- const mkldnn::memory &diff_dst_memory, int dtype) {
- mkldnn::memory::primitive_desc data_mpd = input_mem.get_primitive_desc();
- mkldnn::memory::desc data_md = data_mpd.desc();
- mkldnn::memory::desc diff_md = diff_dst_memory.get_primitive_desc().desc();
- auto cpu_engine = data_mpd.get_engine();
+ const mkldnn::memory &diff_dst_memory) {
+ mkldnn::memory::desc data_md = input_mem.get_desc();
+ mkldnn::memory::desc diff_md = diff_dst_memory.get_desc();
+ auto cpu_engine = CpuEngine::Get()->get_engine();
- auto alg = GetMKLDNNActAlgo(param);
+ auto alg = param.alg;
- float alpha = 0;
- MSHADOW_REAL_TYPE_SWITCH(dtype, DType, {
- mkldnn::eltwise_forward::desc fw_desc(mkldnn::prop_kind::forward_training,
- alg, data_md, param.slope);
- mkldnn::eltwise_forward::primitive_desc fw_pdesc(fw_desc, cpu_engine);
- mkldnn::eltwise_backward::desc bw_desc(alg, diff_md, data_md, param.slope);
- mkldnn::eltwise_backward::primitive_desc bw_pdesc(bw_desc, cpu_engine,
- fw_pdesc);
- return bw_pdesc;
- });
- LOG(FATAL) << "Unsupported data type for MKLDNN activation";
mkldnn::eltwise_forward::desc fw_desc(mkldnn::prop_kind::forward_training,
- alg, data_md, alpha);
+ alg, data_md, param.slope);
mkldnn::eltwise_forward::primitive_desc fw_pdesc(fw_desc, cpu_engine);
- mkldnn::eltwise_backward::desc bw_desc(alg, diff_md, data_md, alpha);
+ mkldnn::eltwise_backward::desc bw_desc(alg, diff_md, data_md, param.slope);
mkldnn::eltwise_backward::primitive_desc bw_pdesc(bw_desc, cpu_engine,
fw_pdesc);
return bw_pdesc;
}
-class MKLDNNActBackward {
- std::shared_ptr<mkldnn::eltwise_backward> bwd;
- std::shared_ptr<mkldnn::memory> data;
- std::shared_ptr<mkldnn::memory> diff_dst_memory;
- std::shared_ptr<mkldnn::memory> diff_src_memory;
-
- public:
- const mkldnn::eltwise_backward::primitive_desc pd;
-
- explicit MKLDNNActBackward(const MKLDNNActParam ¶m, const NDArray &data,
- const mkldnn::memory &mem,
- const mkldnn::memory &diff_dst_memory)
- : pd(GetActBwdDescImpl(param, mem, diff_dst_memory, data.dtype())) {}
-
- void SetNewMem(const mkldnn::memory &data,
- const mkldnn::memory &diff_dst_memory,
- const mkldnn::memory &diff_src_memory) {
- if (this->bwd != nullptr) {
- this->data->set_data_handle(data.get_data_handle());
- this->diff_dst_memory->set_data_handle(diff_dst_memory.get_data_handle());
- this->diff_src_memory->set_data_handle(diff_src_memory.get_data_handle());
- } else {
- this->data = std::shared_ptr<mkldnn::memory>(new mkldnn::memory(
- data.get_primitive_desc(), data.get_data_handle()));
- this->diff_dst_memory = std::shared_ptr<mkldnn::memory>(
- new mkldnn::memory(diff_dst_memory.get_primitive_desc(),
- diff_dst_memory.get_data_handle()));
- this->diff_src_memory = std::shared_ptr<mkldnn::memory>(
- new mkldnn::memory(diff_src_memory.get_primitive_desc(),
- diff_src_memory.get_data_handle()));
- this->bwd = std::shared_ptr<mkldnn::eltwise_backward>(
- new mkldnn::eltwise_backward(
- this->pd, mkldnn::primitive::at(*this->data),
- *this->diff_dst_memory, *this->diff_src_memory));
- }
- }
-
- const inline mkldnn::eltwise_backward &GetBwd() const { return *bwd; }
-};
+const inline mkldnn::eltwise_backward &MKLDNNActBackward::GetBwd() const {
+ return *bwd;
+}
- static inline MKLDNNActBackward &GetActBackward(const ActivationParam ¶m,
+ static inline MKLDNNActBackward &GetActBackward(const MKLDNNActParam ¶m,
const OpContext &ctx,
const NDArray &in_data,
const NDArray &out_grad,
@@@ -203,23 -327,60 +255,67 @@@ void MKLDNNActivationBackward(const nnv
auto input_mem = in_buffer.GetMKLDNNData();
// We need to make sure the two inputs to eltwise_backward has the same memory
// descriptor. Otherwise, the perf will suffer.
- if (input_mem->get_primitive_desc() != diff_dst_memory->get_primitive_desc())
- input_mem = in_buffer.GetMKLDNNDataReorder(diff_dst_memory->get_primitive_desc());
+ if (input_mem->get_desc() != diff_dst_memory->get_desc())
+ input_mem = in_buffer.GetMKLDNNDataReorder(diff_dst_memory->get_desc());
MKLDNNActBackward &bwd =
- GetActBackward(param, ctx, in_buffer, out_buffer, *input_mem);
+ GetActBackward(param_, ctx, in_buffer, out_buffer, *input_mem);
MKLDNNStream *stream = MKLDNNStream::Get();
mkldnn_output_t diff_src_memory =
- CreateMKLDNNMem(in_grad, bwd.pd.diff_src_primitive_desc(), req);
- bwd.SetNewMem(*input_mem, *diff_dst_memory, *diff_src_memory.second);
- stream->RegisterPrim(bwd.GetBwd());
+ CreateMKLDNNMem(in_grad, bwd.pd.diff_src_desc(), req);
+ mkldnn_args_map_t args = {
+ { MKLDNN_ARG_SRC, *input_mem },
+ { MKLDNN_ARG_DIFF_DST, *diff_dst_memory },
+ { MKLDNN_ARG_DIFF_SRC, *diff_src_memory.second },
+ };
+ stream->RegisterPrimArgs(bwd.GetBwd(), args);
CommitOutput(in_grad, diff_src_memory);
stream->Submit();
}
+ void MKLDNNLeakyReluBackward(const nnvm::NodeAttrs& attrs,
+ const OpContext &ctx,
+ const std::vector<NDArray>& inputs,
+ const OpReqType &req,
+ const NDArray &output) {
+ if (req == kNullOp) {
+ return;
+ }
+ CHECK_GE(inputs.size(), 2U);
+ NDArray out_buffer = inputs[0];
+ if (inputs[0].IsView() && inputs[0].IsMKLDNNData())
+ out_buffer = inputs[0].Reorder2Default();
+
+ NDArray in_buffer = inputs[1];
+ if (inputs[1].IsView() && inputs[1].IsMKLDNNData())
+ in_buffer = inputs[1].Reorder2Default();
+
+ const LeakyReLUParam& param = nnvm::get<LeakyReLUParam>(attrs.parsed);
+ MKLDNNActParam param_;
+ param_.alg = GetMKLDNNActAlgo(param);
+ param_.slope = param.slope;
+
+ TmpMemMgr::Get()->Init(ctx.requested[leakyrelu::kRandom]);
+ auto diff_dst_memory = out_buffer.GetMKLDNNData();
+ auto input_mem = in_buffer.GetMKLDNNData();
+ // We need to make sure the two inputs to eltwise_backward has the same memory
+ // descriptor. Otherwise, the perf will suffer.
- if (input_mem->get_primitive_desc() != diff_dst_memory->get_primitive_desc())
- input_mem = in_buffer.GetMKLDNNDataReorder(diff_dst_memory->get_primitive_desc());
++ if (input_mem->get_desc() != diff_dst_memory->get_desc())
++ input_mem = in_buffer.GetMKLDNNDataReorder(diff_dst_memory->get_desc());
+ MKLDNNActBackward &bwd =
+ GetActBackward(param_, ctx, in_buffer, out_buffer, *input_mem);
+ MKLDNNStream *stream = MKLDNNStream::Get();
+ mkldnn_output_t diff_src_memory =
- CreateMKLDNNMem(output, bwd.pd.diff_src_primitive_desc(), req);
- bwd.SetNewMem(*input_mem, *diff_dst_memory, *diff_src_memory.second);
- stream->RegisterPrim(bwd.GetBwd());
++ CreateMKLDNNMem(output, bwd.pd.diff_src_desc(), req);
++ mkldnn_args_map_t args = {
++ { MKLDNN_ARG_SRC, *input_mem },
++ { MKLDNN_ARG_DIFF_DST, *diff_dst_memory },
++ { MKLDNN_ARG_DIFF_SRC, *diff_src_memory.second },
++ };
++ stream->RegisterPrimArgs(bwd.GetBwd(), args);
+ CommitOutput(output, diff_src_memory);
+ stream->Submit();
+ }
+
} // namespace op
} // namespace mxnet
-
#endif