blob: 5ef81a124188e8b3f41c97464b6069f9f5711ace [file] [log] [blame]
<!DOCTYPE html>
<!---
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<html lang=" en"><head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="/versions/1.9.1/assets/img/mxnet-icon.png" rel="icon" type="image/png"><!-- Begin Jekyll SEO tag v2.6.1 -->
<title>Windows Setup | Apache MXNet</title>
<meta name="generator" content="Jekyll v3.8.6" />
<meta property="og:title" content="Windows Setup" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="A flexible and efficient library for deep learning." />
<meta property="og:description" content="A flexible and efficient library for deep learning." />
<link rel="canonical" href="https://mxnet.apache.org/versions/1.9.1/get_started/windows_setup" />
<meta property="og:url" content="https://mxnet.apache.org/versions/1.9.1/get_started/windows_setup" />
<meta property="og:site_name" content="Apache MXNet" />
<script type="application/ld+json">
{"description":"A flexible and efficient library for deep learning.","headline":"Windows Setup","@type":"WebPage","url":"https://mxnet.apache.org/versions/1.9.1/get_started/windows_setup","@context":"https://schema.org"}</script>
<!-- End Jekyll SEO tag -->
<link rel="stylesheet" href="/versions/1.9.1/assets/docsearch.min.css" /><link rel="stylesheet" href="/versions/1.9.1/assets/main.css"><link type="application/atom+xml" rel="alternate" href="https://mxnet.apache.org/versions/1.9.1/feed.xml" title="Apache MXNet" /><!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '23']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<script src="/versions/1.9.1/assets/js/jquery-3.3.1.min.js"></script>
<script src="/versions/1.9.1/assets/js/docsearch.min.js"></script><script src="/versions/1.9.1/assets/js/globalSearch.js" defer></script>
<script src="/versions/1.9.1/assets/js/clipboard.js" defer></script>
<script src="/versions/1.9.1/assets/js/copycode.js" defer></script></head>
<body><header class="site-header" role="banner">
<script>
$(document).ready(function () {
// HEADER OPACITY LOGIC
function opacity_header() {
var value = "rgba(4,140,204," + ($(window).scrollTop() / 300 + 0.4) + ")"
$('.site-header').css("background-color", value)
}
$(window).scroll(function () {
opacity_header()
})
opacity_header();
// MENU SELECTOR LOGIC
$('.page-link').each( function () {
if (window.location.href.includes(this.href)) {
$(this).addClass("page-current");
}
});
})
</script>
<div class="wrapper">
<a class="site-title" rel="author" href="/versions/1.9.1/"><img
src="/versions/1.9.1/assets/img/mxnet_logo.png" class="site-header-logo"></a>
<nav class="site-nav">
<input type="checkbox" id="nav-trigger" class="nav-trigger"/>
<label for="nav-trigger">
<span class="menu-icon">
<svg viewBox="0 0 18 15" width="18px" height="15px">
<path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
</svg>
</span>
</label>
<div class="gs-search-border">
<div id="gs-search-icon"></div>
<form id="global-search-form">
<input id="global-search" type="text" title="Search" placeholder="Search" />
<div id="global-search-dropdown-container">
<button class="gs-current-version btn" type="button" data-toggle="dropdown">
<span id="gs-current-version-label">1.9.1</span>
<svg class="gs-dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true">
<path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path>
</svg>
</button>
<ul class="gs-opt-group gs-version-dropdown">
<li class="gs-opt gs-versions">master</li>
<li class="gs-opt gs-versions active">1.9.1</li>
<li class="gs-opt gs-versions">1.8.0</li>
<li class="gs-opt gs-versions">1.7.0</li>
<li class="gs-opt gs-versions">1.6.0</li>
<li class="gs-opt gs-versions">1.5.0</li>
<li class="gs-opt gs-versions">1.4.1</li>
<li class="gs-opt gs-versions">1.3.1</li>
<li class="gs-opt gs-versions">1.2.1</li>
<li class="gs-opt gs-versions">1.1.0</li>
<li class="gs-opt gs-versions">1.0.0</li>
<li class="gs-opt gs-versions">0.12.1</li>
<li class="gs-opt gs-versions">0.11.0</li>
</ul>
</div>
<span id="global-search-close">x</span>
</form>
</div>
<div class="trigger">
<div id="global-search-mobile-border">
<div id="gs-search-icon-mobile"></div>
<input id="global-search-mobile" placeholder="Search..." type="text"/>
<div id="global-search-dropdown-container-mobile">
<button class="gs-current-version-mobile btn" type="button" data-toggle="dropdown">
<svg class="gs-dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true">
<path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path>
</svg>
</button>
<ul class="gs-opt-group gs-version-dropdown-mobile">
<li class="gs-opt gs-versions">master</li>
<li class="gs-opt gs-versions active">1.9.1</li>
<li class="gs-opt gs-versions">1.8.0</li>
<li class="gs-opt gs-versions">1.7.0</li>
<li class="gs-opt gs-versions">1.6.0</li>
<li class="gs-opt gs-versions">1.5.0</li>
<li class="gs-opt gs-versions">1.4.1</li>
<li class="gs-opt gs-versions">1.3.1</li>
<li class="gs-opt gs-versions">1.2.1</li>
<li class="gs-opt gs-versions">1.1.0</li>
<li class="gs-opt gs-versions">1.0.0</li>
<li class="gs-opt gs-versions">0.12.1</li>
<li class="gs-opt gs-versions">0.11.0</li>
</ul>
</div>
</div>
<a class="page-link" href="/versions/1.9.1/get_started">Get Started</a>
<a class="page-link" href="/versions/1.9.1/features">Features</a>
<a class="page-link" href="/versions/1.9.1/ecosystem">Ecosystem</a>
<a class="page-link" href="/versions/1.9.1/api">Docs & Tutorials</a>
<a class="page-link" href="/versions/1.9.1/trusted_by">Trusted By</a>
<a class="page-link" href="https://github.com/apache/mxnet">GitHub</a>
<div class="dropdown" style="min-width:100px">
<span class="dropdown-header">Apache
<svg class="dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true"><path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path></svg>
</span>
<div class="dropdown-content" style="min-width:250px">
<a href="https://www.apache.org/foundation/">Apache Software Foundation</a>
<a href="https://www.apache.org/licenses/">License</a>
<a href="/versions/1.9.1/api/faq/security.html">Security</a>
<a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a>
<a href="https://www.apache.org/events/current-event">Events</a>
<a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
<a href="https://www.apache.org/foundation/thanks.html">Thanks</a>
</div>
</div>
<div class="dropdown">
<span class="dropdown-header">1.9.1
<svg class="dropdown-caret" viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true"><path class="dropdown-caret-path" d="M24 11.305l-7.997 11.39L8 11.305z"></path></svg>
</span>
<div class="dropdown-content">
<a href="/">master</a>
<a class="dropdown-option-active" href="/versions/1.9.1/">1.9.1</a>
<a href="/versions/1.8.0/">1.8.0</a>
<a href="/versions/1.7.0/">1.7.0</a>
<a href="/versions/1.6.0/">1.6.0</a>
<a href="/versions/1.5.0/">1.5.0</a>
<a href="/versions/1.4.1/">1.4.1</a>
<a href="/versions/1.3.1/">1.3.1</a>
<a href="/versions/1.2.1/">1.2.1</a>
<a href="/versions/1.1.0/">1.1.0</a>
<a href="/versions/1.0.0/">1.0.0</a>
<a href="/versions/0.12.1/">0.12.1</a>
<a href="/versions/0.11.0/">0.11.0</a>
</div>
</div>
</div>
</nav>
</div>
</header>
<main class="page-content" aria-label="Content">
<script>
</script>
<article class="post">
<header class="post-header wrapper">
<h1 class="post-title">Windows Setup</h1>
<h3></h3><a style="float:left; margin-top:20px" href="/versions/1.9.1/get_started" class="btn btn-action">Get Started
<span class="span-accented"></span></a></header>
<div class="post-content">
<div class="wrapper">
<!--- Licensed to the Apache Software Foundation (ASF) under one -->
<!--- or more contributor license agreements. See the NOTICE file -->
<!--- distributed with this work for additional information -->
<!--- regarding copyright ownership. The ASF licenses this file -->
<!--- to you under the Apache License, Version 2.0 (the -->
<!--- "License"); you may not use this file except in compliance -->
<!--- with the License. You may obtain a copy of the License at -->
<!--- http://www.apache.org/licenses/LICENSE-2.0 -->
<!--- Unless required by applicable law or agreed to in writing, -->
<!--- software distributed under the License is distributed on an -->
<!--- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -->
<!--- KIND, either express or implied. See the License for the -->
<!--- specific language governing permissions and limitations -->
<!--- under the License. -->
<h1 id="installing-mxnet-on-windows">Installing MXNet on Windows</h1>
<p>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.</p>
<ul>
<li><a href="#prerequisites">Prerequisites</a></li>
<li><a href="#install-mxnet-with-python">Install MXNet with Python</a>
<ul>
<li><a href="#install-with-cpus">Install with CPUs</a></li>
<li><a href="#install-with-intel-cpus">Install with Intel CPUs</a></li>
<li><a href="#install-with-nvidia-gpus">Install with NVIDIA GPUs</a></li>
<li><a href="#notes-on-the-python-packages">Notes on the Python Packages</a></li>
</ul></li>
<li><a href="#build-from-source">Build from Source</a></li>
<li>Install MXNet with a Programming Language API
<ul>
<li><a href="#install-the-mxnet-package-for-python">Python</a></li>
<li><a href="#install-the-mxnet-package-for-r">R</a></li>
<li><a href="#install-the-mxnet-package-for-julia">Julia</a></li>
</ul></li>
</ul>
<h2 id="prerequisites">Prerequisites</h2>
<h3 id="minimum-system-requirements">Minimum System Requirements</h3>
<ul>
<li>Windows 7<sup><a href="#fn1" id="ref1">1</a></sup>, 10, Server 2012 R2, or Server 2016</li>
<li>Visual Studio 2015 or 2017 (any type)</li>
<li>Python 2.7 or 3.6</li>
<li>pip</li>
</ul>
<p><sup id="fn1">1. There are <a href="https://github.com/apache/mxnet/issues?utf8=%E2%9C%93&q=is%3Aissue+windows7+label%3AWindows+">known issues</a> with Windows 7. <a href="#ref1" title="Return to source text."></a></sup></p>
<h3 id="recommended-system-requirements">Recommended System Requirements</h3>
<ul>
<li>Windows 10, Server 2012 R2, or Server 2016</li>
<li>Visual Studio 2017 (any type)</li>
<li>At least one <a href="https://developer.nvidia.com/cuda-gpus">NVIDIA CUDA-enabled GPU</a></li>
<li>MKL-enabled CPU: Intel® Xeon® processor, Intel® Core™ processor family, Intel Atom® processor, or Intel® Xeon Phi™ processor</li>
<li>Python 2.7 or 3.6</li>
<li>pip</li>
</ul>
<h2 id="install-mxnet-with-python">Install MXNet with Python</h2>
<p>The easiest way to install MXNet on Windows is by using a <a href="https://pip.pypa.io/en/stable/installing/">Python pip package</a>.</p>
<p><strong>Note</strong>: Windows pip packages typically release a few days after a new version MXNet is released. Make sure you verify which version gets installed.</p>
<h3 id="install-with-cpus">Install with CPUs</h3>
<p>Install MXNet with CPU support with Python:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash">pip <span class="nb">install </span>mxnet
</code></pre></div>
<p>Now <a href="/get_started/validate_mxnet">validate your MXNet installation with Python</a>.</p>
<h3 id="install-with-intel-cpus">Install with Intel CPUs</h3>
<p>MXNet has experimental support for Intel <a href="https://software.intel.com/en-us/mkl">MKL</a> and <a href="https://github.com/intel/mkl-dnn">MKL-DNN</a>. When using supported Intel hardware, inference and training can be vastly faster when using MXNet with <a href="https://software.intel.com/en-us/mkl">MKL</a> or <a href="https://github.com/intel/mkl-dnn">MKL-DNN</a>.</p>
<p>The following steps will setup MXNet with MKL. MKL-DNN can be enabled only when building from source.
1. Download and install <a href="https://software.intel.com/en-us/mkl/choose-download/windows">Intel MKL</a> (registration required).
1. Install MXNet with MKL support with Python:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash">pip <span class="nb">install </span>mxnet-mkl
</code></pre></div>
<p>Now <a href="/get_started/validate_mxnet">validate your MXNet installation with Python</a>.</p>
<h3 id="install-with-nvidia-gpus">Install with NVIDIA GPUs</h3>
<p>When using supported NVIDIA GPU hardware, inference and training can be vastly faster with <a href="https://developer.nvidia.com/cuda-toolkit">NVIDIA CUDA</a> and <a href="https://developer.nvidia.com/cudnn">cuDNN</a>. You have two options for installing MXNet with CUDA support with a Python package.
- <a href="#install-with-cuda-support">Install with CUDA support</a>
- <a href="#install-with-cuda-and-mkl-support">Install with CUDA and MKL support</a></p>
<h4 id="install-with-cuda-support">Install with CUDA Support</h4>
<p>The following steps will setup MXNet with CUDA. cuDNN can be enabled only when building from source.
1. Install <a href="https://www.visualstudio.com/downloads/">Microsoft Visual Studio 2017</a> or <a href="https://www.visualstudio.com/vs/older-downloads/">Microsoft Visual Studio 2015</a>.
1. Download and install <a href="https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal">NVIDIA CUDA</a>. CUDA versions 9.2 or 9.0 are recommended. Some <a href="https://github.com/apache/mxnet/labels/CUDA">issues with CUDA 9.1</a> have been identified in the past.
1. Download and install <a href="https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-windows">NVIDIA_CUDA_DNN</a>
1. Install MXNet with CUDA support with pip:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash">pip <span class="nb">install </span>mxnet-cu92
</code></pre></div>
<p>Once you have installed a version of MXNet, <a href="validate_mxnet">validate your MXNet installation with Python</a>.</p>
<h4 id="install-with-cuda-and-mkl-support">Install with CUDA and MKL Support</h4>
<p>You can also use a combination of CPU/GPU enhancements provided by Intel and NVIDIA.</p>
<p>The following steps will setup MXNet with CUDA and MKL.
1. Install <a href="https://www.visualstudio.com/downloads/">Microsoft Visual Studio 2017</a> or <a href="https://www.visualstudio.com/vs/older-downloads/">Microsoft Visual Studio 2015</a>.
1. Download and install <a href="https://software.intel.com/en-us/mkl/choose-download/windows">Intel MKL</a> (registration required).
1. Download and install <a href="https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal">NVIDIA CUDA</a>.
1. Download and install <a href="https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-windows">NVIDIA_CUDA_DNN</a>
1. Install MXNet with MKL support with pip:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash">pip <span class="nb">install </span>mxnet-cu92mkl
</code></pre></div>
<p>Once you have installed a version of MXNet, <a href="validate_mxnet">validate your MXNet installation with Python</a>.</p>
<h3 id="notes-on-the-python-packages">Notes on the Python Packages</h3>
<p>To get further enhancements for deep neural networks, you may want to enable MKL-DNN and/or cuDNN. Each of these require you to <a href="#build-from-source">build from source</a> and to enable the build flags for each.</p>
<p>Check the chart below for other options or refer to <a href="https://pypi.org/project/mxnet/">PyPI for other MXNet pip packages</a>.</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/install/pip-packages.png" alt="pip packages"></p>
<h2 id="build-from-source">Build from Source</h2>
<p><strong>IMPORTANT: It is recommended that you review the <a href="build_from_source">build from source guide</a> first.</strong> 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.</p>
<p>We provide two primary options to build and install MXNet yourself using <a href="https://www.visualstudio.com/downloads/">Microsoft Visual Studio 2017</a> or <a href="https://www.visualstudio.com/vs/older-downloads/">Microsoft Visual Studio 2015</a>.</p>
<p><strong>NOTE:</strong> Visual Studio 2017&#39;s compiler is <code>vc15</code>. This is not to be confused with Visual Studio 2015&#39;s compiler, <code>vc14</code>.</p>
<p>You also have the option to install MXNet with MKL or MKL-DNN. In this case it is recommended that you refer to the <a href="https://mxnet.apache.org/api/python/docs/tutorials/performance/backend/mkldnn/mkldnn_readme.html">MKLDNN_README</a>.</p>
<p><strong>Option 1: Build with Microsoft Visual Studio 2017 (VS2017)</strong></p>
<p>To build and install MXNet yourself using <a href="https://www.visualstudio.com/downloads/">VS2017</a>, you need the following dependencies. You may try a newer version of a particular dependency, but please open a pull request or <a href="https://github.com/apache/mxnet/issues/new">issue</a> to update this guide if a newer version is validated.</p>
<ol>
<li>Install or update VS2017.
<ul>
<li>If <a href="https://www.visualstudio.com/downloads/">VS2017</a> is not already installed, download and install it. You can download and install the free community edition.</li>
<li>When prompted about installing Git, go ahead and install it.</li>
<li>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</li>
</ul></li>
<li>Follow the <a href="https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio">instructions for opening the Visual Studio Installer</a> to modify <code>Individual components</code>.</li>
<li>Once in the Visual Studio Installer application, update as needed, then look for and check <code>VC++ 2017 version 15.4 v14.11 toolset</code>, and click <code>Modify</code>.</li>
<li>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):
<code>
&quot;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat&quot; -vcvars_ver=14.11
</code></li>
<li>Download and install <a href="https://cmake.org/download">CMake</a> if it is not already installed. <a href="https://cmake.org/files/v3.12/cmake-3.12.2-win64-x64.msi">CMake v3.12.2</a> has been tested with MXNet.</li>
<li>Download and run the <a href="https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.4.1/opencv-3.4.1-vc14_vc15.exe/download">OpenCV</a> 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.</li>
<li>This will unzip several files. You can place them in another directory if you wish. We will use <code>C:\utils</code>(<code>mkdir C:\utils</code>) as our default path.</li>
<li>Set the environment variable <code>OpenCV_DIR</code> to point to the OpenCV build directory that you just unzipped. Start <code>cmd</code> and type <code>set OpenCV_DIR=C:\utils\opencv\build</code>.</li>
<li>If you don’t have the Intel Math Kernel Library (MKL) installed, you can install it and follow the <a href="https://mxnet.apache.org/api/python/docs/tutorials/performance/backend/mkldnn/mkldnn_readme.html">MKLDNN_README</a> from here, or you can use OpenBLAS. These instructions will assume you&#39;re using OpenBLAS.</li>
<li>Download the <a href="https://sourceforge.net/projects/openblas/files/v0.2.19/OpenBLAS-v0.2.19-Win64-int32.zip/download">OpenBlas</a> 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.</li>
<li>Unzip the file, rename it to <code>OpenBLAS</code> and put it under <code>C:\utils</code>. You can place the unzipped files and folders in another directory if you wish.</li>
<li>Set the environment variable <code>OpenBLAS_HOME</code> to point to the OpenBLAS directory that contains the <code>include</code> and <code>lib</code> directories and type <code>set OpenBLAS_HOME=C:\utils\OpenBLAS</code> on the command prompt(<code>cmd</code>).</li>
<li>Download and install <a href="https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal">CUDA</a>. 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 <a href="https://developer.nvidia.com/cuda-92-download-archive">9.2</a>. You might also want to find other CUDA verion on the <a href="https://developer.nvidia.com/cuda-toolkit-archive">Legacy Releases</a>.</li>
<li>Download and install cuDNN. To get access to the download link, register as an NVIDIA community user. Then follow the <a href="http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#install-windows">link</a> to install the cuDNN and put those libraries into <code>C:\cuda</code>.</li>
<li>Download and install <a href="https://git-for-windows.github.io/">git</a> if you haven&#39;t already.</li>
</ol>
<p>After you have installed all of the required dependencies, build the MXNet source code:</p>
<ol>
<li>Start <code>cmd</code> in windows.</li>
<li>Download the MXNet source code from GitHub by using following command:
<code>
cd C:\
git clone https://github.com/apache/mxnet.git --recursive
</code></li>
<li>Verify that the <code>DCUDNN_INCLUDE</code> and <code>DCUDNN_LIBRARY</code> environment variables are pointing to the <code>include</code> folder and <code>cudnn.lib</code> file of your CUDA installed location, and <code>C:\mxnet</code> is the location of the source code you just cloned in the previous step.</li>
<li>Create a build dir using the following command and go to the directory, for example:
<code>
mkdir C:\mxnet\build
cd C:\mxnet\build
</code></li>
<li>Compile the MXNet source code with <code>cmake</code> by using following command:
<code>
cmake -G &quot;Visual Studio 15 2017 Win64&quot; -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 &quot;C:\mxnet&quot;
</code></li>
<li>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.</li>
<li>After the CMake successfully completed, compile the MXNet source code by using following command:
<code>
msbuild mxnet.sln /p:Configuration=Release;Platform=x64 /maxcpucount
</code></li>
</ol>
<p><strong>Option 2: Build with Visual Studio 2015</strong></p>
<p>To build and install MXNet yourself using <a href="https://www.visualstudio.com/vs/older-downloads/">Microsoft Visual Studio 2015</a>, you need the following dependencies. You may try a newer version of a particular dependency, but please open a pull request or <a href="https://github.com/apache/mxnet/issues/new">issue</a> to update this guide if a newer version is validated.</p>
<ol>
<li>If <a href="https://www.visualstudio.com/vs/older-downloads/">Microsoft Visual Studio 2015</a> 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&#39;s <code>Tools -&gt; Extensions and Updates... | Product Updates</code> menu.</li>
<li>Download and install <a href="https://cmake.org/">CMake</a> if it is not already installed.</li>
<li>Download and install <a href="http://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.0.0/opencv-3.0.0.exe/download">OpenCV</a>.</li>
<li>Unzip the OpenCV package.</li>
<li>Set the environment variable <code>OpenCV_DIR</code> to point to the <code>OpenCV build directory</code> (<code>C:\opencv\build\x64\vc14</code> for example). Also, you need to add the OpenCV bin directory (<code>C:\opencv\build\x64\vc14\bin</code> for example) to the <code>PATH</code> variable.</li>
<li>If you don&#39;t have the Intel Math Kernel Library (MKL) installed, download and install <a href="http://sourceforge.net/projects/openblas/files/v0.2.14/">OpenBlas</a>.</li>
<li>Set the environment variable <code>OpenBLAS_HOME</code> to point to the <code>OpenBLAS</code> directory that contains the <code>include</code> and <code>lib</code> directories. Typically, you can find the directory in <code>C:\Program files (x86)\OpenBLAS\</code>.</li>
<li>Download and install <a href="https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64">CUDA</a> and <a href="https://developer.nvidia.com/cudnn">cuDNN</a>. To get access to the download link, register as an NVIDIA community user.</li>
<li>Set the environment variable <code>CUDACXX</code> to point to the <code>CUDA Compiler</code>(<code>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin\nvcc.exe</code> for example).</li>
<li>Set the environment variable <code>CUDNN_ROOT</code> to point to the <code>cuDNN</code> directory that contains the <code>include</code>, <code>lib</code> and <code>bin</code> directories (<code>C:\Downloads\cudnn-9.1-windows7-x64-v7\cuda</code> for example).</li>
</ol>
<p>After you have installed all of the required dependencies, build the MXNet source code:</p>
<ol>
<li>Download the MXNet source code from <a href="https://github.com/apache/mxnet">GitHub</a> (make sure you also download third parties submodules e.g. <code>git clone --recurse-submodules</code>).</li>
<li>Use <a href="https://cmake.org/">CMake</a> to create a Visual Studio solution in <code>./build</code>.</li>
<li>In Visual Studio, open the solution file,<code>.sln</code>, and compile it.
These commands produce a library called <code>mxnet.dll</code> in the <code>./build/Release/</code> or <code>./build/Debug</code> folder.</li>
</ol>
<p>&nbsp;
Next, we install <code>graphviz</code> library that we use for visualizing network graphs you build on MXNet. We will also install <a href="http://jupyter.readthedocs.io/">Jupyter Notebook</a> used for running MXNet tutorials and examples.
- Install <code>graphviz</code> by downloading MSI installer from <a href="https://graphviz.gitlab.io/_pages/Download/Download_windows.html">Graphviz Download Page</a>.
<strong>Note</strong> Make sure to add graphviz executable path to PATH environment variable. Refer <a href="http://stackoverflow.com/questions/35064304/runtimeerror-make-sure-the-graphviz-executables-are-on-your-systems-path-aft">here for more details</a>
- Install <code>Jupyter</code> by installing <a href="https://www.anaconda.com/download/">Anaconda for Python 2.7</a>
<strong>Note</strong> Do not install Anaconda for Python 3.5. MXNet has a few compatibility issues with Python 3.5.</p>
<p>We have installed MXNet core library. Next, we will install MXNet interface package for programming language of your choice:
- <a href="#install-the-mxnet-package-for-python">Python</a>
- <a href="#install-the-mxnet-package-for-r">R</a>
- <a href="#install-the-mxnet-package-for-julia">Julia</a>
- <strong>Scala</strong> is not yet available for Windows</p>
<h2 id="install-the-mxnet-package-for-python">Install the MXNet Package for Python</h2>
<p>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.</p>
<ol>
<li>Install <code>Python</code> using windows installer available <a href="https://www.python.org/downloads/release/python-2712/">here</a>.</li>
<li>Install <code>Numpy</code> using windows installer available <a href="https://scipy.org/index.html">here</a>.</li>
<li>Start <code>cmd</code> and create a folder named <code>common</code>(<code>mkdir C:\common</code>)</li>
<li>Download the <a href="https://sourceforge.net/projects/openblas/files/v0.2.12/mingw64_dll.zip/download">mingw64_dll.zip</a>, unzip and copy three libraries (.dll files) that openblas.dll depends on to <code>C:\common</code>.</li>
<li>Copy the required .dll file to <code>C:\common</code> and make sure following libraries (.dll files) in the folder.
<code>
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)
</code></li>
<li>Add <code>C:\common</code> to Environment Variables.
<ul>
<li>Type <code>control sysdm.cpl</code> on <code>cmp</code></li>
<li>Select the <strong>Advanced tab</strong> and click <strong>Environment Variables</strong></li>
<li>Double click the <strong>Path</strong> and click <strong>New</strong></li>
<li>Add <code>C:\common</code> and click OK</li>
</ul></li>
<li>Use setup.py to install the package.
<code>bash
# Assuming you are in root mxnet source code folder
cd python
python setup.py install
</code></li>
</ol>
<p>Done! We have installed MXNet with Python interface.</p>
<p>You can continue with using MXNet-Python, or if you want to try a different language API for MXNet, keep reading.</p>
<h2 id="install-the-mxnet-package-for-r">Install the MXNet Package for R</h2>
<p>MXNet for R is available for both CPUs and GPUs.</p>
<h3 id="installing-mxnet-r-on-a-computer-with-a-cpu-processor">Installing MXNet-R on a Computer with a CPU Processor</h3>
<p>To install MXNet on a computer with a CPU processor, choose from two options:</p>
<ul>
<li>Use the prebuilt binary package</li>
<li>Build the library from source code</li>
</ul>
<h4 id="installing-mxnet-r-with-the-prebuilt-binary-package-cpu">Installing MXNet-R with the Prebuilt Binary Package(CPU)</h4>
<p>For Windows users, MXNet provides prebuilt binary packages.
You can install the package directly in the R console.</p>
<p>Note: packages for 3.6.x are not yet available.
Install 3.5.x of R from <a href="https://cran.r-project.org/bin/windows/base/old/">CRAN</a>.</p>
<p>For CPU-only package:</p>
<div class="highlight"><pre><code class="language-r" data-lang="r"><span class="w"> </span><span class="n">cran</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">getOption</span><span class="p">(</span><span class="s2">"repos"</span><span class="p">)</span><span class="w">
</span><span class="n">cran</span><span class="p">[</span><span class="s2">"dmlc"</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="s2">"https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/"</span><span class="w">
</span><span class="n">options</span><span class="p">(</span><span class="n">repos</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">cran</span><span class="p">)</span><span class="w">
</span><span class="n">install.packages</span><span class="p">(</span><span class="s2">"mxnet"</span><span class="p">)</span><span class="w">
</span></code></pre></div>
<h4 id="building-mxnet-r-from-source-code-cpu">Building MXNet-R from Source Code(CPU)</h4>
<ol>
<li><p>Clone the MXNet github repo.
<code>sh
git clone --recursive https://github.com/apache/mxnet
</code>
The <code>--recursive</code> is to clone all the submodules used by MXNet. You will be editing the <code>&quot;/mxnet/R-package&quot;</code> folder.</p></li>
<li><p>Download prebuilt GPU-enabled MXNet libraries for Windows from <a href="https://github.com/yajiedesign/mxnet/releases">Windows release</a>. You will need <code>mxnet_x64_vc14_cpu.7z</code> and <code>prebuildbase_win10_x64_vc14.7z</code> where X stands for your CUDA toolkit version</p></li>
<li><p>Create a folder called <code>R-package/inst/libs/x64</code>. MXNet supports only 64-bit operating systems, so you need the x64 folder.</p></li>
<li><p>Copy the following shared libraries (.dll files) into the <code>R-package/inst/libs/x64</code> folder.
<code>
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
</code>
These dlls can be found in <code>prebuildbase_win10_x64_vc14/3rdparty</code>, <code>mxnet_x64_vc14_cpu/build</code>, <code>mxnet_x64_vc14_cpu/lib</code>.</p></li>
<li><p>Copy the header files from <code>dmlc</code>, <code>mxnet</code>, <code>mxshadow</code> and <code>nnvm</code> from <code>mxnet_x64_vc14_cpu/include and mxnet_x64_vc14_cpu/nvnm/include</code> into <code>./R-package/inst/include</code>. It should look like
<code>
./R-package/inst
└── include
├── dmlc
├── mxnet
├── mshadow
└── nnvm
</code></p></li>
<li><p>Make sure that R executable is added to your <code>PATH</code> in the environment variables. Running the <code>where R</code> command at the command prompt should return the location.</p></li>
<li><p>Also make sure that Rtools is installed and the executable is added to your <code>PATH</code> in the environment variables.</p></li>
<li><p>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 <a href="https://github.com/apache/mxnet/blob/master/R-package/src/mxnet.cc">R-package/src/mxnet.cc</a> as shown below.
```</p>
<h1 id="include-kvstore-h">include &quot;./kvstore.h&quot;</h1>
<h1 id="include-export-h">include &quot;./export.h&quot;</h1>
<p>//#include &quot;./im2rec.h&quot;
......
......
DataIterCreateFunction::InitRcppModule();
KVStore::InitRcppModule();
Exporter::InitRcppModule();
//IM2REC::InitRcppModule();
}
```</p></li>
<li><p>Now open the Windows CMD with admin rights and change the directory to the <code>mxnet</code> folder(cloned repository). Then use the following commands to build R package:</p></li>
</ol>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">echo </span>import<span class="o">(</span>Rcpp<span class="o">)</span> <span class="o">&gt;</span> R-package<span class="se">\N</span>AMESPACE
<span class="nb">echo </span>import<span class="o">(</span>methods<span class="o">)</span> <span class="o">&gt;&gt;</span> R-package<span class="se">\N</span>AMESPACE
Rscript <span class="nt">-e</span> <span class="s2">"install.packages('devtools', repos = 'https://cloud.r-project.org')"</span>
<span class="nb">cd </span>R-package
Rscript <span class="nt">-e</span> <span class="s2">"library(devtools); library(methods); options(repos=c(CRAN='https://cloud.r-project.org')); install_deps(dependencies = TRUE)"</span>
<span class="nb">cd</span> ..
R CMD INSTALL <span class="nt">--no-multiarch</span> R-package
Rscript <span class="nt">-e</span> <span class="s2">"require(mxnet); mxnet:::mxnet.export('R-package')"</span>
<span class="nb">rm </span>R-package/NAMESPACE
Rscript <span class="nt">-e</span> <span class="s2">"require(devtools); install_version('roxygen2', version = '5.0.1', repos = 'https://cloud.r-project.org/', quiet = TRUE)"</span>
Rscript <span class="nt">-e</span> <span class="s2">"require(roxygen2); roxygen2::roxygenise('R-package')"</span>
R CMD INSTALL <span class="nt">--build</span> <span class="nt">--no-multiarch</span> R-package
</code></pre></div>
<h3 id="installing-mxnet-r-on-a-computer-with-a-gpu-processor">Installing MXNet-R on a Computer with a GPU Processor</h3>
<p>To install MXNet on a computer with a GPU processor, choose from two options:</p>
<ul>
<li>Use the prebuilt binary package</li>
<li>Build the library from source code</li>
</ul>
<p>However, a few dependencies remain for both options. You will need the following:
* Install <a href="http://www.nvidia.com/Download/index.aspx?lang=en-us">Nvidia-drivers</a> if not installed. Latest driver based on your system configuration is recommended.</p>
<ul>
<li><p>Install <a href="https://visualstudio.microsoft.com/downloads/">Microsoft Visual Studio</a> (VS2015 or VS2017 is required by CUDA)</p></li>
<li><p>Install <a href="https://developer.nvidia.com/cuda-toolkit">NVidia CUDA Toolkit</a>(cu92 is recommended though we support cu80, cu90, cu91 and cu92)</p></li>
<li><p>Download and install <a href="https://developer.nvidia.com/cudnn">CuDNN</a> (to provide a Deep Neural Network library). Latest version recommended.</p></li>
</ul>
<p>Note: A pre-requisite to above softwares is <a href="http://www.nvidia.com/Download/index.aspx?lang=en-us">Nvidia-drivers</a> which we assume is installed.</p>
<h4 id="installing-mxnet-r-with-the-prebuilt-binary-package-gpu">Installing MXNet-R with the Prebuilt Binary Package(GPU)</h4>
<p>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.</p>
<p>Note: packages for 3.6.x are not yet available.
Install 3.5.x of R from <a href="https://cran.r-project.org/bin/windows/base/old/">CRAN</a>.</p>
<p>For GPU package:</p>
<div class="highlight"><pre><code class="language-r" data-lang="r"><span class="w"> </span><span class="n">cran</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="n">getOption</span><span class="p">(</span><span class="s2">"repos"</span><span class="p">)</span><span class="w">
</span><span class="n">cran</span><span class="p">[</span><span class="s2">"dmlc"</span><span class="p">]</span><span class="w"> </span><span class="o">&lt;-</span><span class="w"> </span><span class="s2">"https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/GPU/cu92"</span><span class="w">
</span><span class="n">options</span><span class="p">(</span><span class="n">repos</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">cran</span><span class="p">)</span><span class="w">
</span><span class="n">install.packages</span><span class="p">(</span><span class="s2">"mxnet"</span><span class="p">)</span><span class="w">
</span></code></pre></div>
<p>Change cu92 to cu80, cu90 or cu91 based on your CUDA toolkit version. Currently, MXNet supports these versions of CUDA.</p>
<h4 id="building-mxnet-r-from-source-code-gpu">Building MXNet-R from Source Code(GPU)</h4>
<p>After you have installed above software, continue with the following steps to build MXNet-R:
1. Clone the MXNet github repo.
<code>sh
git clone --recursive https://github.com/apache/mxnet
</code>
The <code>--recursive</code> is to clone all the submodules used by MXNet. You will be editing the <code>&quot;/mxnet/R-package&quot;</code> folder.
2. Download prebuilt GPU-enabled MXNet libraries for Windows from <a href="https://github.com/yajiedesign/mxnet/releases">https://github.com/yajiedesign/mxnet/releases</a>. You will need <code>mxnet_x64_vc14_gpu_cuX.7z</code> and <code>prebuildbase_win10_x64_vc14.7z</code> where X stands for your CUDA toolkit version
3. Create a folder called <code>R-package/inst/libs/x64</code>. MXNet supports only 64-bit operating systems, so you need the x64 folder.
4. Copy the following shared libraries (.dll files) into the <code>R-package/inst/libs/x64</code> folder:
<code>
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
</code>
These dlls can be found in <code>prebuildbase_win10_x64_vc14/3rdparty</code>, <code>mxnet_x64_vc14_gpu_cuX/build</code>, <code>mxnet_x64_vc14_gpu_cuX/lib</code>.
5. Copy the header files from <code>dmlc</code>, <code>mxnet</code>, <code>mxshadow</code> and <code>nnvm</code> from <code>mxnet_x64_vc14_gpuX/include</code> and <code>mxnet_x64_vc14_gpuX/nvnm/include</code> into <code>./R-package/inst/include</code>. It should look like:
<code>
./R-package/inst
└── include
├── dmlc
├── mxnet
├── mshadow
└── nnvm
</code>
6. Make sure that R executable is added to your <code>PATH</code> in the environment variables. Running the <code>where R</code> command at the command prompt should return the location.
7. Also make sure that Rtools is installed and the executable is added to your <code>PATH</code> 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 <a href="https://github.com/apache/mxnet/blob/master/R-package/src/mxnet.cc">R-package/src/mxnet.cc</a> as shown below.
```bash</p>
<h1 id="include-kvstore-h">include &quot;./kvstore.h&quot;</h1>
<h1 id="include-export-h">include &quot;./export.h&quot;</h1>
<p>//#include &quot;./im2rec.h&quot;
......
......
DataIterCreateFunction::InitRcppModule();
KVStore::InitRcppModule();
Exporter::InitRcppModule();
//IM2REC::InitRcppModule();
}
``<code>
9. Now open the Windows CMD with admin rights and change the directory to the</code>mxnet` folder(cloned repository). Then use the following commands
to build R package:</p>
<div class="highlight"><pre><code class="language-bat" data-lang="bat">echo import(Rcpp) &gt; R-package\NAMESPACE
echo import(methods) &gt;&gt; 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
</code></pre></div>
<p><strong>Note:</strong> To maximize its portability, the MXNet library is built with the Rcpp end. Computers running Windows need <a href="https://en.wikipedia.org/wiki/Visual_C%2B%2B">MSVC</a> (Microsoft Visual C++) to handle CUDA toolchain compatibilities.</p>
<h2 id="install-the-mxnet-package-for-julia">Install the MXNet Package for Julia</h2>
<p>The MXNet package for Julia is hosted in a separate repository, MXNet.jl, which is available on <a href="https://github.com/dmlc/MXNet.jl">GitHub</a>. To use Julia binding it with an existing libmxnet installation, set the <code>MXNET_HOME</code> environment variable by running the following command:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">export </span><span class="nv">MXNET_HOME</span><span class="o">=</span>/&lt;path to&gt;/libmxnet
</code></pre></div>
<p>The path to the existing libmxnet installation should be the root directory of libmxnet. In other words, you should be able to find the <code>libmxnet.so</code> file at <code>$MXNET_HOME/lib</code>. For example, if the root directory of libmxnet is <code>~</code>, you would run the following command:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">export </span><span class="nv">MXNET_HOME</span><span class="o">=</span>/~/libmxnet
</code></pre></div>
<p>You might want to add this command to your <code>~/.bashrc</code> file. If you do, you can install the Julia package in the Julia console using the following command:</p>
<div class="highlight"><pre><code class="language-julia" data-lang="julia"><span class="n">Pkg</span><span class="o">.</span><span class="n">add</span><span class="x">(</span><span class="s">"MXNet"</span><span class="x">)</span>
</code></pre></div>
<p>For more details about installing and using MXNet with Julia, see the <a href="/versions/1.9.1/api/julia">MXNet Julia documentation</a>.</p>
<h2 id="installing-the-mxnet-package-for-scala">Installing the MXNet Package for Scala</h2>
<p>MXNet-Scala is not yet available for Windows.</p>
</div>
</div>
</article>
</main><footer class="site-footer h-card">
<div class="wrapper">
<div class="row">
<div class="col-4">
<h4 class="footer-category-title">Resources</h4>
<ul class="contact-list">
<li><a href="/versions/1.9.1/community/contribute#mxnet-dev-communications">Mailing lists</a></li>
<li><a href="https://cwiki.apache.org/confluence/display/MXNET/Apache+MXNet+Home">Developer Wiki</a></li>
<li><a href="https://issues.apache.org/jira/projects/MXNET/issues">Jira Tracker</a></li>
<li><a href="https://github.com/apache/mxnet/labels/Roadmap">Github Roadmap</a></li>
<li><a href="https://medium.com/apache-mxnet">Blog</a></li>
<li><a href="https://discuss.mxnet.io">Forum</a></li>
<li><a href="/versions/1.9.1/community/contribute">Contribute</a></li>
</ul>
</div>
<div class="col-4"><ul class="social-media-list"><li><a href="https://github.com/apache/mxnet"><svg class="svg-icon"><use xlink:href="/versions/1.9.1/assets/minima-social-icons.svg#github"></use></svg> <span class="username">apache/mxnet</span></a></li><li><a href="https://www.twitter.com/apachemxnet"><svg class="svg-icon"><use xlink:href="/versions/1.9.1/assets/minima-social-icons.svg#twitter"></use></svg> <span class="username">apachemxnet</span></a></li><li><a href="https://youtube.com/apachemxnet"><svg class="svg-icon"><use xlink:href="/versions/1.9.1/assets/minima-social-icons.svg#youtube"></use></svg> <span class="username">apachemxnet</span></a></li></ul>
</div>
<div class="col-4 footer-text">
<p>A flexible and efficient library for deep learning.</p>
</div>
</div>
</div>
</footer>
<footer class="site-footer2">
<div class="wrapper">
<div class="row">
<div class="col-3">
<img src="/versions/1.9.1/assets/img/asf_logo.svg" class="footer-logo col-2">
</div>
<div class="footer-bottom-warning col-9">
</p><p>"Copyright © 2017-2022, The Apache Software Foundation. Licensed under the Apache License, Version 2.0. Apache MXNet, MXNet, Apache, the Apache
feather, and the Apache MXNet project logo are either registered trademarks or trademarks of the
Apache Software Foundation."</p>
</div>
</div>
</div>
</footer>
</body>
</html>