From b6b40878f0aba2ba5509f3f3a4cd517a654847ce Mon Sep 17 00:00:00 2001 From: Leonard Lausen Date: Tue, 9 Jun 2020 22:05:16 -0700 Subject: [PATCH] Consolidate installation instructions on website and add disclaimer for non-ASF ressources (#18487) * Update website with disclaimer for non-ASF ressources * Integrate Windows instructions to build_from_source.md * Remove master version from selector * Update Download links * Update get_started/download.md per Release Download Page policy --- contrib/clojure-package/README.md | 2 +- .../inference/image_classification_jetson.md | 4 +- .../src/_includes/get_started/cloud/cpu.md | 16 +- .../src/_includes/get_started/cloud/gpu.md | 17 +- .../_includes/get_started/get_started.html | 253 ++++----- .../clojure/{cpu.md => build-from-source.md} | 0 .../get_started/linux/clojure/gpu.md | 1 - .../linux/cpp/build-from-source.md | 2 + .../_includes/get_started/linux/cpp/cpp.md | 4 - .../linux/java/build-from-source.md | 6 + .../_includes/get_started/linux/java/gpu.md | 6 - .../linux/julia/build-from-source.md | 3 +- .../_includes/get_started/linux/julia/pkg.md | 10 - .../linux/perl/build-from-source.md | 1 + .../_includes/get_started/linux/perl/perl.md | 1 - .../linux/python/cpu/build-from-source.md | 2 +- .../get_started/linux/python/cpu/docker.md | 42 +- .../get_started/linux/python/cpu/pip.md | 15 +- .../linux/python/gpu/build-from-source.md | 2 +- .../get_started/linux/python/gpu/docker.md | 45 +- .../get_started/linux/python/gpu/pip.md | 16 +- .../get_started/linux/r/build-from-source.md | 2 + .../src/_includes/get_started/linux/r/cpu.md | 10 - .../src/_includes/get_started/linux/r/gpu.md | 15 - .../cpu.md => scala/build-from-source.md} | 0 .../_includes/get_started/linux/scala/cpu.md | 6 - .../_includes/get_started/linux/scala/gpu.md | 6 - .../src/_includes/get_started/macos | 1 + .../get_started/macos/clojure/cpu.md | 13 - .../get_started/macos/clojure/gpu.md | 1 - .../_includes/get_started/macos/cpp/cpp.md | 3 - .../_includes/get_started/macos/java/cpu.md | 16 - .../_includes/get_started/macos/java/gpu.md | 1 - .../macos/julia/build-from-source.md | 1 - .../_includes/get_started/macos/julia/pkg.md | 10 - .../_includes/get_started/macos/perl/perl.md | 1 - .../macos/python/cpu/build-from-source.md | 2 - .../get_started/macos/python/cpu/docker.md | 35 -- .../get_started/macos/python/cpu/pip.md | 79 --- .../macos/python/gpu/build-from-source.md | 2 - .../macos/python/gpu/pip_docker.md | 1 - .../src/_includes/get_started/macos/r/cpu.md | 28 - .../src/_includes/get_started/macos/r/gpu.md | 1 - .../_includes/get_started/macos/scala/cpu.md | 14 - .../_includes/get_started/macos/scala/gpu.md | 1 - .../src/_includes/get_started/pip_snippet.md | 7 +- .../src/_includes/get_started/windows | 1 + .../get_started/windows/clojure/clojure.md | 1 - .../_includes/get_started/windows/cpp/cpp.md | 3 - .../get_started/windows/java/java.md | 1 - .../windows/julia/build-from-source.md | 1 - .../get_started/windows/julia/pkg.md | 10 - .../get_started/windows/perl/perl.md | 1 - .../windows/python/cpu/build-from-source.md | 1 - .../get_started/windows/python/cpu/docker.md | 34 -- .../get_started/windows/python/cpu/pip.md | 79 --- .../windows/python/gpu/build-from-source.md | 1 - .../get_started/windows/python/gpu/docker.md | 1 - .../get_started/windows/python/gpu/pip.md | 80 --- .../_includes/get_started/windows/r/cpu.md | 15 - .../_includes/get_started/windows/r/gpu.md | 17 - .../get_started/windows/scala/scala.md | 1 - .../pages/get_started/build_from_source.md | 495 ++++++++++-------- .../src/pages/get_started/c_plus_plus.md | 55 -- .../src/pages/get_started/centos_setup.md | 115 ---- .../src/pages/get_started/download.md | 22 +- .../src/pages/get_started/index.html | 14 +- .../src/pages/get_started/osx_setup.md | 273 ---------- .../src/pages/get_started/ubuntu_setup.md | 441 ---------------- .../src/pages/get_started/validate_mxnet.md | 69 --- .../src/pages/get_started/windows_setup.md | 492 ----------------- 71 files changed, 493 insertions(+), 2434 deletions(-) rename docs/static_site/src/_includes/get_started/linux/clojure/{cpu.md => build-from-source.md} (100%) delete mode 100644 docs/static_site/src/_includes/get_started/linux/clojure/gpu.md create mode 100644 docs/static_site/src/_includes/get_started/linux/cpp/build-from-source.md delete mode 100644 docs/static_site/src/_includes/get_started/linux/cpp/cpp.md create mode 100644 docs/static_site/src/_includes/get_started/linux/java/build-from-source.md delete mode 100644 docs/static_site/src/_includes/get_started/linux/java/gpu.md delete mode 100644 docs/static_site/src/_includes/get_started/linux/julia/pkg.md create mode 100644 docs/static_site/src/_includes/get_started/linux/perl/build-from-source.md delete mode 100644 docs/static_site/src/_includes/get_started/linux/perl/perl.md create mode 100644 docs/static_site/src/_includes/get_started/linux/r/build-from-source.md delete mode 100644 docs/static_site/src/_includes/get_started/linux/r/cpu.md delete mode 100644 docs/static_site/src/_includes/get_started/linux/r/gpu.md rename docs/static_site/src/_includes/get_started/linux/{java/cpu.md => scala/build-from-source.md} (100%) delete mode 100644 docs/static_site/src/_includes/get_started/linux/scala/cpu.md delete mode 100644 docs/static_site/src/_includes/get_started/linux/scala/gpu.md create mode 120000 docs/static_site/src/_includes/get_started/macos delete mode 100644 docs/static_site/src/_includes/get_started/macos/clojure/cpu.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/clojure/gpu.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/cpp/cpp.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/java/cpu.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/java/gpu.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/julia/build-from-source.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/julia/pkg.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/perl/perl.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/python/cpu/build-from-source.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/python/cpu/docker.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/python/cpu/pip.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/python/gpu/build-from-source.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/python/gpu/pip_docker.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/r/cpu.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/r/gpu.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/scala/cpu.md delete mode 100644 docs/static_site/src/_includes/get_started/macos/scala/gpu.md create mode 120000 docs/static_site/src/_includes/get_started/windows delete mode 100644 docs/static_site/src/_includes/get_started/windows/clojure/clojure.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/cpp/cpp.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/java/java.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/julia/build-from-source.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/julia/pkg.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/perl/perl.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/python/cpu/build-from-source.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/python/cpu/docker.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/python/cpu/pip.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/python/gpu/build-from-source.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/python/gpu/docker.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/python/gpu/pip.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/r/cpu.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/r/gpu.md delete mode 100644 docs/static_site/src/_includes/get_started/windows/scala/scala.md delete mode 100644 docs/static_site/src/pages/get_started/c_plus_plus.md delete mode 100644 docs/static_site/src/pages/get_started/centos_setup.md delete mode 100644 docs/static_site/src/pages/get_started/osx_setup.md delete mode 100644 docs/static_site/src/pages/get_started/ubuntu_setup.md delete mode 100644 docs/static_site/src/pages/get_started/windows_setup.md diff --git a/contrib/clojure-package/README.md b/contrib/clojure-package/README.md index f7a61015e7ea..313dd6d60332 100644 --- a/contrib/clojure-package/README.md +++ b/contrib/clojure-package/README.md @@ -66,7 +66,7 @@ Currently there are no pre-built jars available. jars that were previously avail ### Building MXNet and the Clojure package from source -The first step is to download the latest version from [the Apache release page](https://downloads.apache.org/incubator/mxnet/). +The first step is to download the latest version from the [Download page](https://mxnet.apache.org/get_started/download). #### Building the core library diff --git a/docs/python_docs/python/tutorials/deploy/inference/image_classification_jetson.md b/docs/python_docs/python/tutorials/deploy/inference/image_classification_jetson.md index 88b8ce899be1..5a697ca7960e 100644 --- a/docs/python_docs/python/tutorials/deploy/inference/image_classification_jetson.md +++ b/docs/python_docs/python/tutorials/deploy/inference/image_classification_jetson.md @@ -49,7 +49,7 @@ Alternatively, you can also directly install MXNet v1.6 wheel with Jetson suppor *WARNING: this MXNet wheel is provided for your convenience but it contains packages that are not provided nor endorsed by the Apache Software Foundation. As such, they might contain software components with more restrictive licenses than the Apache License and you'll need to decide whether they are appropriate for your usage. Like all Apache Releases, the -official Apache MXNet (incubating) releases consist of source code only and are found at https://downloads.apache.org/incubator/mxnet .* +official Apache MXNet (incubating) releases consist of source code only and are found at https://mxnet.apache.org/get_started/download .* We start by installing MXNet dependencies ```bash @@ -114,4 +114,4 @@ With prob = 0.28096, it contains n02119022 red fox, Vulpes vulpes With prob = 0.06857, it contains n02124075 Egyptian cat With prob = 0.03046, it contains n02120505 grey fox, gray fox, Urocyon cinereoargenteus With prob = 0.02770, it contains n02441942 weasel -``` \ No newline at end of file +``` diff --git a/docs/static_site/src/_includes/get_started/cloud/cpu.md b/docs/static_site/src/_includes/get_started/cloud/cpu.md index 5415e96b6534..440582727b68 100644 --- a/docs/static_site/src/_includes/get_started/cloud/cpu.md +++ b/docs/static_site/src/_includes/get_started/cloud/cpu.md @@ -1,8 +1,16 @@ -MXNet should work on any cloud provider's CPU-only instances. Follow the Python pip install -instructions, -Docker instructions, or try the following preinstalled option. +MXNet should work on any cloud provider's CPU-only instances. Follow the Python +pip install instructions, Docker instructions, or try the following preinstalled +option. + +WARNING: the following cloud provider packages are provided for your convenience +but they point to packages that are *not* provided nor endorsed by the Apache +Software Foundation. As such, they might contain software components with more +restrictive licenses than the Apache License and you'll need to decide whether +they are appropriate for your usage. Like all Apache Releases, the official +Apache MXNet (incubating) releases consist of source code only and are found at +the [Download page](https://mxnet.apache.org/get_started/download). * **Amazon Web Services** - [AWS Deep Learning AMI](https://aws.amazon.com/machine-learning/amis/) - Preinstalled Conda environments -for Python 2 or 3 with MXNet and MKL-DNN. \ No newline at end of file +for Python 2 or 3 with MXNet and MKL-DNN. diff --git a/docs/static_site/src/_includes/get_started/cloud/gpu.md b/docs/static_site/src/_includes/get_started/cloud/gpu.md index 725d96581776..8f64a3ac5cba 100644 --- a/docs/static_site/src/_includes/get_started/cloud/gpu.md +++ b/docs/static_site/src/_includes/get_started/cloud/gpu.md @@ -1,7 +1,14 @@ -MXNet is available on several cloud providers with GPU support. You can also find -GPU/CPU-hybrid support for -use cases like scalable inference, or even fractional GPU support with AWS Elastic -Inference. +MXNet is available on several cloud providers with GPU support. You can also +find GPU/CPU-hybrid support for use cases like scalable inference, or even +fractional GPU support with AWS Elastic Inference. + +WARNING: the following cloud provider packages are provided for your convenience +but they point to packages that are *not* provided nor endorsed by the Apache +Software Foundation. As such, they might contain software components with more +restrictive licenses than the Apache License and you'll need to decide whether +they are appropriate for your usage. Like all Apache Releases, the official +Apache MXNet (incubating) releases consist of source code only and are found at +the [Download page](https://mxnet.apache.org/get_started/download). * **Alibaba** - [NVIDIA @@ -29,4 +36,4 @@ All NVIDIA VMs use the [NVIDIA MXNet Docker container](https://ngc.nvidia.com/catalog/containers/nvidia:mxnet). Follow the [container usage instructions](https://ngc.nvidia.com/catalog/containers/nvidia:mxnet) found in -[NVIDIA's container repository](https://ngc.nvidia.com/). \ No newline at end of file +[NVIDIA's container repository](https://ngc.nvidia.com/). diff --git a/docs/static_site/src/_includes/get_started/get_started.html b/docs/static_site/src/_includes/get_started/get_started.html index cda32adfb1ad..60cafed24388 100644 --- a/docs/static_site/src/_includes/get_started/get_started.html +++ b/docs/static_site/src/_includes/get_started/get_started.html @@ -10,8 +10,10 @@
-

Installing MXNet

-

Indicate your preferred configuration. Then, follow the customized commands to install MXNet.

+

Platform and use-case specific instructions for using MXNet

+

+ Please indicate your preferred configuration below to see specific instructions. +



@@ -28,7 +30,6 @@

Installing MXNet

    -
  • master
  • v1.6.0
  • v1.5.1
  • v1.4.1
  • @@ -197,73 +198,49 @@

    Installing MXNet

    -
    - {% markdown %}{% include /get_started/linux/r/cpu.md %}{% endmarkdown %} -
    - -
    - {% markdown %}{% include /get_started/linux/r/gpu.md %}{% endmarkdown %} -
    +
    + {% markdown %}{% include /get_started/linux/r/build-from-source.md %}{% endmarkdown %} +
    -
    - {% markdown %}{% include /get_started/linux/scala/cpu.md %}{% endmarkdown %} -
    -
    - {% markdown %}{% include /get_started/linux/scala/gpu.md %}{% endmarkdown %} -
    +
    + {% markdown %}{% include /get_started/linux/scala/build-from-source.md %}{% endmarkdown %} +
    -
    - {% markdown %}{% include /get_started/linux/clojure/cpu.md %}{% endmarkdown %} -
    - -
    - {% markdown %}{% include /get_started/linux/clojure/gpu.md %}{% endmarkdown %} -
    +
    + {% markdown %}{% include /get_started/linux/clojure/build-from-source.md %}{% endmarkdown %} +
    -
    - {% markdown %}{% include /get_started/linux/java/cpu.md %}{% endmarkdown %} -
    -
    - {% markdown %}{% include /get_started/linux/java/gpu.md %}{% endmarkdown %} -
    +
    + {% markdown %}{% include /get_started/linux/java/build-from-source.md %}{% endmarkdown %} +
    -
    -
    - {% markdown %}{% include /get_started/linux/julia/pkg.md %}{% endmarkdown %} -
    -
    - {% markdown %}{% include /get_started/linux/julia/build-from-source.md %}{% endmarkdown %} -
    -
    +
    + {% markdown %}{% include /get_started/linux/julia/build-from-source.md %}{% endmarkdown %} +
    -
    - {% markdown %}{% include /get_started/linux/perl/perl.md %}{% endmarkdown %} -
    +
    + {% markdown %}{% include /get_started/linux/perl/build-from-source.md %}{% endmarkdown %} +
    -
    -
    - {% markdown %}{% include /get_started/linux/cpp/cpp.md %}{% endmarkdown %} -
    +
    + {% markdown %}{% include /get_started/linux/cpp/build-from-source.md %}{% endmarkdown %} +
    - -
    - For more installation options, refer to the Ubuntu installation guide and - CentOS installation guide.
@@ -271,187 +248,155 @@

Installing MXNet

+
{% markdown %}{% include /get_started/macos/python/cpu/pip.md %}{% endmarkdown %} -
+
+
{% markdown %}{% include /get_started/macos/python/cpu/docker.md %}{% endmarkdown %}
+
{% markdown %}{% include /get_started/macos/python/cpu/build-from-source.md %}{% endmarkdown %} -
-
+
+
+ - +
-
- {% markdown %}{% include /get_started/macos/python/gpu/pip_docker.md %}{% endmarkdown %} -
-
- {% markdown %}{% include /get_started/macos/python/gpu/build-from-source.md %}{% endmarkdown %} + {% markdown %}{% include /get_started/macos/python/gpu/build-from-source.md %}{% endmarkdown %}
+ -
-
- {% markdown %}{% include /get_started/macos/r/cpu.md %}{% endmarkdown %} -
-
- {% markdown %}{% include /get_started/macos/r/gpu.md %}{% endmarkdown %} -
+
+ {% markdown %}{% include /get_started/macos/r/build-from-source.md %}{% endmarkdown %} +
+
-
- {% markdown %}{% include /get_started/macos/scala/cpu.md %}{% endmarkdown %} -
-
- {% markdown %}{% include /get_started/macos/scala/gpu.md %}{% endmarkdown %} -
+
+ {% markdown %}{% include /get_started/macos/scala/build-from-source.md %}{% endmarkdown %} +
+
-
- {% markdown %}{% include /get_started/macos/clojure/cpu.md %}{% endmarkdown %} -
-
- {% markdown %}{% include /get_started/macos/clojure/gpu.md %}{% endmarkdown %} -
+
+ {% markdown %}{% include /get_started/macos/clojure/build-from-source.md %}{% endmarkdown %} +
-
- {% markdown %}{% include /get_started/macos/java/cpu.md %}{% endmarkdown %} -
-
- {% markdown %}{% include /get_started/macos/java/gpu.md %}{% endmarkdown %} -
+
+ {% markdown %}{% include /get_started/macos/java/build-from-source.md %}{% endmarkdown %} +
-
-
-
- {% markdown %}{% include /get_started/macos/julia/pkg.md %}{% endmarkdown %} -
- -
- {% markdown %}{% include /get_started/macos/julia/build-from-source.md %}{% endmarkdown %} -
-
+
+ {% markdown %}{% include /get_started/macos/julia/build-from-source.md %}{% endmarkdown %} +
-
- {% markdown %}{% include /get_started/macos/perl/perl.md %}{% endmarkdown %} -
-
+
+ {% markdown %}{% include /get_started/macos/perl/build-from-source.md %}{% endmarkdown %} +
+
-
- {% markdown %}{% include /get_started/macos/cpp/cpp.md %}{% endmarkdown %} -
-
-
- For more installation options, refer to the MXNet macOS installation guide. - +
+ {% markdown %}{% include /get_started/macos/cpp/build-from-source.md %}{% endmarkdown %} +
+ + +
+
{% markdown %}{% include /get_started/windows/python/cpu/pip.md %}{% endmarkdown %}
-
- {% markdown %}{% include /get_started/windows/python/cpu/docker.md %}{% endmarkdown %} -
-
{% markdown %}{% include /get_started/windows/python/cpu/build-from-source.md %}{% endmarkdown %} -
-
+
+
+ +
{% markdown %}{% include /get_started/windows/python/gpu/pip.md %}{% endmarkdown %} -
- -
- {% markdown %}{% include /get_started/windows/python/gpu/docker.md %}{% endmarkdown %} -
+
- {% markdown %}{% include /get_started/windows/python/gpu/build-from-source.md %}{% endmarkdown %} -
- - - + {% markdown %}{% include /get_started/windows/python/gpu/build-from-source.md %}{% endmarkdown %} + + + + -
-
- {% markdown %}{% include /get_started/windows/r/cpu.md %}{% endmarkdown %} -
+
+ {% markdown %}{% include /get_started/windows/r/build-from-source.md %}{% endmarkdown %} +
+
-
- {% markdown %}{% include /get_started/windows/r/gpu.md %}{% endmarkdown %} -
-
-
- {% markdown %}{% include /get_started/windows/scala/scala.md %}{% endmarkdown %} -
+
+ {% markdown %}{% include /get_started/windows/scala/build-from-source.md %}{% endmarkdown %} +
+
-
- {% markdown %}{% include /get_started/windows/clojure/clojure.md %}{% endmarkdown %} -
+
+ {% markdown %}{% include /get_started/windows/clojure/build-from-source.md %}{% endmarkdown %} +
+
-
- {% markdown %}{% include /get_started/windows/java/java.md %}{% endmarkdown %} -
+
+ {% markdown %}{% include /get_started/windows/java/build-from-source.md %}{% endmarkdown %} +
-
-
- {% markdown %}{% include /get_started/windows/julia/pkg.md %}{% endmarkdown %} -
-
- {% markdown %}{% include /get_started/windows/julia/build-from-source.md %}{% endmarkdown %} -
-
+
+ {% markdown %}{% include /get_started/windows/julia/build-from-source.md %}{% endmarkdown %} +
-
- {% markdown %}{% include /get_started/windows/perl/perl.md %}{% endmarkdown %} -
+
+ {% markdown %}{% include /get_started/windows/perl/build-from-source.md %}{% endmarkdown %} +
-
- {% markdown %}{% include /get_started/windows/cpp/cpp.md %}{% endmarkdown %} -
-
- - For more installation options, refer to the MXNet Windows installation guide. - +
+ {% markdown %}{% include /get_started/windows/cpp/build-from-source.md %}{% endmarkdown %} +
+ + diff --git a/docs/static_site/src/_includes/get_started/linux/clojure/cpu.md b/docs/static_site/src/_includes/get_started/linux/clojure/build-from-source.md similarity index 100% rename from docs/static_site/src/_includes/get_started/linux/clojure/cpu.md rename to docs/static_site/src/_includes/get_started/linux/clojure/build-from-source.md diff --git a/docs/static_site/src/_includes/get_started/linux/clojure/gpu.md b/docs/static_site/src/_includes/get_started/linux/clojure/gpu.md deleted file mode 100644 index 82b8821bf0fc..000000000000 --- a/docs/static_site/src/_includes/get_started/linux/clojure/gpu.md +++ /dev/null @@ -1 +0,0 @@ -Please refer to the [MXNet-Clojure setup guide](https://github.com/apache/incubator-mxnet/tree/master/contrib/clojure-package) for a detailed set of instructions to help you with the setup process that is required to use the Clojure dependency. diff --git a/docs/static_site/src/_includes/get_started/linux/cpp/build-from-source.md b/docs/static_site/src/_includes/get_started/linux/cpp/build-from-source.md new file mode 100644 index 000000000000..d37cf77a3afc --- /dev/null +++ b/docs/static_site/src/_includes/get_started/linux/cpp/build-from-source.md @@ -0,0 +1,2 @@ +To use the C++ package, build from source the `USE_CPP_PACKAGE=1` option. Please +refer to the build from source instructions linked above. diff --git a/docs/static_site/src/_includes/get_started/linux/cpp/cpp.md b/docs/static_site/src/_includes/get_started/linux/cpp/cpp.md deleted file mode 100644 index dc492d801262..000000000000 --- a/docs/static_site/src/_includes/get_started/linux/cpp/cpp.md +++ /dev/null @@ -1,4 +0,0 @@ -To enable the C++ package, build from source using `make USE_CPP_PACKAGE=1`. -Refer to the [MXNet C++ setup guide](/get_started/cpp_setup.html) -for full instructions. - \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/linux/java/build-from-source.md b/docs/static_site/src/_includes/get_started/linux/java/build-from-source.md new file mode 100644 index 000000000000..585cc3e41890 --- /dev/null +++ b/docs/static_site/src/_includes/get_started/linux/java/build-from-source.md @@ -0,0 +1,6 @@ +Previously available binaries distributed via Maven have been removed as they +redistributed Category-X binaries in violation of Apache Software Foundation +(ASF) policies. + +At this point in time, no third-party binary Java packages are available. Please +follow the build from source instructions linked above. diff --git a/docs/static_site/src/_includes/get_started/linux/java/gpu.md b/docs/static_site/src/_includes/get_started/linux/java/gpu.md deleted file mode 100644 index 756c510819f6..000000000000 --- a/docs/static_site/src/_includes/get_started/linux/java/gpu.md +++ /dev/null @@ -1,6 +0,0 @@ -Prebuilt binaries distributed via Maven have been removed as they redistributed -Category-X binaries in violation of Apache Software Foundation (ASF) policies. -If you would like to help re-do the binary releases in an ASF-compliant manner, -please reach out via one of the [developer communications -channels](https://mxnet.apache.org/community/contribute#mxnet-dev-communications). -Until then, please follow the build from source instructions linked below. diff --git a/docs/static_site/src/_includes/get_started/linux/julia/build-from-source.md b/docs/static_site/src/_includes/get_started/linux/julia/build-from-source.md index 6e894301df6f..cef507527bfe 100644 --- a/docs/static_site/src/_includes/get_started/linux/julia/build-from-source.md +++ b/docs/static_site/src/_includes/get_started/linux/julia/build-from-source.md @@ -1,2 +1 @@ -Refer to the [Julia section of the MXNet Ubuntu installation guide](/get_started/ubuntu_setup.html#install-the-mxnet-package-for-julia). - +Please follow the build from source instructions linked above. diff --git a/docs/static_site/src/_includes/get_started/linux/julia/pkg.md b/docs/static_site/src/_includes/get_started/linux/julia/pkg.md deleted file mode 100644 index 35971305ee2d..000000000000 --- a/docs/static_site/src/_includes/get_started/linux/julia/pkg.md +++ /dev/null @@ -1,10 +0,0 @@ -Install a pinned version of MXNet like this: - -{% highlight julia %} -]add MXNet#v1.5.0 -{% endhighlight %} - -Or directly install the latest release: -{% highlight julia %} -]add MXNet -{% endhighlight %} \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/linux/perl/build-from-source.md b/docs/static_site/src/_includes/get_started/linux/perl/build-from-source.md new file mode 100644 index 000000000000..cef507527bfe --- /dev/null +++ b/docs/static_site/src/_includes/get_started/linux/perl/build-from-source.md @@ -0,0 +1 @@ +Please follow the build from source instructions linked above. diff --git a/docs/static_site/src/_includes/get_started/linux/perl/perl.md b/docs/static_site/src/_includes/get_started/linux/perl/perl.md deleted file mode 100644 index 1b20674a97b5..000000000000 --- a/docs/static_site/src/_includes/get_started/linux/perl/perl.md +++ /dev/null @@ -1 +0,0 @@ -Refer to the [Perl section of the MXNet Ubuntu installation guide](/get_started/ubuntu_setup.html#install-the-mxnet-package-for-perl). \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/linux/python/cpu/build-from-source.md b/docs/static_site/src/_includes/get_started/linux/python/cpu/build-from-source.md index 73abb181e423..cef507527bfe 100644 --- a/docs/static_site/src/_includes/get_started/linux/python/cpu/build-from-source.md +++ b/docs/static_site/src/_includes/get_started/linux/python/cpu/build-from-source.md @@ -1 +1 @@ -To build from source, refer to the [MXNet Ubuntu installation guide](/get_started/ubuntu_setup.html). +Please follow the build from source instructions linked above. diff --git a/docs/static_site/src/_includes/get_started/linux/python/cpu/docker.md b/docs/static_site/src/_includes/get_started/linux/python/cpu/docker.md index 52eeb22548c1..7eab6d36dec2 100644 --- a/docs/static_site/src/_includes/get_started/linux/python/cpu/docker.md +++ b/docs/static_site/src/_includes/get_started/linux/python/cpu/docker.md @@ -1,22 +1,18 @@ -Docker images with *MXNet* are available at [DockerHub](https://hub.docker.com/r/mxnet/). - -**Step 1** Install Docker on your machine by following the [docker installation -instructions](https://docs.docker.com/engine/installation/linux/ubuntu/#install-using-the-repository). - -*Note* - You can install Community Edition (CE) to get started with *MXNet*. - -**Step 2** [Optional] Post installation steps to manage Docker as a non-root user. +WARNING: the following links and names of binary distributions are provided for +your convenience but they point to packages that are *not* provided nor endorsed +by the Apache Software Foundation. As such, they might contain software +components with more restrictive licenses than the Apache License and you'll +need to decide whether they are appropriate for your usage. Like all Apache +Releases, the official Apache MXNet (incubating) releases consist of source code +only and are found at +the [Download page](https://mxnet.apache.org/get_started/download). + -Follow the four steps in this [docker -documentation](https://docs.docker.com/engine/installation/linux/linux-postinstall/#manage-docker-as-a-non-root-user) -to allow managing docker containers without *sudo*. - -If you skip this step, you need to use *sudo* each time you invoke Docker. - -**Step 3** Pull the MXNet docker image. +Docker images with *MXNet* are available at [DockerHub](https://hub.docker.com/r/mxnet/). +After you installed Docker on your machine, you can use them via: {% highlight bash %} -$ docker pull mxnet/python # Use sudo if you skip Step 2 +$ docker pull mxnet/python {% endhighlight %} You can list docker images to see if mxnet/python docker image pull was successful. @@ -28,16 +24,4 @@ REPOSITORY TAG IMAGE ID CREATED SIZE mxnet/python latest 00d026968b3c 3 weeks ago 1.41 GB {% endhighlight %} -Using the latest MXNet with [Intel MKL-DNN](https://github.com/intel/mkl-dnn) is -recommended for the -fastest inference speeds with MXNet. - -{% highlight bash %} -$ docker pull mxnet/python:1.3.0_cpu_mkl # Use sudo if you skip Step 2 -$ docker images # Use sudo if you skip Step 2 - -REPOSITORY TAG IMAGE ID CREATED SIZE -mxnet/python 1.3.0_cpu_mkl deaf9bf61d29 4 days ago 678 MB -{% endhighlight %} - -**Step 4** Validate the installation. \ No newline at end of file +You can then validate the installation. diff --git a/docs/static_site/src/_includes/get_started/linux/python/cpu/pip.md b/docs/static_site/src/_includes/get_started/linux/python/cpu/pip.md index 5fb510a1dde2..83e86047dc4f 100644 --- a/docs/static_site/src/_includes/get_started/linux/python/cpu/pip.md +++ b/docs/static_site/src/_includes/get_started/linux/python/cpu/pip.md @@ -1,3 +1,11 @@ +WARNING: the following PyPI package names are provided for your convenience but +they point to packages that are *not* provided nor endorsed by the Apache +Software Foundation. As such, they might contain software components with more +restrictive licenses than the Apache License and you'll need to decide whether +they are appropriate for your usage. Like all Apache Releases, the official +Apache MXNet (incubating) releases consist of source code only and are found at +the [Download page](https://mxnet.apache.org/get_started/download). + Run the following command:
@@ -115,13 +123,6 @@ pip install mxnet==0.11.0
-
- -{% highlight bash %} -pip install --pre mxnet -f https://dist.mxnet.io/python/all -{% endhighlight %} - -

diff --git a/docs/static_site/src/_includes/get_started/linux/python/gpu/build-from-source.md b/docs/static_site/src/_includes/get_started/linux/python/gpu/build-from-source.md index 73abb181e423..cef507527bfe 100644 --- a/docs/static_site/src/_includes/get_started/linux/python/gpu/build-from-source.md +++ b/docs/static_site/src/_includes/get_started/linux/python/gpu/build-from-source.md @@ -1 +1 @@ -To build from source, refer to the [MXNet Ubuntu installation guide](/get_started/ubuntu_setup.html). +Please follow the build from source instructions linked above. diff --git a/docs/static_site/src/_includes/get_started/linux/python/gpu/docker.md b/docs/static_site/src/_includes/get_started/linux/python/gpu/docker.md index a7d8c004a2a4..f963bc9c58de 100644 --- a/docs/static_site/src/_includes/get_started/linux/python/gpu/docker.md +++ b/docs/static_site/src/_includes/get_started/linux/python/gpu/docker.md @@ -1,24 +1,19 @@ -Docker images with *MXNet* are available at [DockerHub](https://hub.docker.com/r/mxnet/). - -**Step 1** Install Docker on your machine by following the [docker installation -instructions](https://docs.docker.com/engine/installation/linux/ubuntu/#install-using-the-repository). - -*Note* - You can install Community Edition (CE) to get started with *MXNet*. - -**Step 2** [Optional] Post installation steps to manage Docker as a non-root user. +WARNING: the following links and names of binary distributions are provided for +your convenience but they point to packages that are *not* provided nor endorsed +by the Apache Software Foundation. As such, they might contain software +components with more restrictive licenses than the Apache License and you'll +need to decide whether they are appropriate for your usage. Like all Apache +Releases, the official Apache MXNet (incubating) releases consist of source code +only and are found at +the [Download page](https://mxnet.apache.org/get_started/download). -Follow the four steps in this [docker -documentation](https://docs.docker.com/engine/installation/linux/linux-postinstall/#manage-docker-as-a-non-root-user) -to allow managing docker containers without *sudo*. - -If you skip this step, you need to use *sudo* each time you invoke Docker. +Docker images with *MXNet* are available at [DockerHub](https://hub.docker.com/r/mxnet/). -**Step 3** Install *nvidia-docker-plugin* following the [installation -instructions](https://github.com/NVIDIA/nvidia-docker/wiki). *nvidia-docker-plugin* -is required to -enable the usage of GPUs from the docker containers. +Please follow the [NVidia Docker installation +instructions](https://github.com/NVIDIA/nvidia-docker/wiki) to enable the usage +of GPUs from the docker containers. -**Step 4** Pull the MXNet docker image. +After you installed Docker on your machine, you can use them via: {% highlight bash %} $ docker pull mxnet/python:gpu # Use sudo if you skip Step 2 @@ -33,16 +28,4 @@ REPOSITORY TAG IMAGE ID CREATED SIZE mxnet/python gpu 493b2683c269 3 weeks ago 4.77 GB {% endhighlight %} -Using the latest MXNet with [Intel MKL-DNN](https://github.com/intel/mkl-dnn) is -recommended for the -fastest inference speeds with MXNet. - -{% highlight bash %} -$ docker pull mxnet/python:1.3.0_cpu_mkl # Use sudo if you skip Step 2 -$ docker images # Use sudo if you skip Step 2 - -REPOSITORY TAG IMAGE ID CREATED SIZE -mxnet/python 1.3.0_gpu_cu92_mkl adcb3ab19f50 4 days ago 4.23 GB -{% endhighlight %} - -**Step 5** Validate the installation. \ No newline at end of file +You can then validate the installation. diff --git a/docs/static_site/src/_includes/get_started/linux/python/gpu/pip.md b/docs/static_site/src/_includes/get_started/linux/python/gpu/pip.md index 45c03418e53b..b47226c73977 100644 --- a/docs/static_site/src/_includes/get_started/linux/python/gpu/pip.md +++ b/docs/static_site/src/_includes/get_started/linux/python/gpu/pip.md @@ -1,3 +1,11 @@ +WARNING: the following PyPI package names are provided for your convenience but +they point to packages that are *not* provided nor endorsed by the Apache +Software Foundation. As such, they might contain software components with more +restrictive licenses than the Apache License and you'll need to decide whether +they are appropriate for your usage. Like all Apache Releases, the official +Apache MXNet (incubating) releases consist of source code only and are found at +the [Download page](https://mxnet.apache.org/get_started/download). + Run the following command:
@@ -67,14 +75,6 @@ $ pip install mxnet-cu80==0.11.0
-
- -{% highlight bash %} -$ pip install --pre mxnet-cu102 -f https://dist.mxnet.io/python/all -{% endhighlight %} - -
-
{% include /get_started/pip_snippet.md %} diff --git a/docs/static_site/src/_includes/get_started/linux/r/build-from-source.md b/docs/static_site/src/_includes/get_started/linux/r/build-from-source.md new file mode 100644 index 000000000000..1150a309223d --- /dev/null +++ b/docs/static_site/src/_includes/get_started/linux/r/build-from-source.md @@ -0,0 +1,2 @@ +You will need to R v3.4.4+ and build MXNet from source. Please follow the +instructions linked above. diff --git a/docs/static_site/src/_includes/get_started/linux/r/cpu.md b/docs/static_site/src/_includes/get_started/linux/r/cpu.md deleted file mode 100644 index 1077362c9a65..000000000000 --- a/docs/static_site/src/_includes/get_started/linux/r/cpu.md +++ /dev/null @@ -1,10 +0,0 @@ -The default version of R that is installed with `apt-get` is insufficient. You will need -to first [install R v3.4.4+ and build MXNet from source](/get_started/ubuntu_setup.html#install-the-mxnet-package-for-r). - -After you have setup R v3.4.4+ and MXNet, you can build and install the MXNet R bindings with the following, assuming that `incubator-mxnet` is the source directory you used to build MXNet as follows: - -{% highlight bash %} -$ cd incubator-mxnet -$ mkdir build; cd build; cmake -DUSE_CUDA=OFF ..; make -j $(nproc); cd .. -$ make -f R-package/Makefile rpkg -{% endhighlight %} diff --git a/docs/static_site/src/_includes/get_started/linux/r/gpu.md b/docs/static_site/src/_includes/get_started/linux/r/gpu.md deleted file mode 100644 index f112da526dcf..000000000000 --- a/docs/static_site/src/_includes/get_started/linux/r/gpu.md +++ /dev/null @@ -1,15 +0,0 @@ -The default version of R that is installed with `apt-get` is insufficient. You will need -to first [install R v3.4.4+ and build MXNet from source](/get_started/ubuntu_setup.html#install-the-mxnet-package-for-r). - -After you have setup R v3.4.4+ and MXNet, you can build and install the MXNet R bindings -with the -following, assuming that `incubator-mxnet` is the source directory you used to build -MXNet as follows: - -{% highlight bash %} -$ cd incubator-mxnet -$ mkdir build; cd build; cmake ..; make -j $(nproc); cd .. -$ make -f R-package/Makefile rpkg -{% endhighlight %} - -{% include /get_started/gpu_snippet.md %} diff --git a/docs/static_site/src/_includes/get_started/linux/java/cpu.md b/docs/static_site/src/_includes/get_started/linux/scala/build-from-source.md similarity index 100% rename from docs/static_site/src/_includes/get_started/linux/java/cpu.md rename to docs/static_site/src/_includes/get_started/linux/scala/build-from-source.md diff --git a/docs/static_site/src/_includes/get_started/linux/scala/cpu.md b/docs/static_site/src/_includes/get_started/linux/scala/cpu.md deleted file mode 100644 index 756c510819f6..000000000000 --- a/docs/static_site/src/_includes/get_started/linux/scala/cpu.md +++ /dev/null @@ -1,6 +0,0 @@ -Prebuilt binaries distributed via Maven have been removed as they redistributed -Category-X binaries in violation of Apache Software Foundation (ASF) policies. -If you would like to help re-do the binary releases in an ASF-compliant manner, -please reach out via one of the [developer communications -channels](https://mxnet.apache.org/community/contribute#mxnet-dev-communications). -Until then, please follow the build from source instructions linked below. diff --git a/docs/static_site/src/_includes/get_started/linux/scala/gpu.md b/docs/static_site/src/_includes/get_started/linux/scala/gpu.md deleted file mode 100644 index 756c510819f6..000000000000 --- a/docs/static_site/src/_includes/get_started/linux/scala/gpu.md +++ /dev/null @@ -1,6 +0,0 @@ -Prebuilt binaries distributed via Maven have been removed as they redistributed -Category-X binaries in violation of Apache Software Foundation (ASF) policies. -If you would like to help re-do the binary releases in an ASF-compliant manner, -please reach out via one of the [developer communications -channels](https://mxnet.apache.org/community/contribute#mxnet-dev-communications). -Until then, please follow the build from source instructions linked below. diff --git a/docs/static_site/src/_includes/get_started/macos b/docs/static_site/src/_includes/get_started/macos new file mode 120000 index 000000000000..9c52cb36f47e --- /dev/null +++ b/docs/static_site/src/_includes/get_started/macos @@ -0,0 +1 @@ +linux \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/clojure/cpu.md b/docs/static_site/src/_includes/get_started/macos/clojure/cpu.md deleted file mode 100644 index 0eee5c8f6341..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/clojure/cpu.md +++ /dev/null @@ -1,13 +0,0 @@ -Please refer to the [MXNet-Clojure setup guide](https://github.com/apache/incubator-mxnet/tree/master/contrib/clojure-package) for a detailed set of instructions to help you with the setup process that is required to use the Clojure dependency. - -maven badge - -{% highlight html %} - - org.apache.mxnet.contrib.clojure - clojure-mxnet-osx-cpu - -{% endhighlight %} - diff --git a/docs/static_site/src/_includes/get_started/macos/clojure/gpu.md b/docs/static_site/src/_includes/get_started/macos/clojure/gpu.md deleted file mode 100644 index ccbc24db96e7..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/clojure/gpu.md +++ /dev/null @@ -1 +0,0 @@ -Not available at this time. diff --git a/docs/static_site/src/_includes/get_started/macos/cpp/cpp.md b/docs/static_site/src/_includes/get_started/macos/cpp/cpp.md deleted file mode 100644 index cb9e613928d9..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/cpp/cpp.md +++ /dev/null @@ -1,3 +0,0 @@ -To enable the C++ package, build from source using `make USE_CPP_PACKAGE=1`. -Refer to the [MXNet C++ setup guide](/get_started/cpp_setup.html) for full instructions. - \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/java/cpu.md b/docs/static_site/src/_includes/get_started/macos/java/cpu.md deleted file mode 100644 index 002037a15771..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/java/cpu.md +++ /dev/null @@ -1,16 +0,0 @@ -You can use the Maven packages defined in the following dependency to include MXNet in -your Java project. The Java API is provided as a subset of the Scala API and is intended for -inference only. -Please refer to the [MXNet-Java setup guide](/get_started/java_setup.html) for a detailed set of instructions to help you with the setup process. - - - -{% highlight html %} - - org.apache.mxnet - mxnet-full_2.11-linux-x86_64-cpu - [1.5.0, ) - -{% endhighlight %} \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/java/gpu.md b/docs/static_site/src/_includes/get_started/macos/java/gpu.md deleted file mode 100644 index b17ef33478ea..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/java/gpu.md +++ /dev/null @@ -1 +0,0 @@ -Not available at this time. \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/julia/build-from-source.md b/docs/static_site/src/_includes/get_started/macos/julia/build-from-source.md deleted file mode 100644 index d1b8b29cd5a8..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/julia/build-from-source.md +++ /dev/null @@ -1 +0,0 @@ -Refer to the [Julia section of the MXNet macOS installation guide](/get_started/osx_setup.html#install-the-mxnet-package-for-julia). \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/julia/pkg.md b/docs/static_site/src/_includes/get_started/macos/julia/pkg.md deleted file mode 100644 index 35971305ee2d..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/julia/pkg.md +++ /dev/null @@ -1,10 +0,0 @@ -Install a pinned version of MXNet like this: - -{% highlight julia %} -]add MXNet#v1.5.0 -{% endhighlight %} - -Or directly install the latest release: -{% highlight julia %} -]add MXNet -{% endhighlight %} \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/perl/perl.md b/docs/static_site/src/_includes/get_started/macos/perl/perl.md deleted file mode 100644 index e6ad6081c514..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/perl/perl.md +++ /dev/null @@ -1 +0,0 @@ -Refer to the [Perl section of the MXNet macOS installation guide](/get_started/osx_setup.html#install-the-mxnet-package-for-perl). \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/python/cpu/build-from-source.md b/docs/static_site/src/_includes/get_started/macos/python/cpu/build-from-source.md deleted file mode 100644 index 8b4ab13e36ae..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/python/cpu/build-from-source.md +++ /dev/null @@ -1,2 +0,0 @@ -To build from source, refer to the [MXNet macOS installation guide](/get_started/osx_setup.html). -MXNet developers should refer to the MXNet wiki's [Developer Setup on macOS](https://cwiki.apache.org/confluence/display/MXNET/MXNet+Developer+Setup+on+Mac). diff --git a/docs/static_site/src/_includes/get_started/macos/python/cpu/docker.md b/docs/static_site/src/_includes/get_started/macos/python/cpu/docker.md deleted file mode 100644 index 56cde003acb9..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/python/cpu/docker.md +++ /dev/null @@ -1,35 +0,0 @@ -Docker images with *MXNet* are available at [DockerHub](https://hub.docker.com/r/mxnet/). - -**Step 1** Install Docker on your machine by following the [docker installation -instructions](https://docs.docker.com/docker-for-mac/install/#install-and-run-docker-for-mac). - -*Note* - You can install Community Edition (CE) to get started with *MXNet*. - -**Step 2** Pull the MXNet docker image. - -{% highlight bash %} -$ docker pull mxnet/python -{% endhighlight %} - -You can list docker images to see if mxnet/python docker image pull was successful. - -{% highlight bash %} -$ docker images - -REPOSITORY TAG IMAGE ID CREATED SIZE -mxnet/python latest 00d026968b3c 3 weeks ago 1.41 GB -{% endhighlight %} - -Using the latest MXNet with [Intel MKL-DNN](https://github.com/intel/mkl-dnn) is -recommended for the -fastest inference speeds with MXNet. - -{% highlight bash %} -$ docker pull mxnet/python:1.3.0_cpu_mkl # Use sudo if you skip Step 2 -$ docker images # Use sudo if you skip Step 2 - -REPOSITORY TAG IMAGE ID CREATED SIZE -mxnet/python 1.3.0_cpu_mkl deaf9bf61d29 4 days ago 678 MB -{% endhighlight %} - -**Step 4** Validate the installation. \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/python/cpu/pip.md b/docs/static_site/src/_includes/get_started/macos/python/cpu/pip.md deleted file mode 100644 index b06a5dde44e5..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/python/cpu/pip.md +++ /dev/null @@ -1,79 +0,0 @@ -Run the following command: - -
- -{% highlight bash %} -$ pip install mxnet -{% endhighlight %} -
-
- -{% highlight bash %} -$ pip install mxnet==1.5.1 -{% endhighlight %} -
-
- -{% highlight bash %} -$ pip install mxnet==1.4.1 -{% endhighlight %} -
-
- -{% highlight bash %} -$ pip install mxnet==1.3.1 -{% endhighlight %} - -
-
- -{% highlight bash %} -$ pip install mxnet==1.2.1 -{% endhighlight %} - -
- - -
- -{% highlight bash %} -$ pip install mxnet==1.1.0 -{% endhighlight %} - -
- - -
- -{% highlight bash %} -$ pip install mxnet==1.0.0 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install mxnet=0.12.1 -{% endhighlight %} - -
- - -
- -{% highlight bash %} -$ pip install mxnet==0.11.0 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install --pre mxnet -f https://dist.mxnet.io/python/all -{% endhighlight %} - -
- -{% include /get_started/pip_snippet.md %} diff --git a/docs/static_site/src/_includes/get_started/macos/python/gpu/build-from-source.md b/docs/static_site/src/_includes/get_started/macos/python/gpu/build-from-source.md deleted file mode 100644 index 95805e6ded99..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/python/gpu/build-from-source.md +++ /dev/null @@ -1,2 +0,0 @@ -Refer to the [MXNet macOS installation guide](/get_started/osx_setup.html). -MXNet developers should refer to the MXNet wiki's [Developer Setup on macOS](https://cwiki.apache.org/confluence/display/MXNET/MXNet+Developer+Setup+on+Mac). \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/python/gpu/pip_docker.md b/docs/static_site/src/_includes/get_started/macos/python/gpu/pip_docker.md deleted file mode 100644 index 4d1261d9c27f..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/python/gpu/pip_docker.md +++ /dev/null @@ -1 +0,0 @@ -This option is only available by building from source. Refer to the [MXNet macOS installation guide](/get_started/osx_setup.html). \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/r/cpu.md b/docs/static_site/src/_includes/get_started/macos/r/cpu.md deleted file mode 100644 index 51a31eb025e7..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/r/cpu.md +++ /dev/null @@ -1,28 +0,0 @@ -To run MXNet you also should have OpenCV and OpenBLAS installed. You may install them with `brew` as follows: - -{% highlight bash %} -brew install opencv -brew install openblas -{% endhighlight %} - -To ensure MXNet R package runs with the version of OpenBLAS installed, create a symbolic link as follows: - -{% highlight bash %} -ln -sf /usr/local/opt/openblas/lib/libopenblas.dylib -/usr/local/opt/openblas/lib/libopenblasp-r0.3.1.dylib -{% endhighlight %} - -Note: packages for 3.6.x are not yet available. - -Install 3.5.x of R from [CRAN](https://cran.r-project.org/bin/macosx/). The latest is -[v3.5.3](https://cran.r-project.org/bin/macosx/R-3.5.3.pkg). - -You can [build MXNet-R from source](/get_started/osx_setup.html#install-the-mxnet-package-for-r), or -you can use a pre-built binary: - -{% highlight r %} -cran <- getOption("repos") -cran["dmlc"] <- "https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/" -options(repos = cran) -install.packages("mxnet") -{% endhighlight %} diff --git a/docs/static_site/src/_includes/get_started/macos/r/gpu.md b/docs/static_site/src/_includes/get_started/macos/r/gpu.md deleted file mode 100644 index 3fc556a8dd91..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/r/gpu.md +++ /dev/null @@ -1 +0,0 @@ -Be the first one to contribute this guide! \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/scala/cpu.md b/docs/static_site/src/_includes/get_started/macos/scala/cpu.md deleted file mode 100644 index dbb2a18321db..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/scala/cpu.md +++ /dev/null @@ -1,14 +0,0 @@ -You can use the Maven packages defined in the following dependency to include MXNet in your Scala -project. Please refer to the [MXNet-Scala setup guide](/get_started/scala_setup.html) for a detailed set -of instructions to help you with the setup process. - -maven badge - -{% highlight html %} - - org.apache.mxnet - mxnet-full_2.11-osx-x86_64-cpu - -{% endhighlight %} \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/macos/scala/gpu.md b/docs/static_site/src/_includes/get_started/macos/scala/gpu.md deleted file mode 100644 index b17ef33478ea..000000000000 --- a/docs/static_site/src/_includes/get_started/macos/scala/gpu.md +++ /dev/null @@ -1 +0,0 @@ -Not available at this time. \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/pip_snippet.md b/docs/static_site/src/_includes/get_started/pip_snippet.md index 3b4f79aec2b9..7278044407e0 100644 --- a/docs/static_site/src/_includes/get_started/pip_snippet.md +++ b/docs/static_site/src/_includes/get_started/pip_snippet.md @@ -1,6 +1,4 @@ -MXNet offers MKL pip packages that will be much faster when running on Intel hardware. -Check the chart below for other options, refer to PyPI for -other MXNet pip packages, or validate your MXNet installation. +You can then validate your MXNet installation.
, or vali **NOTES:** -*mxnet-cu101mkl* means the package is built with CUDA/cuDNN and MKL-DNN enabled and the CUDA version is 10.1. +*mxnet-cu101* means the package is built with CUDA/cuDNN and the CUDA version is +10.1. All MKL pip packages are experimental prior to version 1.3.0. diff --git a/docs/static_site/src/_includes/get_started/windows b/docs/static_site/src/_includes/get_started/windows new file mode 120000 index 000000000000..9c52cb36f47e --- /dev/null +++ b/docs/static_site/src/_includes/get_started/windows @@ -0,0 +1 @@ +linux \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/windows/clojure/clojure.md b/docs/static_site/src/_includes/get_started/windows/clojure/clojure.md deleted file mode 100644 index 0b25ab9018d3..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/clojure/clojure.md +++ /dev/null @@ -1 +0,0 @@ -MXNet-Clojure for Windows is not yet available. \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/windows/cpp/cpp.md b/docs/static_site/src/_includes/get_started/windows/cpp/cpp.md deleted file mode 100644 index 023735b6c3b1..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/cpp/cpp.md +++ /dev/null @@ -1,3 +0,0 @@ -To enable the C++ package, build from source using `make USE_CPP_PACKAGE=1`. -Refer to the [MXNet C++ setup guide](/get_started/cpp_setup.html) for full instructions. - diff --git a/docs/static_site/src/_includes/get_started/windows/java/java.md b/docs/static_site/src/_includes/get_started/windows/java/java.md deleted file mode 100644 index 0db1f50590a2..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/java/java.md +++ /dev/null @@ -1 +0,0 @@ -MXNet-Java for Windows is not yet available. \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/windows/julia/build-from-source.md b/docs/static_site/src/_includes/get_started/windows/julia/build-from-source.md deleted file mode 100644 index 4fc600468ad1..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/julia/build-from-source.md +++ /dev/null @@ -1 +0,0 @@ -Refer to the [Julia section of the MXNet Windows installation guide](/get_started/windows_setup.html#install-the-mxnet-package-for-julia). diff --git a/docs/static_site/src/_includes/get_started/windows/julia/pkg.md b/docs/static_site/src/_includes/get_started/windows/julia/pkg.md deleted file mode 100644 index cb79177e5bbe..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/julia/pkg.md +++ /dev/null @@ -1,10 +0,0 @@ -Install a pinned version of MXNet like this: - -{% highlight julia %} -]add MXNet#v1.5.0 -{% endhighlight %} - -Or directly install the latest release: -{% highlight julia %} -]add MXNet -{% endhighlight %} diff --git a/docs/static_site/src/_includes/get_started/windows/perl/perl.md b/docs/static_site/src/_includes/get_started/windows/perl/perl.md deleted file mode 100644 index d639a105693d..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/perl/perl.md +++ /dev/null @@ -1 +0,0 @@ -MXNet Perl API for Windows is not yet available. \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/windows/python/cpu/build-from-source.md b/docs/static_site/src/_includes/get_started/windows/python/cpu/build-from-source.md deleted file mode 100644 index 1aff9b0ca355..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/python/cpu/build-from-source.md +++ /dev/null @@ -1 +0,0 @@ -To build from source, refer to the [MXNet Windows installation guide](/get_started/windows_setup.html). \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/windows/python/cpu/docker.md b/docs/static_site/src/_includes/get_started/windows/python/cpu/docker.md deleted file mode 100644 index d3868e55add9..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/python/cpu/docker.md +++ /dev/null @@ -1,34 +0,0 @@ -Docker images with *MXNet* are available at [Docker Hub](https://hub.docker.com/r/mxnet/). - -**Step 1** Install Docker on your machine by following the docker installation instructions - -*Note* - You can install Community Edition (CE) to get started with *MXNet*. - -**Step 2** Pull the MXNet docker image. - -{% highlight bash %} -$ docker pull mxnet/python # Use sudo if you skip Step 2 -{% endhighlight %} - -You can list docker images to see if mxnet/python docker image pull was successful. - -{% highlight bash %} -$ docker images # Use sudo if you skip Step 2 - -REPOSITORY TAG IMAGE ID CREATED SIZE -mxnet/python latest 00d026968b3c 3 weeks ago 1.41 GB -{% endhighlight %} - -Using the latest MXNet with [Intel MKL-DNN](https://github.com/intel/mkl-dnn) is -recommended for the -fastest inference speeds with MXNet. - -{% highlight bash %} -$ docker pull mxnet/python:1.3.0_cpu_mkl # Use sudo if you skip Step 2 -$ docker images # Use sudo if you skip Step 2 - -REPOSITORY TAG IMAGE ID CREATED SIZE -mxnet/python 1.3.0_cpu_mkl deaf9bf61d29 4 days ago 678 MB -{% endhighlight %} - -**Step 4** Validate the installation. \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/windows/python/cpu/pip.md b/docs/static_site/src/_includes/get_started/windows/python/cpu/pip.md deleted file mode 100644 index 60af550b8245..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/python/cpu/pip.md +++ /dev/null @@ -1,79 +0,0 @@ - - - -
- -Windows pip packages for MXNet 1.6 are not yet available. - -
-
- -{% highlight bash %} -$ pip install mxnet==1.5.1 -{% endhighlight %} - -
-
- -{% highlight bash %} -$ pip install mxnet==1.4.1 -{% endhighlight %} - -
-
- -{% highlight bash %} -$ pip install mxnet==1.3.1 -{% endhighlight %} - -
-
- -{% highlight bash %} -$ pip install mxnet==1.2.1 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install mxnet==1.1.0 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install mxnet==1.0.0 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install mxnet==0.12.1 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install mxnet==0.11.0 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install --pre mxnet -f https://dist.mxnet.io/python/all -{% endhighlight %} - -
- -{% include /get_started/pip_snippet.md %} -{% include /get_started/gpu_snippet.md %} diff --git a/docs/static_site/src/_includes/get_started/windows/python/gpu/build-from-source.md b/docs/static_site/src/_includes/get_started/windows/python/gpu/build-from-source.md deleted file mode 100644 index 55bca3a129d8..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/python/gpu/build-from-source.md +++ /dev/null @@ -1 +0,0 @@ -To build from source, refer to the [MXNet Windows installation guide](/get_started/windows_setup.html). diff --git a/docs/static_site/src/_includes/get_started/windows/python/gpu/docker.md b/docs/static_site/src/_includes/get_started/windows/python/gpu/docker.md deleted file mode 100644 index 9d75ae807d0a..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/python/gpu/docker.md +++ /dev/null @@ -1 +0,0 @@ -Docker installation for Windows GPU is not yet available. \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/windows/python/gpu/pip.md b/docs/static_site/src/_includes/get_started/windows/python/gpu/pip.md deleted file mode 100644 index 4c095a264150..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/python/gpu/pip.md +++ /dev/null @@ -1,80 +0,0 @@ - - - -
- -Windows pip packages for MXNet 1.6 are not yet available. - -
-
- -{% highlight bash %} -$ pip install mxnet-cu101==1.5.1 -{% endhighlight %} - -
-
- -{% highlight bash %} -$ pip install mxnet-cu101==1.4.1 -{% endhighlight %} - -
-
- -{% highlight bash %} -$ pip install mxnet-cu92==1.3.1 -{% endhighlight %} - -
-
- -{% highlight bash %} -$ pip install mxnet-cu92==1.2.1 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install mxnet-cu91==1.1.0 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install mxnet-cu90==1.0.0 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install mxnet-cu90==0.12.1 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install mxnet-cu80==0.11.0 -{% endhighlight %} - -
- -
- -{% highlight bash %} -$ pip install --pre mxnet-cu102 -f https://dist.mxnet.io/python/all -{% endhighlight %} - -
- - -{% include /get_started/pip_snippet.md %} -{% include /get_started/gpu_snippet.md %} diff --git a/docs/static_site/src/_includes/get_started/windows/r/cpu.md b/docs/static_site/src/_includes/get_started/windows/r/cpu.md deleted file mode 100644 index 3a45f1848b7f..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/r/cpu.md +++ /dev/null @@ -1,15 +0,0 @@ -Note: packages for 3.6.x are not yet available. -Install 3.5.x of R from [CRAN](https://cran.r-project.org/bin/windows/base/old/). - -You can [build MXNet-R from source](/get_started/windows_setup.html#install-the-mxnet-package-for-r), or -you can use a -pre-built binary: - -{% highlight r %} -cran <- getOption("repos") -cran["dmlc"] <- "https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/" -options(repos = cran) -install.packages("mxnet") -{% endhighlight %} - -To run MXNet you also should have OpenCV and OpenBLAS installed. diff --git a/docs/static_site/src/_includes/get_started/windows/r/gpu.md b/docs/static_site/src/_includes/get_started/windows/r/gpu.md deleted file mode 100644 index 52db31eea21c..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/r/gpu.md +++ /dev/null @@ -1,17 +0,0 @@ -Note: packages for 3.6.x are not yet available. -Install 3.5.x of R from [CRAN](https://cran.r-project.org/bin/windows/base/old/). - -You can [build MXNet-R from source](/get_started/windows_setup.html#install-the-mxnet-package-for-r), or you can use a pre-built binary: - -{% highlight r %} -cran <- getOption("repos") -cran["dmlc"] <- -"https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/GPU/cu92" -options(repos = cran) -install.packages("mxnet") -{% endhighlight %} - -Change cu92 to cu90, cu91 or cuda100 based on your CUDA toolkit version. Currently, MXNet supports these versions of CUDA. -Note : You also need to have cuDNN installed on Windows. Check out this -[guide](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindows) -on the steps for installation. \ No newline at end of file diff --git a/docs/static_site/src/_includes/get_started/windows/scala/scala.md b/docs/static_site/src/_includes/get_started/windows/scala/scala.md deleted file mode 100644 index 74b7d45c6d79..000000000000 --- a/docs/static_site/src/_includes/get_started/windows/scala/scala.md +++ /dev/null @@ -1 +0,0 @@ -MXNet-Scala for Windows is not yet available. \ No newline at end of file diff --git a/docs/static_site/src/pages/get_started/build_from_source.md b/docs/static_site/src/pages/get_started/build_from_source.md index 180ec8c568d3..4ec9a7fa838a 100644 --- a/docs/static_site/src/pages/get_started/build_from_source.md +++ b/docs/static_site/src/pages/get_started/build_from_source.md @@ -25,311 +25,378 @@ permalink: /get_started/build_from_source # Build MXNet from Source -This document explains how to build MXNet from source code. - - -## Overview - -Building from source follows this general two-step flow of building the shared library, then installing your preferred language binding. Use the following links to jump to the different sections of this guide. - -1. Build the MXNet shared library, `libmxnet.so`. - * [Clone the repository](#clone-the-mxnet-project) - * [Prerequisites](#prerequisites) - * [Compiler requirement](#compiler-requirement) - * [Math library selection](#math-library-selection) - * [Install GPU software](#install-gpu-software) - * [Install optional software](#install-optional-software) - * [Adjust your build configuration](#build-configurations) - * [Build MXNet](#build-mxnet) - * [with NCCL](#build-mxnet-with-nccl) (optional) - * [for C++](#build-mxnet-with-c++) (optional) - * [Usage Examples](#usage-examples) - * [systems with GPUs and Intel CPUs](#recommended-for-Systems-with-NVIDIA-GPUs-and-Intel-CPUs) - * [GPUs with non-Intel CPUs](#recommended-for-Systems-with-Intel-CPUs) - * [Intel CPUs](#recommended-for-Systems-with-Intel-CPUs) - * [non-Intel CPUs](#recommended-for-Systems-with-non-Intel-CPUs) -2. [Install the language API binding(s)](#installing-mxnet-language-bindings) you would like to use for MXNet. -MXNet's newest and most popular API is Gluon. Gluon is built into the Python binding. If Python isn't your preference, you still have more options. MXNet supports several other language APIs: - - [Python (includes Gluon)]({{'/api/python/docs/api/index.html'|relative_url}}) - - [C++]({{'/api/cpp'|relative_url}}) - - [Clojure]({{'/api/clojure'|relative_url}}) - - [Java]({{'/api/java'|relative_url}}) - - [Julia]({{'/api/julia'|relative_url}}) - - [Perl]({{'/api/perl'|relative_url}}) - - [R]({{'/api/r'|relative_url}}) - - [Scala]({{'/api/scala'|relative_url}}) - -
- -## Build Instructions by Operating System - -Detailed instructions are provided per operating system. Each of these guides also covers how to install the specific [Language Bindings](#installing-mxnet-language-bindings) you require. -You may jump to those, but it is recommended that you continue reading to understand more general "build from source" options. - -* [Amazon Linux / CentOS / RHEL](centos_setup) -* [macOS](osx_setup) -* [Devices](index.html?&platform=devices&language=python&environ=pip&processor=cpu) -* [Ubuntu](ubuntu_setup) -* [Windows](windows_setup) - - -
- -## Clone the MXNet Project - -1. Clone or fork the MXNet project. +Building and installing MXNet from source is a three-step process. First, build +the shared `libmxnet` which provides the MXNet backend, then install your +preferred language binding and finally validate that MXNet was installed +correctly by running a small example. + +1. [Obtaining the source](#obtaining-the-source-code) +2. [Installing MXNet's recommended dependencies](#installing-mxnet's-recommended-dependencies) +3. [Overview of optional dependencies and optional features](#overview-of-optional-dependencies-and-optional-features) +4. [Building MXNet](#building-mxnet) +5. [Install the language API binding(s)](#installing-mxnet-language-bindings) you would like to use for MXNet. + +MXNet's newest and most popular API is Gluon. Gluon is built into the Python +binding. If Python isn't your preference, you still have more options. MXNet +supports several other language bindings. Please see the [API Documentation +page](/api) for an overview of all supported languages and their APIs. + + +## Obtaining the source code + +To obtain the source code of the latest Apache MXNet (incubating) release, +please access the [Download page](/get_started/download) and download the +`.tar.gz` source archive corresponding to the release you wish to build. + +Developers can also obtain the unreleased development code from the git +repository via `git clone --recursive https://github.com/apache/incubator-mxnet mxnet` + +Building a MXNet 1.x release from source requires a C++11 compliant compiler. + +Building the development version of MXNet or any 2.x release from source +requires a C++17 compliant compiler. The oldest compiler versions tested during +MXNet 2 development are GCC 7, Clang 6 and MSVC 2019. + +## Installing MXNet's recommended dependencies +To install the build tools and recommended dependencies, please run the +following commands respectively based on your Operating System. Please see the +next section for further explanations on the set of required and optional +dependencies of MXNet. + +### Debian Linux derivatives (Debian, Ubuntu, ...) +```bash +sudo apt-get update +sudo apt-get install -y build-essential git ninja-build ccache libopenblas-dev libopencv-dev cmake +``` + +### Red Hat Enterprise Linux derivatives (RHEL, CentOS, Fedora, ...) ```bash -git clone --recursive https://github.com/apache/incubator-mxnet mxnet -cd mxnet +sudo yum install epel-release centos-release-scl +sudo yum install git make ninja-build automake autoconf libtool protobuf-compiler protobuf-devel \ + atlas-devel openblas-devel lapack-devel opencv-devel openssl-devel zeromq-devel python3 \ + devtoolset-7 +source /opt/rh/devtoolset-7/enable ``` +Here `devtoolset-7` refers to the [Developer Toolset +7](https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/) created by +Red Hat for developers working on CentOS or Red Hat Enterprise Linux platform +and providing the GNU Compiler Collection 7. -
+### macOS +```bash +# Install OS X Developer Tools +xcode-select --install -## Prerequisites +# Install Homebrew +/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -The following sections will help you decide which specific prerequisites you need to install. +# Install dependencies +brew install cmake ninja ccache opencv +``` -#### Compiler Requirement -Building MXNet from source requires at least [gcc7](https://gcc.gnu.org/), clang6 or any C++17 compatible compiler +Note: the compiler provided by Apple on macOS does not support OpenMP. To use +OpenMP on macOS you need to install for example the Clang compiler via `brew`: -#### Math Library Selection -It is useful to consider your math library selection prior to your other prerequisites. +```bash +brew install llvm +``` + +### Windows +You can use Chocolatey software management solution to install some dependencies +on Windows. + +```bash +choco install python git 7zip cmake ninja opencv +``` + +Currently OpenBLAS is not available from Chocolatey. You may download it from +from [the OpenBLAS release page](https://github.com/xianyi/OpenBLAS/releases) +and compile from source. Set the `OpenBLAS_HOME` environment variable to point +to the OpenBLAS directory that contains the `include` and `lib` directories for +example by typing `set OpenBLAS_HOME=C:\utils\OpenBLAS`. + +If you like to compile MXNet with Visual Studio compiler, please install at +least [VS2019](https://www.visualstudio.com/downloads/). + +## Overview of optional dependencies and optional features + +### Math Library Selection MXNet relies on the [BLAS](https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms) (Basic -Linear Algebra Subprograms) library for numerical computations. -Those can be extended with [LAPACK (Linear Algebra Package)](https://github.com/Reference-LAPACK/lapack), an additional set of mathematical functions. +Linear Algebra Subprograms) library for numerical computations. In addition to +BLAS, some operators in MXNet rely on the [LAPACK (Linear Algebra +Package)](https://github.com/Reference-LAPACK/lapack), an additional set of +mathematical functions. + +Several BLAS and LAPACK implementations exist. Among them, MXNet is tested with: -MXNet supports multiple mathematical backends for computations on the CPU: * [Apple Accelerate](https://developer.apple.com/documentation/accelerate) * [ATLAS](http://math-atlas.sourceforge.net/) -* [MKL](https://software.intel.com/en-us/intel-mkl) (MKL, MKLML) -* [MKL-DNN](https://github.com/intel/mkl-dnn) +* [Intel MKL](https://software.intel.com/en-us/intel-mkl) * [OpenBLAS](https://www.openblas.net/) -The default order of choice for the libraries if found follows the path from the most -(recommended) to less performant backends. -The following lists show this order by library and `cmake` switch. - -For desktop platforms (x86_64): +Apple Accelerate and MKL are proprietary. ATLAS and OpenBLAS are Open Source. If +you don't have any specific requirements, MXNet recommends OpenBLAS as it +typically outperforms ATLAS, is portable across many platforms, provides a +LAPACK implementation and has a permissive license. -1. MKL-DNN (submodule), `USE_MKLDNN` -2. MKL, `USE_MKL_IF_AVAILABLE` -3. MKLML (downloaded), `USE_MKLML` -4. Apple Accelerate (Mac only), `USE_APPLE_ACCELERATE_IF_AVAILABLE` -5. OpenBLAS, `BLAS` +### Optional GPU support -Note: If `USE_MKL_IF_AVAILABLE` is set to False then MKLML and MKL-DNN will be disabled as well for configuration -backwards compatibility. +MXNet optionally supports [NVDIA CUDA and +cuDNN](https://developer.nvidia.com/cuda-downloads) for better performance on +NVidia devices. MXNet releases in general are tested with the last two major +CUDA versions available at the time of the release. For example, CUDA 9.2 and +10.2. -For embedded platforms (all other and if cross compiled): +To compile MXNet with CUDA support, define the `USE_CUDA` option. If you compile +MXNet on a system with NVidia GPUs, the build system will automatically detect +the CUDA Architecture. If you are compiling on a system without NVidia GPUs, +please specify the `MXNET_CUDA_ARCH` option to select the CUDA Architecture and +avoid a lengthy build targeting all common CUDA Architectures. Please see the +MXNet build configuration instructions in the next step. -1. OpenBLAS, `BLAS` +MXNet also supports [NCCL](https://developer.nvidia.com/nccl) - NVIDIA's +Collective Communications Library. NCCL is useful when using MXNet on multiple +GPUs that require communication. Instructions for installing NCCL are found in +the following [Build MXNet with NCCL](#build-mxnet-with-nccl) section. -You can set the BLAS library explicitly by setting the BLAS variable to: +To enable building MXNet with NCCL, install NCCL and define the `USE_NCCL` +option in the MXNet build configuration in the next step. -* Atlas -* Open -* MKL -* Apple +After building with NCCL, you may optionally use the tests in +`tests/python/gpu/test_nccl.py` to ensure NCCL is enabled correctly. Please +first delete the line containing `skip(reason="Test requires NCCL library +installed and enabled during build")` before running the test. In MXNet 2.x +versions, the test can be run via `pytest --verbose +tests/python/gpu/test_nccl.py`. In MXNet 1.x it is run via `python +tests/python/gpu/test_nccl.py`. -See the [cmake/ChooseBLAS.cmake](https://github.com/apache/incubator-mxnet/blob/master/cmake/ChooseBlas.cmake) file for the options. +To get the best performance out of NCCL it is recommended to set environment +variable `NCCL_LAUNCH_MODE=PARALLEL` when using NCCL version 2.1 or newer. -[Intel's MKL (Math Kernel Library)](https://software.intel.com/en-us/mkl) is one of the most powerful math libraries +### Optional OpenCV support -It has following flavors: +MXNet's Image Loading and Augmentation features rely on +[OpenCV](http://opencv.org/). Image Loading and Augmentation -* MKL is a complete math library, containing all the functionality found in ATLAS, OpenBlas and LAPACK. It is free under -community support licensing (https://software.intel.com/en-us/articles/free-mkl), -but needs to be downloaded and installed manually. +## Building MXNet -* MKLML is a subset of MKL. It contains a smaller number of functions to reduce the -size of the download and reduce the number of dynamic libraries user needs. +MXNet 1.x can be built either with a classic Makefile setup or with the `cmake` +cross platform build system. Starting with MXNet 1.7, MXNet recommends using the +`cmake` cross platform build tool. - +Note: The `cmake` build requires CMake 3.13 or higher. If you are running an +older version of CMake, you will see an error message like `CMake 3.13 or higher +is required. You are running version 3.10.2`. Please update CMake on your +system. You can download and install latest CMake from https://cmake.org or via +the Python package manager `pip` with `python3 -m pip install --user --upgrade +"cmake>=3.13.2"`. After installing cmake with `pip3`, it is usually available at +`~/.local/bin/cmake` or directly as `cmake`. -* MKL-DNN is a separate open-source library, it can be used separately from MKL or MKLML. It is -shipped as a subrepo with MXNet source code (see 3rdparty/mkldnn or the [MKL-DNN project](https://github.com/intel/mkl-dnn)) +Please see the [`cmake configuration +files`](https://github.com/apache/incubator-mxnet/tree/v1.x/config) files for +instructions on how to configure and build MXNet with cmake. -Since the full MKL library is almost always faster than any other BLAS library it's turned on by default, -however it needs to be downloaded and installed manually before doing `cmake` configuration. -Register and download on the [Intel performance libraries website](https://software.intel.com/en-us/performance-libraries). -You can also install MKL through [YUM](https://software.intel.com/en-us/articles/installing-intel-free-libs-and-python-yum-repo) -or [APT](https://software.intel.com/en-us/articles/installing-intel-free-libs-and-python-apt-repo) Repository. +Up to the MXNet 1.6 release, please follow the instructions in the +[`make/config.mk`](https://github.com/apache/incubator-mxnet/blob/v1.x/make/config.mk) +file on how to configure and compile MXNet. This method is supported on all 1.x +releases. -Note: MKL is supported only for desktop builds and the framework itself supports the following -hardware: +To enable the optional MXNet C++ package, please set the `USE_CPP_PACKAGE=1` +option prior to compiling. See the [C++ guide](cpp_setup) for more information. -* Intel® Xeon Phi™ processor -* Intel® Xeon® processor -* Intel® Core™ processor family -* Intel Atom® processor - -If you have a different processor you can still try to use MKL, but performance results are -unpredictable. +## Installing MXNet Language Bindings +After building MXNet's shared library, you can install other language bindings. -#### Install GPU Software +**NOTE:** The C++ API binding must be built when you build MXNet from source. See [Build MXNet with C++]({{'/api/cpp.html'|relative_url}}). -If you want to run MXNet with GPUs, you must install [NVDIA CUDA and cuDNN](https://developer.nvidia.com/cuda-downloads). +## Installing Language Packages for MXNet -After installation, run nvidia-smi to verify cuda is available on your machine. +After you have installed the MXNet core library. You may install MXNet interface +packages for the programming language of your choice: +- [Python](#install-mxnet-for-python) +- [C++](#install-the-mxnet-package-for-c++) +- [Clojure](#install-the-mxnet-package-for-clojure) +- [Julia](#install-the-mxnet-package-for-julia) +- [Perl](#install-the-mxnet-package-for-perl) +- [R](#install-the-mxnet-package-for-r) +- [Scala](#install-the-mxnet-package-for-scala) +- [Java](#install-the-mxnet-package-for-java) -#### Install Optional Software -These might be optional, but they're typically desirable as the extend or enhance MXNet's functionality. +### Install MXNet for Python -* [OpenCV](http://opencv.org/) - Image Loading and Augmentation. Each operating system has different packages and build from source options for OpenCV. Refer to your OS's link in the [Build Instructions by Operating System](#build-instructions-by-operating-system) section for further instructions. -* [NCCL](https://developer.nvidia.com/nccl) - NVIDIA's Collective Communications Library. Instructions for installing NCCL are found in the following [Build MXNet with NCCL](#build-mxnet-with-nccl) section. +To install the MXNet Python binding navigate to the root of the MXNet folder then run the following: -More information on turning these features on or off are found in the following [build configurations](#build-configurations) section. +```bash +python3 -m pip install --user -e ./python +``` +Note that the `-e` flag is optional. It is equivalent to `--editable` and means +that if you edit the source files, these changes will be reflected in the +package installed. -
+You may optionally install ```graphviz``` library that is used for visualizing +network graphs you build on MXNet. You may also install [Jupyter +Notebook](http://jupyter.readthedocs.io/) which is used for running MXNet +tutorials and examples. -## Build Configurations +```bash +python3 -m pip install --user graphviz==0.8.4 jupyter +``` -There is a configuration file for make, -[`make/config.mk`](https://github.com/apache/incubator-mxnet/blob/master/make/config.mk), that contains all the compilation options. You can edit it and then run `make` or `cmake`. `cmake` is recommended for building MXNet (and is required to build with MKLDNN), however you may use `make` instead. For building with Java/Scala/Clojure, only `make` is supported. +Please also see the [MXNet Python API](/api/python) page. -**NOTE:** When certain set of build flags are set, MXNet archive increases to more than 4 GB. Since MXNet uses archive internally archive runs into a bug ("File Truncated": [bugreport](https://sourceware.org/bugzilla/show_bug.cgi?id=14625)) for archives greater than 4 GB. Please use ar version 2.27 or greater to overcome this bug. Please see https://github.com/apache/incubator-mxnet/issues/15084 for more details. +### Install the MXNet Package for C++ -
+To enable C++ package, just add `USE_CPP_PACKAGE=1` as build option when +building the MXNet shared library following the instructions from the previous +section. -## Build MXNet +You can find C++ code examples in the `cpp-package/example` folder of the MXNet +project. The folder contains a README explaining how to build the examples. The +`predict-cpp` explains Image Classification using MXNet's C Predict API. -### Build MXNet with NCCL -- Download and install the latest NCCL library from NVIDIA. -- Note the directory path in which NCCL libraries and header files are installed. -- Ensure that the installation directory contains ```lib``` and ```include``` folders. -- Ensure that the prerequisites for using NCCL such as Cuda libraries are met. -- Append the ```config.mk``` file with following, in addition to the CUDA related options. -- USE_NCCL=1 -- USE_NCCL_PATH=path-to-nccl-installation-folder +Please also see the [MXNet C++ API](/api/cpp) page. -``` bash -echo "USE_NCCL=1" >> make/config.mk -echo "USE_NCCL_PATH=path-to-nccl-installation-folder" >> make/config.mk -cp make/config.mk . -``` -- Run make command -``` bash -make -j"$(nproc)" -``` -#### Validating NCCL -- Follow the steps to install MXNet Python binding. -- Comment the following line in ```test_nccl.py``` file at ```incubator-mxnet/tests/python/gpu/test_nccl.py``` -``` bash -@unittest.skip("Test requires NCCL library installed and enabled during build") -``` -- Run test_nccl.py script as follows. The test should complete. It does not produce any output. -``` bash -pytest --verbose tests/python/gpu/test_nccl.py -``` +### Install the MXNet Package for Clojure -**Recommendation to get the best performance out of NCCL:** -It is recommended to set environment variable NCCL_LAUNCH_MODE to PARALLEL when using NCCL version 2.1 or newer. +Refer to the [Clojure setup +guide](https://github.com/apache/incubator-mxnet/tree/master/contrib/clojure-package). -
+Please also see the [MXNet Clojure API](/api/clojure) page. -### Build MXNet with C++ +### Install the MXNet Package for Julia -* To enable C++ package, just add `USE_CPP_PACKAGE=1` when you run `make` or `cmake` (see examples). +Make sure to install at least Julia 1.0.3. -
+To use the Julia binding you need to set the `MXNET_HOME` and `LD_LIBRARY_PATH` +environment variables. For example, -### Usage Examples +```bash +export MXNET_HOME=$HOME/incubator-mxnet +export LD_LIBRARY_PATH=$HOME/incubator-mxnet/build:$LD_LIBRARY_PATH +``` -For example, you can specify using all cores on Linux as follows: +Then install MXNet with Julia: ```bash -mkdir build && cd build -cmake -DCMAKE_BUILD_TYPE=Release -GNinja .. -ninja -v +julia --color=yes --project=./ -e \ + 'using Pkg; \ + Pkg.develop(PackageSpec(name="MXNet", path = joinpath(ENV["MXNET_HOME"], "julia")))' ``` +Please also see the [MXNet Julia API](/api/julia) page. + -#### Recommended for Systems with NVIDIA GPUs and Intel CPUs -* Build MXNet with `cmake` and install with MKL DNN, GPU, and OpenCV support: +### Install the MXNet Package for Perl + +#### Installing perl package dependencies on Debian Linux derivatives (Debian, Ubuntu, ...) + +``` +sudo apt-get install libmouse-perl pdl cpanminus swig libgraphviz-perl +cpanm -q -L "${HOME}/perl5" Function::Parameters Hash::Ordered PDL::CCS +``` +#### Installing perl package dependencies on macOS ```bash -mkdir build && cd build -cmake -DUSE_CUDA=1 -DUSE_CUDA_PATH=/usr/local/cuda -DUSE_CUDNN=1 -DUSE_MKLDNN=1 -DCMAKE_BUILD_TYPE=Release -GNinja .. -ninja -v +brew install swig +sudo sh -c 'curl -L https://cpanmin.us | perl - App::cpanminus' +sudo cpanm -q -n PDL Mouse Function::Parameters Hash::Ordered PDL::CCS ``` -#### Recommended for Systems with NVIDIA GPUs -* Build with both OpenBLAS, GPU, and OpenCV support: +#### Install the MXNet Package for Perl +After you build the shared library, run the following command from the MXNet +source root directory to build the MXNet Perl package: ```bash -mkdir build && cd build -cmake -DBLAS=open -DUSE_CUDA=1 -DUSE_CUDA_PATH=/usr/local/cuda -DUSE_CUDNN=1 -DCMAKE_BUILD_TYPE=Release -GNinja .. -ninja -v +MXNET_HOME=${PWD} +export LD_LIBRARY_PATH=${MXNET_HOME}/lib +export PERL5LIB=${HOME}/perl5/lib/perl5 + +cd ${MXNET_HOME}/perl-package/AI-MXNetCAPI/ +perl Makefile.PL INSTALL_BASE=${HOME}/perl5 +make install + +cd ${MXNET_HOME}/perl-package/AI-NNVMCAPI/ +perl Makefile.PL INSTALL_BASE=${HOME}/perl5 +make install + +cd ${MXNET_HOME}/perl-package/AI-MXNet/ +perl Makefile.PL INSTALL_BASE=${HOME}/perl5 +make install ``` -#### Recommended for Systems with Intel CPUs -* Build MXNet with `cmake` and install with MKL DNN, and OpenCV support: +Please also see the [MXNet Perl API](/api/perl) page. + +### Install the MXNet Package for R + +To install R and the devtools, run ```bash -mkdir build && cd build -cmake -DUSE_CUDA=0 -DUSE_MKLDNN=1 -DCMAKE_BUILD_TYPE=Release -GNinja .. -ninja -v +sudo apt-get update +sudo apt-get install -y r-base-core r-cran-devtools libcairo2-dev libxml2-dev ``` -#### Recommended for Systems with non-Intel CPUs -* Build MXNet with `cmake` and install with OpenBLAS and OpenCV support: +`libxml2-dev` is required for the `roxygen2` dependency and `libcairo2-dev` is +required for the suggested `imager` dependency. + +To generate documentation, it is also required to install `roxygen2`. ```bash -mkdir build && cd build -cmake -DUSE_CUDA=0 -DBLAS=open -DCMAKE_BUILD_TYPE=Release -GNinja .. -ninja -v +R +> install.packages("roxygen2") +> Would you like to use a personal library instead? (y/n) y +> Would you like to create a personal library ... to install packages into? (y/n) y ``` -#### Other Examples +Note: To successfully complete the next step, you need a personal R library. If +you were able to run `install.packages("roxygen2")` above, you either had +already, or you have successfully created a personal library just now. -* Build without using OpenCV: +To build and install the MXNet-R bindings, run: ```bash -mkdir build && cd build -cmake -DUSE_OPENCV=0 -DCMAKE_BUILD_TYPE=Release -GNinja .. -ninja -v +make -f R-package/Makefile rpkg ``` -* Build on **macOS** with the default BLAS library (Apple Accelerate) and Clang installed with `xcode` (OPENMP is disabled because it is not supported by the Apple version of Clang): +Please also see the [MXNet R API](/api/r) page. + +### Install the MXNet Package for Scala + +After building the MXNet shared library, you may simply run the following from +the MXNet scala-package folder: ```bash -mkdir build && cd build -cmake -DBLAS=apple -DUSE_OPENCV=0 -DUSE_OPENMP=0 -DCMAKE_BUILD_TYPE=Release -GNinja .. -ninja -v +mvn install ``` -* To use OpenMP on **macOS** you need to install the Clang compiler, `llvm` (the one provided by Apple does not support OpenMP): +This will install both the Java Inference API and the required MXNet-Scala package.
+ +Please also see the [MXNet Scala API](/api/scala) page. + +### Install the MXNet Package for Java + +After building the MXNet shared library, you may simply run the following from +the MXNet scala-package folder: ```bash -brew install llvm -mkdir build && cd build -cmake -DBLAS=apple -DUSE_OPENMP=1 -DCMAKE_BUILD_TYPE=Release -GNinja .. -ninja -v +mvn install ``` -
+This will install both the Java Inference API and the required MXNet-Scala package.
-## Installing MXNet Language Bindings -After building MXNet's shared library, you can install other language bindings. +Please also see the [MXNet Java API](/api/java) page. -**NOTE:** The C++ API binding must be built when you build MXNet from source. See [Build MXNet with C++]({{'/api/cpp.html'|relative_url}}). +## Contributions -The following table provides links to each language binding by operating system: +You are more than welcome to contribute easy installation scripts for other operating systems and programming languages. +See the [community contributions page]({{'/community/contribute'|relative_url}}) for further information. -| Language | [Ubuntu](ubuntu_setup) | [macOS](osx_setup) | [Windows](windows_setup) | -| --- | ---- | --- | ------- | -| Python | [Ubuntu guide](ubuntu_setup.html#install-mxnet-for-python) | [OSX guide](osx_setup) | [Windows guide](windows_setup.html#install-mxnet-for-python) | -| C++ | [C++ guide](cpp_setup) | [C++ guide](cpp_setup) | [C++ guide](cpp_setup) | -| Clojure | [Clojure guide](https://github.com/apache/incubator-mxnet/tree/master/contrib/clojure-package) | [Clojure guide](https://github.com/apache/incubator-mxnet/tree/master/contrib/clojure-package) | n/a | -| Julia | [Ubuntu guide](ubuntu_setup.html#install-the-mxnet-package-for-julia) | [OSX guide](osx_setup.html#install-the-mxnet-package-for-julia) | [Windows guide](windows_setup.html#install-the-mxnet-package-for-julia) | -| Perl | [Ubuntu guide](ubuntu_setup.html#install-the-mxnet-package-for-perl) | [OSX guide](osx_setup.html#install-the-mxnet-package-for-perl) | n/a | -| R | [Ubuntu guide](ubuntu_setup.html#install-the-mxnet-package-for-r) | [OSX guide](osx_setup.html#install-the-mxnet-package-for-r) | [Windows guide](windows_setup.html#install-the-mxnet-package-for-r) | -| Scala | [Scala guide](ubuntu_setup.html#install-the-mxnet-package-for-scala) | [Scala guide](osx_setup.html#install-the-mxnet-package-for-scala) | n/a | -| Java | [Java guide](ubuntu_setup.html#install-the-mxnet-package-for-java) | [Java Guide](osx_setup.html#install-the-mxnet-package-for-java) | n/a | +## Next Steps +* [Tutorials]({{'/api'|relative_url}}) +* [How To]({{'/api/faq/add_op_in_backend'|relative_url}}) +* [Architecture]({{'/api/architecture/overview'|relative_url}}) diff --git a/docs/static_site/src/pages/get_started/c_plus_plus.md b/docs/static_site/src/pages/get_started/c_plus_plus.md deleted file mode 100644 index 9f4800cd99bf..000000000000 --- a/docs/static_site/src/pages/get_started/c_plus_plus.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -layout: page -title: C++ Setup -action: Get Started -action_url: /get_started -permalink: /get_started/cpp_setup ---- - - - - - - - - - - - - - - - - - - -## Build the C++ package -The C++ package has the same prerequisites as the MXNet library. - -To enable C++ package, just add `USE_CPP_PACKAGE=1` in the [build from source](build_from_source) options when building the MXNet shared library. - -For example to build MXNet with GPU support and the C++ package, OpenCV, and OpenBLAS, from the project root you would run: - -```bash -cmake -DUSE_CUDA=1 -DUSE_CUDA_PATH=/usr/local/cuda -DUSE_CUDNN=1 -DUSE_MKLDNN=1 -DUSE_CPP_PACKAGE=1 -DCMAKE_BUILD_TYPE=Release -GNinja .. -ninja -v -``` - -You may also want to add the MXNet shared library to your `LD_LIBRARY_PATH`: - -```bash -export LD_LIBRARY_PATH=~/incubator-mxnet/lib -``` - -Setting the `LD_LIBRARY_PATH` is required to run the examples mentioned in the following section. - -## C++ Example Code -You can find C++ code examples in the `cpp-package/example` folder of the MXNet project. Refer to the [cpp-package's README](https://github.com/apache/incubator-mxnet/tree/master/cpp-package) for instructions on building the examples. - -## Tutorials - -* [MXNet C++ API Basics]({{'/api/cpp/docs/tutorials/basics'|relative_url}}) - -## Related Topics - -* [Image Classification using MXNet's C Predict API](https://github.com/apache/incubator-mxnet/tree/master/example/image-classification/predict-cpp) diff --git a/docs/static_site/src/pages/get_started/centos_setup.md b/docs/static_site/src/pages/get_started/centos_setup.md deleted file mode 100644 index 315787d21f28..000000000000 --- a/docs/static_site/src/pages/get_started/centos_setup.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -layout: page -title: CentOS setup -action: Get Started -action_url: /get_started -permalink: /get_started/centos_setup ---- - - - - - - - - - - - - - - - - - - -# Installing MXNet on CentOS and other non-Ubuntu Linux systems - -Step 1. Install build tools and git on `CentOS >= 7` and `Fedora >= 19`: - -```bash -sudo yum groupinstall -y "Development Tools" && sudo yum install -y git -``` - -Step 2. Install Atlas: - -```bash -sudo yum install atlas-devel -``` - -Installing both `git` and `cmake` or `make` by following instructions on the websites is -straightforward. Here we provide the instructions to build `gcc-4.8` from source codes. - -Step 3. Install the 32-bit `libc` with one of the following system-specific commands: - -```bash -sudo apt-get install libc6-dev-i386 # In Ubuntu -sudo yum install glibc-devel.i686 # In RHEL (Red Hat Linux) -sudo yum install glibc-devel.i386 # In CentOS 5.8 -sudo yum install glibc-devel.i686 # In CentOS 6/7 -``` - -Step 4. Download and extract the `gcc` source code with the prerequisites: - -```bash -wget http://mirrors.concertpass.com/gcc/releases/gcc-4.8.5/gcc-4.8.5.tar.gz -tar -zxf gcc-4.8.5.tar.gz -cd gcc-4.8.5 -./contrib/download_prerequisites -``` - -Step 5. Build `gcc` by using 10 threads and then install to `/usr/local` - -```bash -mkdir release && cd release -../configure --prefix=/usr/local --enable-languages=c,c++ -make -j10 -sudo make install -``` - -Step 6. Add the lib path to your configure file such as `~/.bashrc`: - -```bash -export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib64 -``` - -Step 7. Build [OpenBLAS from source](https://github.com/xianyi/OpenBLAS#installation-from-source). - -Step 8. Build OpenCV - -To build OpenCV from source code, you need the [cmake](https://cmake.org) library. - -* If you don't have cmake or if your version of cmake is earlier than 3.6.1, run the following commands to install a newer version of cmake: - -```bash -wget https://cmake.org/files/v3.6/cmake-3.6.1-Linux-x86_64.tar.gz -tar -zxvf cmake-3.6.1-Linux-x86_64.tar.gz -alias cmake="cmake-3.6.1-Linux-x86_64/bin/cmake" -``` - -* To download and extract the OpenCV source code, run the following commands: - -```bash -wget https://codeload.github.com/opencv/opencv/zip/2.4.13 -unzip 2.4.13 -cd opencv-2.4.13 -mkdir release -cd release/ -``` - -* Build OpenCV. The following commands build OpenCV with 10 threads. We -disabled GPU support, which might significantly slow down an MXNet program -running on a GPU processor. It also disables 1394 which might generate a -warning. Then install it on `/usr/local`. - -```bash -cmake -D BUILD_opencv_gpu=OFF -D WITH_CUDA=OFF -D WITH_1394=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. -make -j10 -sudo make install -``` - -* Add the lib path to your configuration such as `~/.bashrc`. - -```bash -export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/ -``` diff --git a/docs/static_site/src/pages/get_started/download.md b/docs/static_site/src/pages/get_started/download.md index 1c61b880bf70..eb07b3b7dceb 100644 --- a/docs/static_site/src/pages/get_started/download.md +++ b/docs/static_site/src/pages/get_started/download.md @@ -25,17 +25,23 @@ permalink: /get_started/download # Source Download -These source archives are generated from tagged releases. Updates and patches will not have been applied. For any updates refer to the corresponding branches in the [GitHub repository](https://github.com/apache/incubator-mxnet). Choose your flavor of download from the following links: +The source archives listed on this page are official MXNet releases following +the [Apache Software Foundation Release +Policy](http://www.apache.org/legal/release-policy.html). + +If you would like to actively participate in the MXNet development, you are +encouraged to contribute to our development version on +[GitHub](https://github.com/apache/incubator-mxnet). | Version | Source | PGP | SHA | |---------|-------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------| -| 1.6.0 | [Download](https://www.apache.org/dyn/closer.cgi/incubator/mxnet/1.6.0/apache-mxnet-src-1.6.0-incubating.tar.gz) | [Download](https://apache.org/dist/incubator/mxnet/1.6.0/apache-mxnet-src-1.6.0-incubating.tar.gz.asc) | [Download](https://apache.org/dist/incubator/mxnet/1.6.0/apache-mxnet-src-1.6.0-incubating.tar.gz.sha512) | -| 1.5.1 | [Download](https://www.apache.org/dyn/closer.cgi/incubator/mxnet/1.5.1/apache-mxnet-src-1.5.1-incubating.tar.gz) | [Download](https://apache.org/dist/incubator/mxnet/1.5.1/apache-mxnet-src-1.5.1-incubating.tar.gz.asc) | [Download](https://apache.org/dist/incubator/mxnet/1.5.1/apache-mxnet-src-1.5.1-incubating.tar.gz.sha512) | -| 1.5.0 | [Download](https://www.apache.org/dyn/closer.cgi/incubator/mxnet/1.5.0/apache-mxnet-src-1.5.0-incubating.tar.gz) | [Download](https://apache.org/dist/incubator/mxnet/1.5.0/apache-mxnet-src-1.5.0-incubating.tar.gz.asc) | [Download](https://apache.org/dist/incubator/mxnet/1.5.0/apache-mxnet-src-1.5.0-incubating.tar.gz.sha512) | -| 1.4.1 | [Download](https://www.apache.org/dyn/closer.cgi/incubator/mxnet/1.4.1/apache-mxnet-src-1.4.1-incubating.tar.gz) | [Download](https://apache.org/dist/incubator/mxnet/1.4.1/apache-mxnet-src-1.4.1-incubating.tar.gz.asc) | [Download](https://apache.org/dist/incubator/mxnet/1.4.1/apache-mxnet-src-1.4.1-incubating.tar.gz.sha512) | -| 1.4.0 | [Download](https://www.apache.org/dyn/closer.cgi/incubator/mxnet/1.4.0/apache-mxnet-src-1.4.0-incubating.tar.gz) | [Download](https://apache.org/dist/incubator/mxnet/1.4.0/apache-mxnet-src-1.4.0-incubating.tar.gz.asc) | [Download](https://apache.org/dist/incubator/mxnet/1.4.0/apache-mxnet-src-1.4.0-incubating.tar.gz.sha512) | -| 1.3.1 | [Download](https://www.apache.org/dyn/closer.cgi/incubator/mxnet/1.3.1/apache-mxnet-src-1.3.1-incubating.tar.gz) | [Download](https://apache.org/dist/incubator/mxnet/1.3.1/apache-mxnet-src-1.3.1-incubating.tar.gz.asc) | [Download](https://apache.org/dist/incubator/mxnet/1.3.1/apache-mxnet-src-1.3.1-incubating.tar.gz.sha512) | -| 1.3.0 | [Download](https://www.apache.org/dyn/closer.cgi/incubator/mxnet/1.3.0/apache-mxnet-src-1.3.0-incubating.tar.gz) | [Download](https://apache.org/dist/incubator/mxnet/1.3.0/apache-mxnet-src-1.3.0-incubating.tar.gz.asc) | [Download](https://apache.org/dist/incubator/mxnet/1.3.0/apache-mxnet-src-1.3.0-incubating.tar.gz.sha512) | +| 1.6.0 | [Download](https://www.apache.org/dyn/closer.cgi/incubator/mxnet/1.6.0/apache-mxnet-src-1.6.0-incubating.tar.gz) | [Download](https://downloads.apache.org/incubator/mxnet/1.6.0/apache-mxnet-src-1.6.0-incubating.tar.gz.asc) | [Download](https://downloads.apache.org/incubator/mxnet/1.6.0/apache-mxnet-src-1.6.0-incubating.tar.gz.sha512) | +| 1.5.1 | [Download](https://archive.apache.org/dist/incubator/mxnet/1.5.1/apache-mxnet-src-1.5.1-incubating.tar.gz) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.5.1/apache-mxnet-src-1.5.1-incubating.tar.gz.asc) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.5.1/apache-mxnet-src-1.5.1-incubating.tar.gz.sha512) | +| 1.5.0 | [Download](https://archive.apache.org/dist/incubator/mxnet/1.5.0/apache-mxnet-src-1.5.0-incubating.tar.gz) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.5.0/apache-mxnet-src-1.5.0-incubating.tar.gz.asc) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.5.0/apache-mxnet-src-1.5.0-incubating.tar.gz.sha512) | +| 1.4.1 | [Download](https://archive.apache.org/dist/incubator/mxnet/1.4.1/apache-mxnet-src-1.4.1-incubating.tar.gz) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.4.1/apache-mxnet-src-1.4.1-incubating.tar.gz.asc) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.4.1/apache-mxnet-src-1.4.1-incubating.tar.gz.sha512) | +| 1.4.0 | [Download](https://archive.apache.org/dist/incubator/mxnet/1.4.0/apache-mxnet-src-1.4.0-incubating.tar.gz) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.4.0/apache-mxnet-src-1.4.0-incubating.tar.gz.asc) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.4.0/apache-mxnet-src-1.4.0-incubating.tar.gz.sha512) | +| 1.3.1 | [Download](https://archive.apache.org/dist/incubator/mxnet/1.3.1/apache-mxnet-src-1.3.1-incubating.tar.gz) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.3.1/apache-mxnet-src-1.3.1-incubating.tar.gz.asc) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.3.1/apache-mxnet-src-1.3.1-incubating.tar.gz.sha512) | +| 1.3.0 | [Download](https://archive.apache.org/dist/incubator/mxnet/1.3.0/apache-mxnet-src-1.3.0-incubating.tar.gz) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.3.0/apache-mxnet-src-1.3.0-incubating.tar.gz.asc) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.3.0/apache-mxnet-src-1.3.0-incubating.tar.gz.sha512) | | 1.2.1 | [Download](https://archive.apache.org/dist/incubator/mxnet/1.2.1/apache-mxnet-src-1.2.1-incubating.tar.gz) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.2.1/apache-mxnet-src-1.2.1-incubating.tar.gz.asc) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.2.1/apache-mxnet-src-1.2.1-incubating.tar.gz.sha512) | | 1.2.0 | [Download](https://archive.apache.org/dist/incubator/mxnet/1.2.0/apache-mxnet-src-1.2.0-incubating.tar.gz) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.2.0/apache-mxnet-src-1.2.0-incubating.tar.gz.asc) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.2.0/apache-mxnet-src-1.2.0-incubating.tar.gz.sha512) | | 1.1.0 | [Download](https://archive.apache.org/dist/incubator/mxnet/1.1.0/apache-mxnet-src-1.1.0-incubating.tar.gz) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.1.0/apache-mxnet-src-1.1.0-incubating.tar.gz.asc) | [Download](https://archive.apache.org/dist/incubator/mxnet/1.1.0/apache-mxnet-src-1.1.0-incubating.tar.gz.sha512) | diff --git a/docs/static_site/src/pages/get_started/index.html b/docs/static_site/src/pages/get_started/index.html index 02e7cf1b8641..f83396e28e10 100644 --- a/docs/static_site/src/pages/get_started/index.html +++ b/docs/static_site/src/pages/get_started/index.html @@ -22,12 +22,18 @@ -{% include /get_started/get_started.html %} -
-

Download from source

-

The signed source code for Apache MXNet (incubating) is available for download here

+

Build and install Apache MXNet (incubating) from source

+

+ To build and install MXNet from the official Apache Software Foundation + signed source code please follow our Building From Source guide. +

+

+ The signed source releases are available here +

+ +{% include /get_started/get_started.html %} diff --git a/docs/static_site/src/pages/get_started/osx_setup.md b/docs/static_site/src/pages/get_started/osx_setup.md deleted file mode 100644 index 8ae7c88a01f9..000000000000 --- a/docs/static_site/src/pages/get_started/osx_setup.md +++ /dev/null @@ -1,273 +0,0 @@ ---- -layout: page -title: OSX Setup -action: Get Started -action_url: /get_started -permalink: /get_started/osx_setup ---- - - - - - - - - - - - - - - - - - -# Installing MXNet from source on OS X (Mac) - -The following installation instructions are for building MXNet from source. For -instructions to build MXNet from source on other platforms, see the general -[Build From Source guide](build_from_source.html). - -Instead of building from source, you can install a binary version of MXNet. For -that, please follow the information at [Get Started](/get_started). - -Building MXNet from source is a two-step process: - -1. Build the shared library from the MXNet C++ source code. -2. (optional) Install the supported language-specific packages for MXNet. - -If you plan to build with GPU, you need to set up the environment for CUDA and -cuDNN. Please follow the [NVIDIA CUDA Installation Guide for Mac OS -X](https://docs.nvidia.com/cuda/cuda-installation-guide-mac-os-x/index.html) and -[cuDNN Installation -Guide](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-mac). -Note that CUDA stopped supporting macOS in 2019 and future versions of CUDA may -not support macOS. - -## Contents - -* [Build the MXNet shared library from source](#build-mxnet-from-source) -* [Install Language Packages](#installing-language-packages-for-mxnet) - * [R](#install-the-mxnet-package-for-r) - * [Julia](#install-the-mxnet-package-for-julia) - * [Scala](#install-the-mxnet-package-for-scala) - * [Java](#install-the-mxnet-package-for-java) - * [Perl](#install-the-mxnet-package-for-perl) - * [Contributions](#contributions) - * [Next Steps](#next-steps) - -
- - -## Build the MXNet shared library from source - -**Note**: Building MXNet from source requires at least [gcc7](https://gcc.gnu.org/), clang6 or any C++17 compatible compiler. - -On OS X, you need the following dependencies: - -**Step 1:** Install prerequisite packages. - -```bash -# Install OS X Developer Tools -xcode-select --install - -# Install Homebrew -/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - -# Install dependencies -brew install cmake ninja ccache opencv -``` - -`opencv` is an optional dependency. You can delete it from above `brew install` -line and build MXNet without OpenCV support by setting `USE_OPENCV` to `OFF` in -the configuration file described below. - - -**Step 2:** Download MXNet sources and configure - -Clone the repository: - -```bash -git clone --recursive https://github.com/apache/incubator-mxnet.git mxnet -cd mxnet -cp config/darwin.cmake config.cmake -``` - -Please edit the config.cmake file based on your needs. The file contains a -series of `set(name value CACHE TYPE "Description")` entries. For example, to -build without Cuda, change `set(USE_CUDA ON CACHE TYPE "Build with CUDA -support")` to `set(USE_CUDA OFF CACHE TYPE "Build with CUDA support")`. - -For a GPU-enabled build make sure you have installed the [CUDA dependencies -first](#cuda-dependencies). When building a GPU-enabled build on a machine -without GPU, MXNet build can't autodetect your GPU architecture and will target -all available GPU architectures. Please set the `MXNET_CUDA_ARCH` variable in -`config.cmake` to your desired cuda architecture to speed up the build. - -To (optionally) build with MKL math library, please install MKL first based on -the guide in [Math Library Selection](build_from_source.html#math-library-selection). - -**Step 3:** Build MXNet core shared library. - -```bash -rm -rf build -mkdir -p build && cd build -cmake -GNinja .. -cmake --build . -``` - -Specify `cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..` if you wish to build the -Debug version. - -Specify `cmake --build . --parallel N` to set the number of parallel compilation -jobs. Default is derived from CPUs available. - -After a successful build, you will find the `libmxnet.dylib` in the `build` -folder in your MXNet project root. `libmxnet.dylib` is required to install -language bindings described in the next section. - -
- - -## Installing Language Packages for MXNet - -After you have installed the MXNet core library. You may install MXNet interface -packages for the programming language of your choice: -- [Python](#install-mxnet-for-python) -- [C++](#install-the-mxnet-package-for-c++) -- [Clojure](#install-the-mxnet-package-for-clojure) -- [Julia](#install-the-mxnet-package-for-julia) -- [Perl](#install-the-mxnet-package-for-perl) -- [R](#install-the-mxnet-package-for-r) -- [Scala](#install-the-mxnet-package-for-scala) -- [Java](#install-the-mxnet-package-for-java) - -
- - -### Install MXNet for Python - -To install the MXNet Python binding navigate to the root of the MXNet folder then run the following: - -```bash -cd python -pip install --user -e . -``` - -Note that the `-e` flag is optional. It is equivalent to `--editable` and means -that if you edit the source files, these changes will be reflected in the -package installed. - - -### Install the MXNet Package for C++ - -Refer to the [C++ Package setup guide](cpp_setup.html). -
- - -### Install the MXNet Package for Clojure - -Refer to the [Clojure setup guide](https://github.com/apache/incubator-mxnet/tree/master/contrib/clojure-package). -
- - -### Install the MXNet Package for R -Run the following commands to install the MXNet dependencies and build the MXNet -R package. - -```r - Rscript -e "install.packages('devtools', repo = 'https://cran.rstudio.com')" -``` -```bash - cd R-package - Rscript -e "library(devtools); library(methods); options(repos=c(CRAN='https://cran.rstudio.com')); install_deps(dependencies = TRUE)" - cd .. - make -f R-package/Makefile rpkg -``` - -## Install the MXNet Package for Julia -The MXNet package for Julia is hosted in a separate repository, MXNet.jl, which is available on [GitHub](https://github.com/dmlc/MXNet.jl). To use Julia binding it with an existing libmxnet installation, set the ```MXNET_HOME``` environment variable by running the following command: - -```bash - export MXNET_HOME=//libmxnet -``` - -The path to the existing libmxnet installation should be the root directory of libmxnet. In other words, you should be able to find the ```libmxnet.so``` file at ```$MXNET_HOME/lib```. For example, if the root directory of libmxnet is ```~```, you would run the following command: - -```bash - export MXNET_HOME=/~/libmxnet -``` - -You might want to add this command to your ```~/.bashrc``` file. If you do, you can install the Julia package in the Julia console using the following command: - -```julia - Pkg.add("MXNet") -``` - -For more details about installing and using MXNet with Julia, see the [MXNet Julia documentation](/api/julia.html). - - -### Install the MXNet Package for Perl - -Before you build MXNet for Perl from source code, you must complete [building the shared library](#build-the-shared-library). -After you build the shared library, run the following command from the MXNet source root directory to build the MXNet Perl package: - -```bash - brew install swig - sudo sh -c 'curl -L https://cpanmin.us | perl - App::cpanminus' - sudo cpanm -q -n PDL Mouse Function::Parameters Hash::Ordered PDL::CCS - - MXNET_HOME=${PWD} - export PERL5LIB=${HOME}/perl5/lib/perl5 - - cd ${MXNET_HOME}/perl-package/AI-MXNetCAPI/ - perl Makefile.PL INSTALL_BASE=${HOME}/perl5 - make - install_name_tool -change lib/libmxnet.so \ - ${MXNET_HOME}/lib/libmxnet.so \ - blib/arch/auto/AI/MXNetCAPI/MXNetCAPI.bundle - make install - - cd ${MXNET_HOME}/perl-package/AI-NNVMCAPI/ - perl Makefile.PL INSTALL_BASE=${HOME}/perl5 - make - install_name_tool -change lib/libmxnet.so \ - ${MXNET_HOME}/lib/libmxnet.so \ - blib/arch/auto/AI/NNVMCAPI/NNVMCAPI.bundle - make install - - cd ${MXNET_HOME}/perl-package/AI-MXNet/ - perl Makefile.PL INSTALL_BASE=${HOME}/perl5 - make install -``` - -### Install the MXNet Package for Scala - -After building the MXNet shared library, you may simply run the following from the MXNet scala-package folder: - -```bash -mvn install -``` - -This will install both the Java Inference API and the required MXNet-Scala package.
- -### Install the MXNet Package for Java - -After building the MXNet shared library, you may simply run the following from the MXNet scala-package folder: - -```bash -mvn install -``` - -This will install both the Java Inference API and the required MXNet-Scala package.
- -## Contributions - -You are more than welcome to contribute easy installation scripts for other operating systems and programming languages. -See the [community contributions page]({{'/community/contribute'|relative_url}}) for further information. - -## Next Steps - -* [Tutorials]({{'/api'|relative_url}}) -* [How To]({{'/api/faq/add_op_in_backend'|relative_url}}) -* [Architecture]({{'/api/architecture/overview'|relative_url}}) diff --git a/docs/static_site/src/pages/get_started/ubuntu_setup.md b/docs/static_site/src/pages/get_started/ubuntu_setup.md deleted file mode 100644 index 11074aa3a360..000000000000 --- a/docs/static_site/src/pages/get_started/ubuntu_setup.md +++ /dev/null @@ -1,441 +0,0 @@ ---- -layout: page -title: Ubuntu Setup -action: Get Started -action_url: /get_started -permalink: /get_started/ubuntu_setup ---- - - - - - - - - - - - - - - - - - -# Installing MXNet from source on Ubuntu - -The following installation instructions are for building MXNet from source on -computers running **Ubuntu 16.04** or higher. For instructions to build MXNet -from source on other platforms, see the general [Build From Source guide](build_from_source.html). - -Instead of building from source, you can install a binary version of MXNet. For -that, please follow the information at [Get Started](/get_started). - -Building MXNet from source is a two-step process: - -1. Build the shared library from the MXNet C++ source code. -2. (optional) Install the supported language-specific packages for MXNet. - -## Contents - -* [CUDA Dependencies](#cuda-dependencies) -* [Build the MXNet shared library from source](#build-mxnet-from-source) -* [Install Language Packages](#installing-language-packages-for-mxnet) - * [R](#install-the-mxnet-package-for-r) - * [Julia](#install-the-mxnet-package-for-julia) - * [Scala](#install-the-mxnet-package-for-scala) - * [Java](#install-the-mxnet-package-for-java) - * [Perl](#install-the-mxnet-package-for-perl) - * [Contributions](#contributions) - * [Next Steps](#next-steps) - -
- -## CUDA Dependencies - -If you plan to build with GPU, you need to set up the environment for CUDA and cuDNN. - -First, download and install [CUDA toolkit](https://developer.nvidia.com/cuda-toolkit). CUDA 9.2 is recommended. - -Then download [cuDNN 7.1.4](https://developer.nvidia.com/cudnn). - -Unzip the file and change to the cuDNN root directory. Move the header and libraries to your local CUDA Toolkit folder: - -```bash -tar xvzf cudnn-9.2-linux-x64-v7.1 -sudo cp -P cuda/include/cudnn.h /usr/local/cuda/include -sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64 -sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* -sudo ldconfig -``` - -
- -## Build the MXNet shared library from source - -It is recommended that you review the general [build from source](build_from_source.html) instructions before continuing. - -**Note**: Building MXNet from source requires at least [gcc7](https://gcc.gnu.org/), clang6 or any C++17 compatible compiler. - -On Ubuntu versions 16.04 or later, you need the following dependencies: - -**Step 1:** Install prerequisite packages. - -```bash -sudo apt-get update -sudo apt-get install -y build-essential git ninja-build ccache libopenblas-dev libopencv-dev cmake -``` - -Instead of `libopenblas-dev` you may also choose a different math library. -Further information is provided in the source guide's [Math Library -Selection](build_from_source#math-library-selection) section. - -`libopencv-dev` is an optional dependency. You can delete it from above `apt-get -install` line and build MXNet without OpenCV support by setting `USE_OPENCV` to -`OFF` in the configuration file described below. - -Note: CMake 3.13 or higher is required. If you are running an older version of -CMake, you will see an error message like `CMake 3.13 or higher is required. You -are running version 3.10.2` during Step 3. In that case please update CMake on -your system. You can download and install latest CMake from https://cmake.org or -via `pip3` with `pip3 install --user --upgrade "cmake>=3.13.2"`. If `pip3` is -not available on your system, you can install it via `sudo apt-get install -y -python3-pip`. After installing cmake with `pip3`, it is usually available at -`~/.local/bin/cmake` or directly as `cmake`. - -**Step 2:** Download MXNet sources and configure - -Clone the repository: - -```bash -git clone --recursive https://github.com/apache/incubator-mxnet.git mxnet -cd mxnet -cp config/linux.cmake config.cmake # or config/linux_gpu.cmake for build with CUDA -``` - -Please edit the config.cmake file based on your needs. The file contains a -series of `set(name value CACHE TYPE "Description")` entries. You can change the -values of the respective `value`. - -For a GPU-enabled build make sure you have installed the [CUDA dependencies -first](#cuda-dependencies). When building a GPU-enabled build on a machine -without GPU, MXNet build can't autodetect your GPU architecture and will target -all available GPU architectures. Please set the `MXNET_CUDA_ARCH` variable in -`config.cmake` to your desired cuda architecture to speed up the build. - -To (optionally) build with MKL math library, please install MKL first based on -the guide in [Math Library Selection](build_from_source.html#math-library-selection). - -**Step 3:** Build MXNet core shared library. - -```bash -rm -rf build -mkdir -p build && cd build -cmake -GNinja .. -cmake --build . -``` - -Specify `cmake -DCMAKE_BUILD_TYPE=Debug -GNinja ..` if you wish to build the -Debug version. - -Specify `cmake --build . --parallel N` to set the number of parallel compilation -jobs. Default is derived from CPUs available. - -After a successful build, you will find the `libmxnet.so` in the `build` folder -in your MXNet project root. `libmxnet.so` is required to install language -bindings described in the next section. - -
- - -## Installing Language Packages for MXNet - -After you have installed the MXNet core library. You may install MXNet interface -packages for the programming language of your choice: -- [Python](#install-mxnet-for-python) -- [C++](#install-the-mxnet-package-for-c++) -- [Clojure](#install-the-mxnet-package-for-clojure) -- [Julia](#install-the-mxnet-package-for-julia) -- [Perl](#install-the-mxnet-package-for-perl) -- [R](#install-the-mxnet-package-for-r) -- [Scala](#install-the-mxnet-package-for-scala) -- [Java](#install-the-mxnet-package-for-java) - -
- -### Install MXNet for Python - -To install the MXNet Python binding navigate to the root of the MXNet folder then run the following: - -```bash -cd python -pip install --user -e . -``` - -Note that the `-e` flag is optional. It is equivalent to `--editable` and means -that if you edit the source files, these changes will be reflected in the -package installed. - -#### Optional Python Packages - -You may optionally install ```graphviz``` library that is used for visualizing network graphs you build on MXNet. You -may also install [Jupyter Notebook](http://jupyter.readthedocs.io/) which is used for running MXNet tutorials and -examples. - -```bash -pip install --user graphviz==0.8.4 jupyter -``` -
- - -### Install the MXNet Package for C++ - -Refer to the [C++ Package setup guide](cpp_setup.html). -
- - -### Install the MXNet Package for Clojure - -Refer to the [Clojure setup guide](https://github.com/apache/incubator-mxnet/tree/master/contrib/clojure-package). -
- - -### Install the MXNet Package for Julia - -#### Install Julia -The package available through `apt-get` is old and not compatible with the latest version of MXNet. -Fetch the latest version (1.0.3 at the time of this writing). - -```bash -wget -qO julia-10.tar.gz https://julialang-s3.julialang.org/bin/linux/x64/1.0/julia-1.0.3-linux-x86_64.tar.gz -``` - -Place the extracted files somewhere like a julia folder in your home dir. - -```bash -mkdir ~/julia -mv julia-10.tar.gz ~/julia -cd ~/julia -tar xvf julia-10.tar.gz -``` - -Test Julia. - -```bash -cd julia-1.0.3/bin -julia -e 'using InteractiveUtils; versioninfo()' -``` - -If you're still getting the old version, remove it. - -```bash -sudo apt remove julia -``` - -Update your PATH to have Julia's new location. Add this to your `.zshrc`, `.bashrc`, `.profile` or `.bash_profile`. - -```bash -export PATH=~/julia/julia-1.0.3/bin:$PATH -``` - -Validate your PATH. - -```bash -echo $PATH -``` - -Validate Julia works and is the expected version. - -```bash -julia -e 'using InteractiveUtils; versioninfo()' -``` - -#### Setup Your MXNet-Julia Environment - -**For each of the following environment variables, add the commands to your `.zshrc`, `.bashrc`, `.profile` -or `.bash_profile` to make them persist.** - -Create a `julia-depot` folder and environment variable. - -```bash -mkdir julia-depot -export JULIA_DEPOT_PATH=$HOME/julia/julia-depot -``` - -To use the Julia binding with an existing `libmxnet` installation, set the `MXNET_HOME` environment variable to the -MXNet source root. For example: - -```bash -export MXNET_HOME=$HOME/incubator-mxnet -``` - -Now set the `LD_LIBRARY_PATH` environment variable to where `libmxnet.so` is found. If you can't find it, you might -have skipped the building MXNet step. Go back and [build MXNet](#build-the-shared-library) first. For example: - -```bash -export LD_LIBRARY_PATH=$HOME/incubator-mxnet/lib:$LD_LIBRARY_PATH -``` - -Verify the location of `libjemalloc.so` and set the `LD_PRELOAD` environment variable. -```bash -export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so:$LD_PRELOAD -``` - -With all of these updates, here's an example of what you might want to have in your `.zshrc`, `.bashrc`, `.profile` -or `.bash_profile`. - -``` -export PATH=$HOME/bin:$HOME/.local/bin:$HOME/julia/julia-1.0.3/bin:$PATH -export JULIA_DEPOT_PATH=$HOME/julia/julia-depot -export MXNET_HOME=$HOME/incubator-mxnet -export LD_LIBRARY_PATH=$HOME/incubator-mxnet/lib:$LD_LIBRARY_PATH -export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so:$LD_PRELOAD -``` - -Install MXNet with Julia: - -```bash -julia --color=yes --project=./ -e \ - 'using Pkg; \ - Pkg.develop(PackageSpec(name="MXNet", path = joinpath(ENV["MXNET_HOME"], "julia")))' -``` - -For more details about installing and using MXNet with Julia, see the -[MXNet Julia documentation](/api/julia.html). - -
- -### Install the MXNet Package for Perl - -Before you build MXNet for Perl from source code, you must complete [building the shared library](#build-the-shared-library). -After you build the shared library, run the following command from the MXNet source root directory to build the MXNet -Perl package: - -```bash -sudo apt-get install libmouse-perl pdl cpanminus swig libgraphviz-perl -cpanm -q -L "${HOME}/perl5" Function::Parameters Hash::Ordered PDL::CCS - -MXNET_HOME=${PWD} -export LD_LIBRARY_PATH=${MXNET_HOME}/lib -export PERL5LIB=${HOME}/perl5/lib/perl5 - -cd ${MXNET_HOME}/perl-package/AI-MXNetCAPI/ -perl Makefile.PL INSTALL_BASE=${HOME}/perl5 -make install - -cd ${MXNET_HOME}/perl-package/AI-NNVMCAPI/ -perl Makefile.PL INSTALL_BASE=${HOME}/perl5 -make install - -cd ${MXNET_HOME}/perl-package/AI-MXNet/ -perl Makefile.PL INSTALL_BASE=${HOME}/perl5 -make install -``` -
- - -### Install the MXNet Package for R - -Before you build MXNet for R from source code, you must complete -[building the shared library](#build-the-shared-library). - -**Minimum Requirements** -1. [GCC 4.8](https://gcc.gnu.org/gcc-4.8/) or later to compile C++ 11. -2. [GNU Make](https://www.gnu.org/software/make/) - -
- -**Build the MXNet core shared library** - -**Step 1** Install R, cran-devtools and dependencies - -To install R and the devtools, run - -```bash -sudo apt-get update -sudo apt-get install -y r-base-core r-cran-devtools libcairo2-dev libxml2-dev -``` - -`libxml2-dev` is required for the `roxygen2` dependency and `libcairo2-dev` is -required for the suggested `imager` dependency. - -To generate documentation, it is also required to install `roxygen2`. - -```bash -R -> install.packages("roxygen2") -> Would you like to use a personal library instead? (y/n) y -> Would you like to create a personal library ... to install packages into? (y/n) y -``` - -Note: To successfully complete the next step, you need a personal R library. If -you were able to run `install.packages("roxygen2")` above, you either had -already, or you have successfully created a personal library just now. - -**Step 2** Make and install the MXNet-R bindings. - -```bash -make -f R-package/Makefile rpkg -``` - -#### Verify MXNet-R Installation - -You can verify your MXNet-R installation as follows: - -```bash -R -``` - -At the R prompt enter the following: - -```r -library(mxnet) -a <- mx.nd.ones(c(2,3), ctx = mx.cpu()) -b <- a * 2 + 1 -b -``` - -You should see the following output: - -``` - [,1] [,2] [,3] -[1,] 3 3 3 -[2,] 3 3 3 -> quit() -``` -
- - -### Install the MXNet Package for Scala - -After building the MXNet shared library, you may simply run the following from the MXNet scala-package folder: - -```bash -mvn install -``` - -This will install both the Java Inference API and the required MXNet-Scala package.
- -### Install the MXNet Package for Java - -After building the MXNet shared library, you may simply run the following from the MXNet scala-package folder: - -```bash -mvn install -``` - -This will install both the Java Inference API and the required MXNet-Scala package.
- -## Contributions - -You are more than welcome to contribute easy installation scripts for other operating systems and programming languages. -See the [community contributions page]({{'/community/contribute'|relative_url}}) for further information. - -## Next Steps - -* [Tutorials]({{'/api'|relative_url}}) -* [How To]({{'/api/faq/add_op_in_backend'|relative_url}}) -* [Architecture]({{'/api/architecture/overview'|relative_url}}) - - - diff --git a/docs/static_site/src/pages/get_started/validate_mxnet.md b/docs/static_site/src/pages/get_started/validate_mxnet.md index d613c3bf0508..392682acc6e7 100644 --- a/docs/static_site/src/pages/get_started/validate_mxnet.md +++ b/docs/static_site/src/pages/get_started/validate_mxnet.md @@ -73,75 +73,6 @@ array([[ 3., 3., 3.], ``` -## Verify GPU Training - -From the MXNet root directory run: `python example/image-classification/train_mnist.py --network lenet --gpus 0` to test GPU training. - - -## Virtualenv - -Activate the virtualenv environment created for *MXNet*. - -```bash -$ source ~/mxnet/bin/activate -``` - -After activating the environment, you should see the prompt as below. - -```bash -(mxnet)$ -``` - -Start the python terminal. - -```bash -$ python -``` - -Run the previous Python example. - - -## Docker with CPU - -Launch a Docker container with `mxnet/python` image and run example *MXNet* python program on the terminal. - -```bash -$ docker run -it mxnet/python bash # Use sudo if you skip Step 2 in the installation instruction - -# Start a python terminal -root@4919c4f58cac:/# python -``` - -Run the previous Python example. - - -## Docker with GPU - -Launch a NVIDIA Docker container with `mxnet/python:gpu` image and run example *MXNet* python program on the terminal. - -```bash -$ nvidia-docker run -it mxnet/python:gpu bash # Use sudo if you skip Step 2 in the installation instruction - -# Start a python terminal -root@4919c4f58cac:/# python -``` - -Run the previous Python example and run the previous GPU examples. - - -## Cloud - -Login to the cloud instance you launched, with pre-installed *MXNet*, following the guide by corresponding cloud provider. - -Start the python terminal. - -```bash -$ python -``` - -Run the previous Python example, and for GPU instances run the previous GPU example. - - ## Alternative Language Bindings ### C++ diff --git a/docs/static_site/src/pages/get_started/windows_setup.md b/docs/static_site/src/pages/get_started/windows_setup.md deleted file mode 100644 index 3eb99c3e71b7..000000000000 --- a/docs/static_site/src/pages/get_started/windows_setup.md +++ /dev/null @@ -1,492 +0,0 @@ ---- -layout: page -title: Windows Setup -action: Get Started -action_url: /get_started -permalink: /get_started/windows_setup ---- - - - - - - - - - - - - - - - - - -# Installing MXNet on Windows - -The following describes how to install with pip for computers with CPUs, Intel CPUs, and NVIDIA GPUs. Further along in the document you can learn how to build MXNet from source on Windows, or how to install packages that support different language APIs to MXNet. - -- [Prerequisites](#prerequisites) -- [Install MXNet with Python](#install-mxnet-with-python) - - [Install with CPUs](#install-with-cpus) - - [Install with Intel CPUs](#install-with-intel-cpus) - - [Install with NVIDIA GPUs](#install-with-nvidia-gpus) - - [Notes on the Python Packages](#notes-on-the-python-packages) -- [Build from Source](#build-from-source) -- Install MXNet with a Programming Language API - - [Python](#install-the-mxnet-package-for-python) - - [R](#install-the-mxnet-package-for-r) - - [Julia](#install-the-mxnet-package-for-julia) - - -## Prerequisites - -### Minimum System Requirements - -* Windows 71, 10, Server 2012 R2, or Server 2016 -* Visual Studio 2015 or 2017 (any type) -* Python 2.7 or 3.6 -* pip - -1. There are [known issues](https://github.com/apache/incubator-mxnet/issues?utf8=%E2%9C%93&q=is%3Aissue+windows7+label%3AWindows+) with Windows 7. - -### Recommended System Requirements - -* Windows 10, Server 2012 R2, or Server 2016 -* Visual Studio 2017 (any type) -* At least one [NVIDIA CUDA-enabled GPU](https://developer.nvidia.com/cuda-gpus) -* MKL-enabled CPU: Intel® Xeon® processor, Intel® Core™ processor family, Intel Atom® processor, or Intel® Xeon Phi™ processor -* Python 2.7 or 3.6 -* pip - - -## Install MXNet with Python - -The easiest way to install MXNet on Windows is by using a [Python pip package](https://pip.pypa.io/en/stable/installing/). - -**Note**: Windows pip packages typically release a few days after a new version MXNet is released. Make sure you verify which version gets installed. - -### Install with CPUs - -Install MXNet with CPU support with Python: - -```bash -pip install mxnet -``` - -Now [validate your MXNet installation with Python](/get_started/validate_mxnet). - -### Install with Intel CPUs - -MXNet has experimental support for Intel [MKL](https://software.intel.com/en-us/mkl) and [MKL-DNN](https://github.com/intel/mkl-dnn). When using supported Intel hardware, inference and training can be vastly faster when using MXNet with [MKL](https://software.intel.com/en-us/mkl) or [MKL-DNN](https://github.com/intel/mkl-dnn). - -The following steps will setup MXNet with MKL. MKL-DNN can be enabled only when building from source. -1. Download and install [Intel MKL](https://software.intel.com/en-us/mkl/choose-download/windows) (registration required). -1. Install MXNet with MKL support with Python: - -```bash -pip install mxnet-mkl -``` - -Now [validate your MXNet installation with Python](/get_started/validate_mxnet). - -### Install with NVIDIA GPUs - -When using supported NVIDIA GPU hardware, inference and training can be vastly faster with [NVIDIA CUDA](https://developer.nvidia.com/cuda-toolkit) and [cuDNN](https://developer.nvidia.com/cudnn). You have two options for installing MXNet with CUDA support with a Python package. -- [Install with CUDA support](#install-with-cuda-support) -- [Install with CUDA and MKL support](#install-with-cuda-and-mkl-support) - -#### Install with CUDA Support - -The following steps will setup MXNet with CUDA. cuDNN can be enabled only when building from source. -1. Install [Microsoft Visual Studio 2017](https://www.visualstudio.com/downloads/) or [Microsoft Visual Studio 2015](https://www.visualstudio.com/vs/older-downloads/). -1. Download and install [NVIDIA CUDA](https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal). CUDA versions 9.2 or 9.0 are recommended. Some [issues with CUDA 9.1](https://github.com/apache/incubator-mxnet/labels/CUDA) have been identified in the past. -1. Download and install [NVIDIA_CUDA_DNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-windows) -1. Install MXNet with CUDA support with pip: - -```bash -pip install mxnet-cu92 -``` - -Once you have installed a version of MXNet, [validate your MXNet installation with Python](validate_mxnet). - -#### Install with CUDA and MKL Support - -You can also use a combination of CPU/GPU enhancements provided by Intel and NVIDIA. - -The following steps will setup MXNet with CUDA and MKL. -1. Install [Microsoft Visual Studio 2017](https://www.visualstudio.com/downloads/) or [Microsoft Visual Studio 2015](https://www.visualstudio.com/vs/older-downloads/). -1. Download and install [Intel MKL](https://software.intel.com/en-us/mkl/choose-download/windows) (registration required). -1. Download and install [NVIDIA CUDA](https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal). -1. Download and install [NVIDIA_CUDA_DNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-windows) -1. Install MXNet with MKL support with pip: - -```bash -pip install mxnet-cu92mkl -``` - -Once you have installed a version of MXNet, [validate your MXNet installation with Python](validate_mxnet). - -### Notes on the Python Packages -To get further enhancements for deep neural networks, you may want to enable MKL-DNN and/or cuDNN. Each of these require you to [build from source](#build-from-source) and to enable the build flags for each. - -Check the chart below for other options or refer to [PyPI for other MXNet pip packages](https://pypi.org/project/mxnet/). - -![pip packages](https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/install/pip-packages.png) - - -## Build from Source - -**IMPORTANT: It is recommended that you review the [build from source guide](build_from_source) first.** It describes many of the build options that come with MXNet in more detail. You may decide to install additional dependencies and modify your build flags after reviewing this material. - -**Note**: Building MXNet from source requires at least [gcc7](https://gcc.gnu.org/), clang6 or any C++17 compatible compiler. - -We provide two primary options to build and install MXNet yourself using [Microsoft Visual Studio 2017](https://www.visualstudio.com/downloads/) or [Microsoft Visual Studio 2015](https://www.visualstudio.com/vs/older-downloads/). - -**NOTE:** Visual Studio 2017's compiler is `vc15`. This is not to be confused with Visual Studio 2015's compiler, `vc14`. - -You also have the option to install MXNet with MKL or MKL-DNN. In this case it is recommended that you refer to the [MKLDNN_README](https://mxnet.apache.org/api/python/docs/tutorials/performance/backend/mkldnn/mkldnn_readme.html). - -**Option 1: Build with Microsoft Visual Studio 2017 (VS2017)** - -To build and install MXNet yourself using [VS2017](https://www.visualstudio.com/downloads/), you need the following dependencies. You may try a newer version of a particular dependency, but please open a pull request or [issue](https://github.com/apache/incubator-mxnet/issues/new) to update this guide if a newer version is validated. - -1. Install or update VS2017. - - If [VS2017](https://www.visualstudio.com/downloads/) is not already installed, download and install it. You can download and install the free community edition. - - When prompted about installing Git, go ahead and install it. - - If VS2017 is already installed you will want to update it. Proceed to the next step to modify your installation. You will be given the opportunity to update VS2017 as well -1. Follow the [instructions for opening the Visual Studio Installer](https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio) to modify `Individual components`. -1. Once in the Visual Studio Installer application, update as needed, then look for and check `VC++ 2017 version 15.4 v14.11 toolset`, and click `Modify`. -1. Change the version of the Visual studio 2017 to v14.11 using the following command (by default the VS2017 is installed in the following path): -``` -"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.11 -``` -1. Download and install [CMake](https://cmake.org/download) if it is not already installed. [CMake v3.12.2](https://cmake.org/files/v3.12/cmake-3.12.2-win64-x64.msi) has been tested with MXNet. -1. Download and run the [OpenCV](https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.4.1/opencv-3.4.1-vc14_vc15.exe/download) package. There are more recent versions of OpenCV, so please create an issue/PR to update this info if you validate one of these later versions. -1. This will unzip several files. You can place them in another directory if you wish. We will use `C:\utils`(```mkdir C:\utils```) as our default path. -1. Set the environment variable `OpenCV_DIR` to point to the OpenCV build directory that you just unzipped. Start ```cmd``` and type `set OpenCV_DIR=C:\utils\opencv\build`. -1. If you don’t have the Intel Math Kernel Library (MKL) installed, you can install it and follow the [MKLDNN_README](https://mxnet.apache.org/api/python/docs/tutorials/performance/backend/mkldnn/mkldnn_readme.html) from here, or you can use OpenBLAS. These instructions will assume you're using OpenBLAS. -1. Download the [OpenBlas](https://sourceforge.net/projects/openblas/files/v0.2.19/OpenBLAS-v0.2.19-Win64-int32.zip/download) package. Later versions of OpenBLAS are available, but you would need to build from source. v0.2.19 is the most recent version that ships with binaries. Contributions of more recent binaries would be appreciated. -1. Unzip the file, rename it to ```OpenBLAS``` and put it under `C:\utils`. You can place the unzipped files and folders in another directory if you wish. -1. Set the environment variable `OpenBLAS_HOME` to point to the OpenBLAS directory that contains the `include` and `lib` directories and type `set OpenBLAS_HOME=C:\utils\OpenBLAS` on the command prompt(```cmd```). -1. Download and install [CUDA](https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal). If you already had CUDA, then installed VS2017, you should reinstall CUDA now so that you get the CUDA toolkit components for VS2017 integration. Note that the latest CUDA version supported by MXNet is [9.2](https://developer.nvidia.com/cuda-92-download-archive). You might also want to find other CUDA verion on the [Legacy Releases](https://developer.nvidia.com/cuda-toolkit-archive). -1. Download and install cuDNN. To get access to the download link, register as an NVIDIA community user. Then follow the [link](http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-windows) to install the cuDNN and put those libraries into ```C:\cuda```. -1. Download and install [git](https://git-for-windows.github.io/) if you haven't already. - -After you have installed all of the required dependencies, build the MXNet source code: - -1. Start ```cmd``` in windows. -2. Download the MXNet source code from GitHub by using following command: -``` -cd C:\ -git clone https://github.com/apache/incubator-mxnet.git --recursive -``` -3. Verify that the `DCUDNN_INCLUDE` and `DCUDNN_LIBRARY` environment variables are pointing to the `include` folder and `cudnn.lib` file of your CUDA installed location, and `C:\incubator-mxnet` is the location of the source code you just cloned in the previous step. -4. Create a build dir using the following command and go to the directory, for example: -``` -mkdir C:\incubator-mxnet\build -cd C:\incubator-mxnet\build -``` -5. Compile the MXNet source code with `cmake` by using following command: -``` -cmake -G "Visual Studio 15 2017 Win64" -T cuda=9.2,host=x64 -DUSE_CUDA=1 -DUSE_CUDNN=1 -DUSE_NVRTC=1 -DUSE_OPENCV=1 -DUSE_OPENMP=1 -DUSE_BLAS=open -DUSE_LAPACK=1 -DUSE_DIST_KVSTORE=0 -DCUDA_ARCH_LIST=Common -DCUDA_TOOLSET=9.2 -DCUDNN_INCLUDE=C:\cuda\include -DCUDNN_LIBRARY=C:\cuda\lib\x64\cudnn.lib "C:\incubator-mxnet" -``` -* Make sure you set the environment variables correctly (OpenBLAS_HOME, OpenCV_DIR) and change the version of the Visual studio 2017 to v14.11 before enter above command. -6. After the CMake successfully completed, compile the MXNet source code by using following command: -``` -msbuild mxnet.sln /p:Configuration=Release;Platform=x64 /maxcpucount -``` - - -**Option 2: Build with Visual Studio 2015** - -To build and install MXNet yourself using [Microsoft Visual Studio 2015](https://www.visualstudio.com/vs/older-downloads/), you need the following dependencies. You may try a newer version of a particular dependency, but please open a pull request or [issue](https://github.com/apache/incubator-mxnet/issues/new) to update this guide if a newer version is validated. - -1. If [Microsoft Visual Studio 2015](https://www.visualstudio.com/vs/older-downloads/) is not already installed, download and install it. You can download and install the free community edition. At least Update 3 of Microsoft Visual Studio 2015 is required to build MXNet from source. Upgrade via it's ```Tools -> Extensions and Updates... | Product Updates``` menu. -2. Download and install [CMake](https://cmake.org/) if it is not already installed. -3. Download and install [OpenCV](http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0/opencv-3.0.0.exe/download). -4. Unzip the OpenCV package. -5. Set the environment variable ```OpenCV_DIR``` to point to the ```OpenCV build directory``` (```C:\opencv\build\x64\vc14``` for example). Also, you need to add the OpenCV bin directory (```C:\opencv\build\x64\vc14\bin``` for example) to the ``PATH`` variable. -6. If you don't have the Intel Math Kernel Library (MKL) installed, download and install [OpenBlas](http://sourceforge.net/projects/openblas/files/v0.2.14/). -7. Set the environment variable ```OpenBLAS_HOME``` to point to the ```OpenBLAS``` directory that contains the ```include``` and ```lib``` directories. Typically, you can find the directory in ```C:\Program files (x86)\OpenBLAS\```. -8. Download and install [CUDA](https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64) and [cuDNN](https://developer.nvidia.com/cudnn). To get access to the download link, register as an NVIDIA community user. -9. Set the environment variable ```CUDACXX``` to point to the ```CUDA Compiler```(```C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin\nvcc.exe``` for example). -10. Set the environment variable ```CUDNN_ROOT``` to point to the ```cuDNN``` directory that contains the ```include```, ```lib``` and ```bin``` directories (```C:\Downloads\cudnn-9.1-windows7-x64-v7\cuda``` for example). - -After you have installed all of the required dependencies, build the MXNet source code: - -1. Download the MXNet source code from [GitHub](https://github.com/apache/incubator-mxnet) (make sure you also download third parties submodules e.g. ```git clone --recurse-submodules```). -2. Use [CMake](https://cmake.org/) to create a Visual Studio solution in ```./build```. -3. In Visual Studio, open the solution file,```.sln```, and compile it. -These commands produce a library called ```mxnet.dll``` in the ```./build/Release/``` or ```./build/Debug``` folder. - -  -Next, we install ```graphviz``` library that we use for visualizing network graphs you build on MXNet. We will also install [Jupyter Notebook](http://jupyter.readthedocs.io/) used for running MXNet tutorials and examples. -- Install ```graphviz``` by downloading MSI installer from [Graphviz Download Page](https://graphviz.gitlab.io/_pages/Download/Download_windows.html). -**Note** Make sure to add graphviz executable path to PATH environment variable. Refer [here for more details](http://stackoverflow.com/questions/35064304/runtimeerror-make-sure-the-graphviz-executables-are-on-your-systems-path-aft) -- Install ```Jupyter``` by installing [Anaconda for Python 2.7](https://www.anaconda.com/download/) -**Note** Do not install Anaconda for Python 3.5. MXNet has a few compatibility issues with Python 3.5. - -We have installed MXNet core library. Next, we will install MXNet interface package for programming language of your choice: -- [Python](#install-the-mxnet-package-for-python) -- [R](#install-the-mxnet-package-for-r) -- [Julia](#install-the-mxnet-package-for-julia) -- **Scala** is not yet available for Windows - -## Install the MXNet Package for Python - -These steps are required after building from source. If you already installed MXNet by using pip, you do not need to do these steps to use MXNet with Python. - -1. Install ```Python``` using windows installer available [here](https://www.python.org/downloads/release/python-2712/). -2. Install ```Numpy``` using windows installer available [here](https://scipy.org/index.html). -3. Start ```cmd``` and create a folder named ```common```(```mkdir C:\common```) -4. Download the [mingw64_dll.zip](https://sourceforge.net/projects/openblas/files/v0.2.12/mingw64_dll.zip/download), unzip and copy three libraries (.dll files) that openblas.dll depends on to ```C:\common```. -5. Copy the required .dll file to ```C:\common``` and make sure following libraries (.dll files) in the folder. -``` -libgcc_s_seh-1.dll (in mingw64_dll) -libgfortran-3.dll (in mingw64_dll) -libquadmath-0.dll (in mingw64_dll) -libopenblas.dll (in OpenBlas folder you download) -opencv_world341.dll (in OpenCV folder you download) -``` -6. Add ```C:\common``` to Environment Variables. - * Type ```control sysdm.cpl``` on ```cmp``` - * Select the **Advanced tab** and click **Environment Variables** - * Double click the **Path** and click **New** - * Add ```C:\common``` and click OK -7. Use setup.py to install the package. -```bash - # Assuming you are in root mxnet source code folder - cd python - python setup.py install -``` - -Done! We have installed MXNet with Python interface. - -You can continue with using MXNet-Python, or if you want to try a different language API for MXNet, keep reading. - -## Install the MXNet Package for R -MXNet for R is available for both CPUs and GPUs. - -### Installing MXNet-R on a Computer with a CPU Processor - -To install MXNet on a computer with a CPU processor, choose from two options: - -* Use the prebuilt binary package -* Build the library from source code - -#### Installing MXNet-R with the Prebuilt Binary Package(CPU) -For Windows users, MXNet provides prebuilt binary packages. -You can install the package directly in the R console. - -Note: packages for 3.6.x are not yet available. -Install 3.5.x of R from [CRAN](https://cran.r-project.org/bin/windows/base/old/). - -For CPU-only package: - -```r - cran <- getOption("repos") - cran["dmlc"] <- "https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/" - options(repos = cran) - install.packages("mxnet") -``` - -#### Building MXNet-R from Source Code(CPU) -1. Clone the MXNet github repo. -```sh -git clone --recursive https://github.com/apache/incubator-mxnet -``` -The `--recursive` is to clone all the submodules used by MXNet. You will be editing the ```"/mxnet/R-package"``` folder. -2. Download prebuilt GPU-enabled MXNet libraries for Windows from [Windows release](https://github.com/yajiedesign/mxnet/releases). You will need `mxnet_x64_vc14_cpu.7z` and `prebuildbase_win10_x64_vc14.7z` where X stands for your CUDA toolkit version -3. Create a folder called ```R-package/inst/libs/x64```. MXNet supports only 64-bit operating systems, so you need the x64 folder. -4. Copy the following shared libraries (.dll files) into the ```R-package/inst/libs/x64``` folder. -``` -libgcc_s_seh-1.dll -libgfortran-3.dll -libmxnet.dll -libmxnet.lib -libopenblas.dll -libquadmath-0.dll -mxnet.dll -unzip.exe -unzip32.dll -vcomp140.dll -wget.exe -``` -These dlls can be found in `prebuildbase_win10_x64_vc14/3rdparty`, `mxnet_x64_vc14_cpu/build`, `mxnet_x64_vc14_cpu/lib`. -5. Copy the header files from `dmlc`, `mxnet`, `mxshadow` and `nnvm` from `mxnet_x64_vc14_cpu/include and mxnet_x64_vc14_cpu/nvnm/include` into `./R-package/inst/include`. It should look like -``` -./R-package/inst -└── include - ├── dmlc - ├── mxnet - ├── mshadow - └── nnvm -``` - -6. Make sure that R executable is added to your ```PATH``` in the environment variables. Running the ```where R``` command at the command prompt should return the location. -7. Also make sure that Rtools is installed and the executable is added to your ```PATH``` in the environment variables. -8. Temporary patch - im2rec currently results in crashes during the build. Remove the im2rec.h and im2rec.cc files in R-package/src/ from cloned repository and comment out the two im2rec lines in [R-package/src/mxnet.cc](https://github.com/apache/incubator-mxnet/blob/master/R-package/src/mxnet.cc) as shown below. -``` -#include "./kvstore.h" -#include "./export.h" -//#include "./im2rec.h" -...... -...... - DataIterCreateFunction::InitRcppModule(); - KVStore::InitRcppModule(); - Exporter::InitRcppModule(); -//IM2REC::InitRcppModule(); -} -``` - -9. Now open the Windows CMD with admin rights and change the directory to the `mxnet` folder(cloned repository). Then use the following commands to build R package: - -```bash -echo import(Rcpp) > R-package\NAMESPACE -echo import(methods) >> R-package\NAMESPACE -Rscript -e "install.packages('devtools', repos = 'https://cloud.r-project.org')" -cd R-package -Rscript -e "library(devtools); library(methods); options(repos=c(CRAN='https://cloud.r-project.org')); install_deps(dependencies = TRUE)" -cd .. - -R CMD INSTALL --no-multiarch R-package - -Rscript -e "require(mxnet); mxnet:::mxnet.export('R-package')" -rm R-package/NAMESPACE -Rscript -e "require(devtools); install_version('roxygen2', version = '5.0.1', repos = 'https://cloud.r-project.org/', quiet = TRUE)" -Rscript -e "require(roxygen2); roxygen2::roxygenise('R-package')" - -R CMD INSTALL --build --no-multiarch R-package -``` - -### Installing MXNet-R on a Computer with a GPU Processor -To install MXNet on a computer with a GPU processor, choose from two options: - -* Use the prebuilt binary package -* Build the library from source code - -However, a few dependencies remain for both options. You will need the following: -* Install [Nvidia-drivers](http://www.nvidia.com/Download/index.aspx?lang=en-us) if not installed. Latest driver based on your system configuration is recommended. - -* Install [Microsoft Visual Studio](https://visualstudio.microsoft.com/downloads/) (VS2015 or VS2017 is required by CUDA) - -* Install [NVidia CUDA Toolkit](https://developer.nvidia.com/cuda-toolkit)(cu102 is recommended though we support cu92, cu100, cu101, cu102) - -* Download and install [CuDNN](https://developer.nvidia.com/cudnn) (to provide a Deep Neural Network library). Latest version recommended. - -Note: A pre-requisite to above softwares is [Nvidia-drivers](http://www.nvidia.com/Download/index.aspx?lang=en-us) which we assume is installed. - -#### Installing MXNet-R with the Prebuilt Binary Package(GPU) -For Windows users, MXNet provides prebuilt binary packages. -You can install the package directly in the R console after you have the above software installed. - -Note: packages for 3.6.x are not yet available. -Install 3.5.x of R from [CRAN](https://cran.r-project.org/bin/windows/base/old/). - -For GPU package: - -```r - cran <- getOption("repos") - cran["dmlc"] <- "https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/GPU/cu92" - options(repos = cran) - install.packages("mxnet") -``` -Change cu92 to cu100, cu101 or cu102 based on your CUDA toolkit version. Currently, MXNet supports these versions of CUDA. - -#### Building MXNet-R from Source Code(GPU) -After you have installed above software, continue with the following steps to build MXNet-R: -1. Clone the MXNet github repo. -```sh -git clone --recursive https://github.com/apache/incubator-mxnet -``` -The `--recursive` is to clone all the submodules used by MXNet. You will be editing the ```"/mxnet/R-package"``` folder. -2. Download prebuilt GPU-enabled MXNet libraries for Windows from https://github.com/yajiedesign/mxnet/releases. You will need `mxnet_x64_vc14_gpu_cuX.7z` and `prebuildbase_win10_x64_vc14.7z` where X stands for your CUDA toolkit version -3. Create a folder called ```R-package/inst/libs/x64```. MXNet supports only 64-bit operating systems, so you need the x64 folder. -4. Copy the following shared libraries (.dll files) into the ```R-package/inst/libs/x64``` folder: -``` -libgcc_s_seh-1.dll -libgfortran-3.dll -libmxnet.dll -libmxnet.lib -libopenblas.dll -libquadmath-0.dll -mxnet.dll -unzip.exe -unzip32.dll -vcomp140.dll -wget.exe -``` -These dlls can be found in `prebuildbase_win10_x64_vc14/3rdparty`, `mxnet_x64_vc14_gpu_cuX/build`, `mxnet_x64_vc14_gpu_cuX/lib`. -5. Copy the header files from `dmlc`, `mxnet`, `mxshadow` and `nnvm` from `mxnet_x64_vc14_gpuX/include` and `mxnet_x64_vc14_gpuX/nvnm/include` into `./R-package/inst/include`. It should look like: -``` -./R-package/inst -└── include - ├── dmlc - ├── mxnet - ├── mshadow - └── nnvm -``` -6. Make sure that R executable is added to your ```PATH``` in the environment variables. Running the ```where R``` command at the command prompt should return the location. -7. Also make sure that Rtools is installed and the executable is added to your ```PATH``` in the environment variables. -8. Temporary patch - im2rec currently results in crashes during the build. Remove the im2rec.h and im2rec.cc files in R-package/src/ from cloned repository and comment out the two im2rec lines in [R-package/src/mxnet.cc](https://github.com/apache/incubator-mxnet/blob/master/R-package/src/mxnet.cc) as shown below. -```bash -#include "./kvstore.h" -#include "./export.h" -//#include "./im2rec.h" -...... -...... - DataIterCreateFunction::InitRcppModule(); - KVStore::InitRcppModule(); - Exporter::InitRcppModule(); -//IM2REC::InitRcppModule(); -} -``` -9. Now open the Windows CMD with admin rights and change the directory to the `mxnet` folder(cloned repository). Then use the following commands -to build R package: - -```bat -echo import(Rcpp) > R-package\NAMESPACE -echo import(methods) >> R-package\NAMESPACE -Rscript -e "install.packages('devtools', repos = 'https://cloud.r-project.org')" -cd R-package -Rscript -e "library(devtools); library(methods); options(repos=c(CRAN='https://cloud.r-project.org')); install_deps(dependencies = TRUE)" -cd .. - -R CMD INSTALL --no-multiarch R-package - -Rscript -e "require(mxnet); mxnet:::mxnet.export('R-package')" -rm R-package/NAMESPACE -Rscript -e "require(devtools); install_version('roxygen2', version = '5.0.1', repos = 'https://cloud.r-project.org/', quiet = TRUE)" -Rscript -e "require(roxygen2); roxygen2::roxygenise('R-package')" - -R CMD INSTALL --build --no-multiarch R-package -``` - -**Note:** To maximize its portability, the MXNet library is built with the Rcpp end. Computers running Windows need [MSVC](https://en.wikipedia.org/wiki/Visual_C%2B%2B) (Microsoft Visual C++) to handle CUDA toolchain compatibilities. - -## Install the MXNet Package for Julia -The MXNet package for Julia is hosted in a separate repository, MXNet.jl, which is available on [GitHub](https://github.com/dmlc/MXNet.jl). To use Julia binding it with an existing libmxnet installation, set the ```MXNET_HOME``` environment variable by running the following command: - -```bash -export MXNET_HOME=//libmxnet -``` - -The path to the existing libmxnet installation should be the root directory of libmxnet. In other words, you should be able to find the ```libmxnet.so``` file at ```$MXNET_HOME/lib```. For example, if the root directory of libmxnet is ```~```, you would run the following command: - -```bash -export MXNET_HOME=/~/libmxnet -``` - -You might want to add this command to your ```~/.bashrc``` file. If you do, you can install the Julia package in the Julia console using the following command: - -```julia -Pkg.add("MXNet") -``` - -For more details about installing and using MXNet with Julia, see the [MXNet Julia documentation]({{'/api/julia'|relative_url}}). - - -## Installing the MXNet Package for Scala - -MXNet-Scala is not yet available for Windows.