blob: 7bb252798c63fda9c0a7b50aec90e7444e7da7c9 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
<meta content="width=device-width, initial-scale=1" name="viewport"/>
<title>Installing MXNet in Windows — mxnet documentation</title>
<link crossorigin="anonymous" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/>
<link href="../_static/basic.css" rel="stylesheet" type="text/css">
<link href="../_static/pygments.css" rel="stylesheet" type="text/css">
<link href="../_static/mxnet.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: ''
};
</script>
<script src="../_static/jquery-1.11.1.js" type="text/javascript"></script>
<script src="../_static/underscore.js" type="text/javascript"></script>
<script src="../_static/searchtools_custom.js" type="text/javascript"></script>
<script src="../_static/doctools.js" type="text/javascript"></script>
<script src="../_static/selectlang.js" type="text/javascript"></script>
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
<script type="text/javascript"> jQuery(function() { Search.loadIndex("/searchindex.js"); Search.init();}); </script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-96378503-1', 'auto');
ga('send', 'pageview');
</script>
<!-- -->
<!-- <script type="text/javascript" src="../_static/jquery.js"></script> -->
<!-- -->
<!-- <script type="text/javascript" src="../_static/underscore.js"></script> -->
<!-- -->
<!-- <script type="text/javascript" src="../_static/doctools.js"></script> -->
<!-- -->
<!-- <script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> -->
<!-- -->
<link href="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/image/mxnet-icon.png" rel="icon" type="image/png"/>
</link></link></head>
<body role="document"><!-- Previous Navbar Layout
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="../" class="navbar-brand">
<img src="http://data.mxnet.io/theme/mxnet.png">
</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul id="navbar" class="navbar navbar-left">
<li> <a href="../get_started/index.html">Get Started</a> </li>
<li> <a href="../tutorials/index.html">Tutorials</a> </li>
<li> <a href="../how_to/index.html">How To</a> </li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">Packages <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="../packages/python/index.html">
Python
</a></li>
<li><a href="../packages/r/index.html">
R
</a></li>
<li><a href="../packages/julia/index.html">
Julia
</a></li>
<li><a href="../packages/c++/index.html">
C++
</a></li>
<li><a href="../packages/scala/index.html">
Scala
</a></li>
<li><a href="../packages/perl/index.html">
Perl
</a></li>
</ul>
</li>
<li> <a href="../system/index.html">System</a> </li>
<li>
<form class="" role="search" action="../search.html" method="get" autocomplete="off">
<div class="form-group inner-addon left-addon">
<i class="glyphicon glyphicon-search"></i>
<input type="text" name="q" class="form-control" placeholder="Search">
</div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form> </li>
</ul>
<ul id="navbar" class="navbar navbar-right">
<li> <a href="../index.html"><span class="flag-icon flag-icon-us"></span></a> </li>
<li> <a href="..//zh/index.html"><span class="flag-icon flag-icon-cn"></span></a> </li>
</ul>
</div>
</div>
</div>
Previous Navbar Layout End -->
<div class="navbar navbar-fixed-top">
<div class="container" id="navContainer">
<div class="innder" id="header-inner">
<h1 id="logo-wrap">
<a href="../" id="logo"><img src="http://data.mxnet.io/theme/mxnet.png"/></a>
</h1>
<nav class="nav-bar" id="main-nav">
<a class="main-nav-link" href="../get_started/install.html">Install</a>
<a class="main-nav-link" href="../tutorials/index.html">Tutorials</a>
<a class="main-nav-link" href="../how_to/index.html">How To</a>
<span id="dropdown-menu-position-anchor">
<a aria-expanded="true" aria-haspopup="true" class="main-nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button">API <span class="caret"></span></a>
<ul class="dropdown-menu" id="package-dropdown-menu">
<li><a class="main-nav-link" href="../api/python/index.html">Python</a></li>
<li><a class="main-nav-link" href="../api/scala/index.html">Scala</a></li>
<li><a class="main-nav-link" href="../api/r/index.html">R</a></li>
<li><a class="main-nav-link" href="../api/julia/index.html">Julia</a></li>
<li><a class="main-nav-link" href="../api/c++/index.html">C++</a></li>
<li><a class="main-nav-link" href="../api/perl/index.html">Perl</a></li>
</ul>
</span>
<a class="main-nav-link" href="../architecture/index.html">Architecture</a>
<!-- <a class="main-nav-link" href="../community/index.html">Community</a> -->
<a class="main-nav-link" href="https://github.com/dmlc/mxnet">Github</a>
<span id="dropdown-menu-position-anchor-version" style="position: relative"><a href="#" class="main-nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">Versions(master)<span class="caret"></span></a><ul id="package-dropdown-menu" class="dropdown-menu"><li><a class="main-nav-link" href=http://mxnet.incubator.apache.org/test/>v0.10.14</a></li><li><a class="main-nav-link" href=http://mxnet.incubator.apache.org/test/versions/0.10/index.html>0.10</a></li><li><a class="main-nav-link" href=http://mxnet.incubator.apache.org/test/versions/master/index.html>master</a></li></ul></span></nav>
<script> function getRootPath(){ return "../" } </script>
<div class="burgerIcon dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button"></a>
<ul class="dropdown-menu dropdown-menu-right" id="burgerMenu">
<li><a href="../get_started/install.html">Install</a></li>
<li><a href="../tutorials/index.html">Tutorials</a></li>
<li><a href="../how_to/index.html">How To</a></li>
<li class="dropdown-submenu">
<a href="#" tabindex="-1">API</a>
<ul class="dropdown-menu">
<li><a href="../api/python/index.html" tabindex="-1">Python</a>
</li>
<li><a href="../api/scala/index.html" tabindex="-1">Scala</a>
</li>
<li><a href="../api/r/index.html" tabindex="-1">R</a>
</li>
<li><a href="../api/julia/index.html" tabindex="-1">Julia</a>
</li>
<li><a href="../api/c++/index.html" tabindex="-1">C++</a>
</li>
<li><a href="../api/perl/index.html" tabindex="-1">Perl</a>
</li>
</ul>
</li>
<li><a href="../architecture/index.html">Architecture</a></li>
<li><a class="main-nav-link" href="https://github.com/dmlc/mxnet">Github</a></li>
<li id="dropdown-menu-position-anchor-version-mobile" class="dropdown-submenu" style="position: relative"><a href="#" tabindex="-1">Versions(master)</a><ul class="dropdown-menu"><li><a tabindex="-1" href=http://mxnet.incubator.apache.org/test/>v0.10.14</a></li><li><a tabindex="-1" href=http://mxnet.incubator.apache.org/test/versions/0.10/index.html>0.10</a></li><li><a tabindex="-1" href=http://mxnet.incubator.apache.org/test/versions/master/index.html>master</a></li></ul></li></ul>
</div>
<div class="plusIcon dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" role="button"><span aria-hidden="true" class="glyphicon glyphicon-plus"></span></a>
<ul class="dropdown-menu dropdown-menu-right" id="plusMenu"></ul>
</div>
<div id="search-input-wrap">
<form action="../search.html" autocomplete="off" class="" method="get" role="search">
<div class="form-group inner-addon left-addon">
<i class="glyphicon glyphicon-search"></i>
<input class="form-control" name="q" placeholder="Search" type="text"/>
</div>
<input name="check_keywords" type="hidden" value="yes">
<input name="area" type="hidden" value="default"/>
</input></form>
<div id="search-preview"></div>
</div>
<div id="searchIcon">
<span aria-hidden="true" class="glyphicon glyphicon-search"></span>
</div>
<!-- <div id="lang-select-wrap"> -->
<!-- <label id="lang-select-label"> -->
<!-- <\!-- <i class="fa fa-globe"></i> -\-> -->
<!-- <span></span> -->
<!-- </label> -->
<!-- <select id="lang-select"> -->
<!-- <option value="en">Eng</option> -->
<!-- <option value="zh">中文</option> -->
<!-- </select> -->
<!-- </div> -->
<!-- <a id="mobile-nav-toggle">
<span class="mobile-nav-toggle-bar"></span>
<span class="mobile-nav-toggle-bar"></span>
<span class="mobile-nav-toggle-bar"></span>
</a> -->
</div>
</div>
</div>
<div class="container">
<div class="row">
<div aria-label="main navigation" class="sphinxsidebar leftsidebar" role="navigation">
<div class="sphinxsidebarwrapper">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../api/python/index.html">Python Documents</a></li>
<li class="toctree-l1"><a class="reference internal" href="../api/r/index.html">R Documents</a></li>
<li class="toctree-l1"><a class="reference internal" href="../api/julia/index.html">Julia Documents</a></li>
<li class="toctree-l1"><a class="reference internal" href="../api/c++/index.html">C++ Documents</a></li>
<li class="toctree-l1"><a class="reference internal" href="../api/scala/index.html">Scala Documents</a></li>
<li class="toctree-l1"><a class="reference internal" href="../api/perl/index.html">Perl Documents</a></li>
<li class="toctree-l1"><a class="reference internal" href="../how_to/index.html">HowTo Documents</a></li>
<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">System Documents</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/index.html">Tutorials</a></li>
</ul>
</div>
</div>
<div class="content">
<div class="section" id="installing-mxnet-in-windows">
<span id="installing-mxnet-in-windows"></span><h1>Installing MXNet in Windows<a class="headerlink" href="#installing-mxnet-in-windows" title="Permalink to this headline"></a></h1>
<p>On Windows, you can download and install the prebuilt MXNet package, or download, build, and install MXNet yourself.</p>
<div class="section" id="build-the-shared-library">
<span id="build-the-shared-library"></span><h2>Build the Shared Library<a class="headerlink" href="#build-the-shared-library" title="Permalink to this headline"></a></h2>
<p>You can either use a prebuilt binary package or build from source to build the MXNet shared library - <code class="docutils literal"><span class="pre">libmxnet.dll</span></code>.</p>
<div class="section" id="installing-the-prebuilt-package-on-windows">
<span id="installing-the-prebuilt-package-on-windows"></span><h3>Installing the Prebuilt Package on Windows<a class="headerlink" href="#installing-the-prebuilt-package-on-windows" title="Permalink to this headline"></a></h3>
<p>MXNet provides a prebuilt package for Windows. The prebuilt package includes the MXNet library, all of the dependent third-party libraries, a sample C++ solution for Visual Studio, and the Python installation script. To install the prebuilt package:</p>
<ol class="simple">
<li>Download the latest prebuilt package from the <a class="reference external" href="https://github.com/dmlc/mxnet/releases">Releases</a> tab of MXNet.
There are two versions. One with GPU support (using CUDA and CUDNN v3), and one without GPU support. Choose the version that suits your hardware configuration. For more information on which version works on each hardware configuration, see <a class="reference external" href="http://mxnet.io/get_started/setup.html#requirements-for-using-gpus">Requirements for GPU</a>.</li>
<li>Unpack the package into a folder, with an appropriate name, such as <code class="docutils literal"><span class="pre">D:\MXNet</span></code>.</li>
<li>Open the folder, and install the package by double-clicking <code class="docutils literal"><span class="pre">setupenv.cmd</span></code>. This sets up all of the environment variables required by MXNet.</li>
<li>Test the installation by opening the provided sample C++ Visual Studio solution and building it.</li>
</ol>
<p><p> </p>
This produces a library called <code class="docutils literal"><span class="pre">libmxnet.dll</span></code>.</p>
</div>
<div class="section" id="building-and-installing-packages-on-windows">
<span id="building-and-installing-packages-on-windows"></span><h3>Building and Installing Packages on Windows<a class="headerlink" href="#building-and-installing-packages-on-windows" title="Permalink to this headline"></a></h3>
<p>To build and install MXNet yourself, you need the following dependencies. Install the required dependencies:</p>
<ol class="simple">
<li>If <a class="reference external" href="https://www.visualstudio.com/downloads/">Microsoft Visual Studio 2013</a> is not already installed, download and install it. You can download and install the free community edition.</li>
<li>Install <a class="reference external" href="https://www.microsoft.com/en-us/download/details.aspx?id=41151">Visual C++ Compiler Nov 2013 CTP</a>.</li>
<li>Back up all of the files in the <code class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files</span> <span class="pre">(x86)\Microsoft</span> <span class="pre">Visual</span> <span class="pre">Studio</span> <span class="pre">12.0\VC</span></code> folder to a different location.</li>
<li>Copy all of the files in the <code class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files</span> <span class="pre">(x86)\Microsoft</span> <span class="pre">Visual</span> <span class="pre">C++</span> <span class="pre">Compiler</span> <span class="pre">Nov</span> <span class="pre">2013</span> <span class="pre">CTP</span></code> folder (or the folder where you extracted the zip archive) to the <code class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">Files</span> <span class="pre">(x86)\Microsoft</span> <span class="pre">Visual</span> <span class="pre">Studio</span> <span class="pre">12.0\VC</span></code> folder, and overwrite all existing files.</li>
<li>Download and install <a class="reference external" 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 class="docutils literal"><span class="pre">OpenCV_DIR</span></code> to point to the <code class="docutils literal"><span class="pre">OpenCV</span> <span class="pre">build</span> <span class="pre">directory</span></code>.</li>
<li>If you don’t have the Intel Math Kernel Library (MKL) installed, download and install <a class="reference external" href="http://sourceforge.net/projects/openblas/files/v0.2.14/">OpenBlas</a>.</li>
<li>Set the environment variable <code class="docutils literal"><span class="pre">OpenBLAS_HOME</span></code> to point to the <code class="docutils literal"><span class="pre">OpenBLAS</span></code> directory that contains the <code class="docutils literal"><span class="pre">include</span></code> and <code class="docutils literal"><span class="pre">lib</span></code> directories. Typically, you can find the directory in <code class="docutils literal"><span class="pre">C:\Program</span> <span class="pre">files</span> <span class="pre">(x86)\OpenBLAS\</span></code>.</li>
<li>Download and install <a class="reference external" href="https://developer.nvidia.com/cudnn">CuDNN</a>. To get access to the download link, register as an NVIDIA community user.</li>
</ol>
<p>After you have installed all of the required dependencies, build the MXNet source code:</p>
<ol class="simple">
<li>Download the MXNet source code from <a class="reference external" href="https://github.com/dmlc/mxnet">GitHub</a>.</li>
<li>Use <a class="reference external" href="https://cmake.org/">CMake</a> to create a Visual Studio solution in <code class="docutils literal"><span class="pre">./build</span></code>.</li>
<li>In Visual Studio, open the solution file,<code class="docutils literal"><span class="pre">.sln</span></code>, and compile it.
These commands produce a library called <code class="docutils literal"><span class="pre">mxnet.dll</span></code> in the <code class="docutils literal"><span class="pre">./build/Release/</span></code> or <code class="docutils literal"><span class="pre">./build/Debug</span></code> folder.</li>
</ol>
<p><p> </p>
Next, we install <code class="docutils literal"><span class="pre">graphviz</span></code> library that we use for visualizing network graphs you build on MXNet. We will also install <a class="reference external" href="http://jupyter.readthedocs.io/">Jupyter Notebook</a> used for running MXNet tutorials and examples.</p>
<ul class="simple">
<li>Install <code class="docutils literal"><span class="pre">graphviz</span></code> by downloading MSI installer from <a class="reference external" href="http://www.graphviz.org/Download_windows.php">Graphviz Download Page</a>.
<strong>Note</strong> Make sure to add graphviz executable path to PATH environment variable. Refer <a class="reference external" href="http://stackoverflow.com/questions/35064304/runtimeerror-make-sure-the-graphviz-executables-are-on-your-systems-path-aft">here for more details</a></li>
<li>Install <code class="docutils literal"><span class="pre">Jupyter</span></code> by installing <a class="reference external" href="https://www.continuum.io/downloads">Anaconda for Python 2.7</a>
<strong>Note</strong> Do not install Anaconda for Python 3.5. MXNet has few compatibility issue with Python 3.5.</li>
</ul>
<p><p> </p>
</p>
<p>We have installed MXNet core library. Next, we will install MXNet interface package for programming language of your choice:</p>
<ul class="simple">
<li><a class="reference external" href="#install-the-mxnet-package-for-python">Python</a></li>
<li><a class="reference external" href="#install-mxnet-for-r">R</a></li>
<li><a class="reference external" href="#install-the-mxnet-package-for-julia">Julia</a></li>
<li><a class="reference external" href="#install-the-mxnet-package-for-scala">Scala</a></li>
</ul>
</div>
</div>
<div class="section" id="install-mxnet-for-python">
<span id="install-mxnet-for-python"></span><h2>Install MXNet for Python<a class="headerlink" href="#install-mxnet-for-python" title="Permalink to this headline"></a></h2>
<ol class="simple">
<li>Install <code class="docutils literal"><span class="pre">Python</span></code> using windows installer available <a class="reference external" href="https://www.python.org/downloads/release/python-2712/">here</a>.</li>
<li>Install <code class="docutils literal"><span class="pre">Numpy</span></code> using windows installer available <a class="reference external" href="http://scipy.org/install.html">here</a>.</li>
<li>Next, we install Python package interface for MXNet. You can find the Python interface package for <a class="reference external" href="https://github.com/dmlc/mxnet/tree/master/python/mxnet">MXNet on GitHub</a>.</li>
</ol>
<div class="highlight-bash"><div class="highlight"><pre><span></span> <span class="c1"># Assuming you are in root mxnet source code folder</span>
<span class="nb">cd</span> python
sudo python setup.py install
</pre></div>
</div>
<p>Done! We have installed MXNet with Python interface. Run below commands to verify our installation is successful.</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span> <span class="c1"># Open Python terminal</span>
python
<span class="c1"># You should be able to import mxnet library without any issues.</span>
>>> import mxnet as mx<span class="p">;</span>
>>> <span class="nv">a</span> <span class="o">=</span> mx.nd.ones<span class="o">((</span><span class="m">2</span>, <span class="m">3</span><span class="o">))</span><span class="p">;</span>
>>> print <span class="o">((</span>a*2<span class="o">)</span>.asnumpy<span class="o">())</span><span class="p">;</span>
<span class="o">[[</span> <span class="m">2</span>. <span class="m">2</span>. <span class="m">2</span>.<span class="o">]</span>
<span class="o">[</span> <span class="m">2</span>. <span class="m">2</span>. <span class="m">2</span>.<span class="o">]]</span>
</pre></div>
</div>
<p>We actually did a small tensor computation using MXNet! You are all set with MXNet on your Windows machine.</p>
</div>
<div class="section" id="install-mxnet-for-r">
<span id="install-mxnet-for-r"></span><h2>Install MXNet for R<a class="headerlink" href="#install-mxnet-for-r" title="Permalink to this headline"></a></h2>
<p>MXNet for R is available for both CPUs and GPUs.</p>
<div class="section" id="installing-mxnet-on-a-computer-with-a-cpu-processor">
<span id="installing-mxnet-on-a-computer-with-a-cpu-processor"></span><h3>Installing MXNet on a Computer with a CPU Processor<a class="headerlink" href="#installing-mxnet-on-a-computer-with-a-cpu-processor" title="Permalink to this headline"></a></h3>
<p>To install MXNet on a computer with a CPU processor, choose from two options:</p>
<ul class="simple">
<li>Use the prebuilt binary package</li>
<li>Build the library from source code</li>
</ul>
<div class="section" id="installing-mxnet-with-the-prebuilt-binary-package">
<span id="installing-mxnet-with-the-prebuilt-binary-package"></span><h4>Installing MXNet with the Prebuilt Binary Package<a class="headerlink" href="#installing-mxnet-with-the-prebuilt-binary-package" title="Permalink to this headline"></a></h4>
<p>For Windows users, MXNet provides prebuilt binary packages.
You can install the package directly in the R console.</p>
<p>For CPU-only package:</p>
<div class="highlight-r"><div class="highlight"><pre><span></span> cran <span class="o"><-</span> <span class="kp">getOption</span><span class="p">(</span><span class="s">"repos"</span><span class="p">)</span>
cran<span class="p">[</span><span class="s">"dmlc"</span><span class="p">]</span> <span class="o"><-</span> <span class="s">"https://s3-us-west-2.amazonaws.com/apache-mxnet/R/CRAN/"</span>
<span class="kp">options</span><span class="p">(</span>repos <span class="o">=</span> cran<span class="p">)</span>
install.packages<span class="p">(</span><span class="s">"mxnet"</span><span class="p">)</span>
</pre></div>
</div>
<p>For GPU-enabled package:</p>
<div class="highlight-r"><div class="highlight"><pre><span></span> cran <span class="o"><-</span> <span class="kp">getOption</span><span class="p">(</span><span class="s">"repos"</span><span class="p">)</span>
cran<span class="p">[</span><span class="s">"dmlc"</span><span class="p">]</span> <span class="o"><-</span> <span class="s">"https://s3-us-west-2.amazonaws.com/apache-mxnet/R/CRAN/GPU"</span>
<span class="kp">options</span><span class="p">(</span>repos <span class="o">=</span> cran<span class="p">)</span>
install.packages<span class="p">(</span><span class="s">"mxnet"</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="section" id="building-mxnet-from-source-code">
<span id="building-mxnet-from-source-code"></span><h4>Building MXNet from Source Code<a class="headerlink" href="#building-mxnet-from-source-code" title="Permalink to this headline"></a></h4>
<p>Run the following commands to install the MXNet dependencies and build the MXNet R package.</p>
<div class="highlight-r"><div class="highlight"><pre><span></span> Rscript <span class="o">-</span>e <span class="s">"install.packages('devtools', repo = 'https://cloud.r-project.org/')"</span>
</pre></div>
</div>
<div class="highlight-bash"><div class="highlight"><pre><span></span> <span class="nb">cd</span> R-package
Rscript -e <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> ..
make rpkg
</pre></div>
</div>
<p><strong>Note:</strong> R-package is a folder in the MXNet source.</p>
<p>These commands create the MXNet R package as a tar.gz file that you can install as an R package. To install the R package, run the following command, use your MXNet version number:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span> R CMD INSTALL mxnet_current_r.tar.gz
</pre></div>
</div>
</div>
</div>
<div class="section" id="installing-mxnet-on-a-computer-with-a-gpu-processor">
<span id="installing-mxnet-on-a-computer-with-a-gpu-processor"></span><h3>Installing MXNet on a Computer with a GPU Processor<a class="headerlink" href="#installing-mxnet-on-a-computer-with-a-gpu-processor" title="Permalink to this headline"></a></h3>
<p>To install MXNet R package on a computer with a GPU processor, you need the following:</p>
<ul class="simple">
<li>Microsoft Visual Studio 2013</li>
<li>The NVidia CUDA Toolkit</li>
<li>The MXNet package</li>
<li>CuDNN (to provide a Deep Neural Network library)</li>
</ul>
<p>To install the required dependencies and install MXNet for R:</p>
<ol class="simple">
<li>Install the <a class="reference external" href="https://developer.nvidia.com/cuda-toolkit">CUDA Toolkit</a>. The CUDA Toolkit depends on Visual Studio. To check whether your GPU is compatible with the CUDA Toolkit and for information on installing it, see NVidia’s <a class="reference external" href="http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/">CUDA Installation Guide</a>.</li>
<li>Clone the MXNet github repo.</li>
</ol>
<div class="highlight-sh"><div class="highlight"><pre><span></span>git clone --recursive https://github.com/dmlc/mxnet
</pre></div>
</div>
<p>The <code class="docutils literal"><span class="pre">--recursive</span></code> is to clone all the submodules used by MXNet. You will be editing the <code class="docutils literal"><span class="pre">"/mxnet/R-package"</span></code> folder.</p>
<ol class="simple">
<li>Download prebuilt GPU-enabled MXNet libraries for Windows from https://github.com/yajiedesign/mxnet/releases. You will need <code class="docutils literal"><span class="pre">mxnet_x64_vc14_gpu.7z</span></code> and <code class="docutils literal"><span class="pre">prebuildbase_win10_x64_vc14.7z</span></code>.</li>
<li>Download and install <a class="reference external" href="https://developer.nvidia.com/cudnn">CuDNN</a>.</li>
<li>Create a folder called <code class="docutils literal"><span class="pre">R-package/inst/libs/x64</span></code>. MXNet supports only 64-bit operating systems, so you need the x64 folder.</li>
<li>Copy the following shared libraries (.dll files) into the <code class="docutils literal"><span class="pre">R-package/inst/libs/x64</span></code> folder:</li>
</ol>
<div class="highlight-python"><div class="highlight"><pre><span></span>cublas64_80.dll
cudart64_80.dll
cudnn64_5.dll
curand64_80.dll
libgcc_s_seh-1.dll
libgfortran-3.dll
libmxnet.dll
libmxnet.lib
libopenblas.dll
libquadmath-0.dll
nvrtc64_80.dll
</pre></div>
</div>
<p>These dlls can be found in <code class="docutils literal"><span class="pre">prebuildbase_win10_x64_vc14/3rdparty/cudart</span></code>, <code class="docutils literal"><span class="pre">prebuildbase_win10_x64_vc14/3rdparty/openblas/bin</span></code>, <code class="docutils literal"><span class="pre">mxnet_x64_vc14_gpu/build</span></code>, <code class="docutils literal"><span class="pre">mxnet_x64_vc14_gpu/lib</span></code> and the <code class="docutils literal"><span class="pre">cuDNN</span></code> downloaded from NVIDIA.</p>
<ol class="simple">
<li>Copy the header files from <code class="docutils literal"><span class="pre">dmlc</span></code>, <code class="docutils literal"><span class="pre">mxnet</span></code> and <code class="docutils literal"><span class="pre">nnvm</span></code> into <code class="docutils literal"><span class="pre">./R-package/inst/include</span></code>. It should look like:</li>
</ol>
<div class="highlight-python"><div class="highlight"><pre><span></span>./R-package/inst
└── include
├── dmlc
├── mxnet
└── nnvm
</pre></div>
</div>
<ol class="simple">
<li>Make sure that R is added to your <code class="docutils literal"><span class="pre">PATH</span></code> in the environment variables. Running the <code class="docutils literal"><span class="pre">where</span> <span class="pre">R</span></code> command at the command prompt should return the location.</li>
<li>Now open the Windows CMD and change the directory to the <code class="docutils literal"><span class="pre">mxnet</span></code> folder. Then use the following commands
to build R package:</li>
</ol>
<div class="highlight-bat"><div class="highlight"><pre><span></span><span class="k">echo</span> import(Rcpp) <span class="p">></span> R-package\NAMESPACE
<span class="k">echo</span> import(methods) <span class="p">>></span> R-package\NAMESPACE
Rscript -e <span class="s2">"install.packages('devtools', repos = 'https://cloud.r-project.org')"</span>
<span class="k">cd</span> R-package
Rscript -e <span class="s2">"library(devtools); library(methods); options(repos=c(CRAN='https://cloud.r-project.org')); install_deps(dependencies = TRUE)"</span>
<span class="k">cd</span> ..
R CMD INSTALL --no-multiarch R-package
Rscript -e <span class="s2">"require(mxnet); mxnet:::mxnet.export('R-package')"</span>
rm R-package/NAMESPACE
Rscript -e <span class="s2">"require(devtools); install_version('roxygen2', version = '5.0.1', repos = 'https://cloud.r-project.org/', quiet = TRUE)"</span>
Rscript -e <span class="s2">"require(roxygen2); roxygen2::roxygenise('R-package')"</span>
R CMD INSTALL --build --no-multiarch R-package
</pre></div>
</div>
<p><strong>Note:</strong> To maximize its portability, the MXNet library is built with the Rcpp end. Computers running Windows need <a class="reference external" href="https://en.wikipedia.org/wiki/Visual_C%2B%2B">MSVC</a> (Microsoft Visual C++) to handle CUDA toolchain compatibilities.</p>
</div>
</div>
<div class="section" id="install-the-mxnet-package-for-julia">
<span id="install-the-mxnet-package-for-julia"></span><h2>Install the MXNet Package for Julia<a class="headerlink" href="#install-the-mxnet-package-for-julia" title="Permalink to this headline"></a></h2>
<p>The MXNet package for Julia is hosted in a separate repository, MXNet.jl, which is available on <a class="reference external" href="https://github.com/dmlc/MXNet.jl">GitHub</a>. To use Julia binding it with an existing libmxnet installation, set the <code class="docutils literal"><span class="pre">MXNET_HOME</span></code> environment variable by running the following command:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span><span class="nb">export</span> <span class="nv">MXNET_HOME</span><span class="o">=</span>/<path to>/libmxnet
</pre></div>
</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 class="docutils literal"><span class="pre">libmxnet.so</span></code> file at <code class="docutils literal"><span class="pre">$MXNET_HOME/lib</span></code>. For example, if the root directory of libmxnet is <code class="docutils literal"><span class="pre">~</span></code>, you would run the following command:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span> <span class="nb">export</span> <span class="nv">MXNET_HOME</span><span class="o">=</span>/~/libmxnet
</pre></div>
</div>
<p>You might want to add this command to your <code class="docutils literal"><span class="pre">~/.bashrc</span></code> file. If you do, you can install the Julia package in the Julia console using the following command:</p>
<div class="highlight-julia"><div class="highlight"><pre><span></span> <span class="n">Pkg</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s">"MXNet"</span><span class="p">)</span>
</pre></div>
</div>
<p>For more details about installing and using MXNet with Julia, see the <a class="reference external" href="http://dmlc.ml/MXNet.jl/latest/user-guide/install/">MXNet Julia documentation</a>.</p>
</div>
<div class="section" id="installing-the-mxnet-package-for-scala">
<span id="installing-the-mxnet-package-for-scala"></span><h2>Installing the MXNet Package for Scala<a class="headerlink" href="#installing-the-mxnet-package-for-scala" title="Permalink to this headline"></a></h2>
<p>There are four ways to install the MXNet package for Scala:</p>
<ul class="simple">
<li>Use the prebuilt binary package</li>
<li>Build the library from source code</li>
</ul>
<div class="section" id="use-the-prebuilt-binary-package">
<span id="use-the-prebuilt-binary-package"></span><h3>Use the Prebuilt Binary Package<a class="headerlink" href="#use-the-prebuilt-binary-package" title="Permalink to this headline"></a></h3>
<p>For Linux and OS X (Mac) users, MXNet provides prebuilt binary packages that support computers with either GPU or CPU processors. To download and build these packages using <code class="docutils literal"><span class="pre">Maven</span></code>, change the <code class="docutils literal"><span class="pre">artifactId</span></code> in the following Maven dependency to match your architecture:</p>
<div class="highlight-HTML"><div class="highlight"><pre><span></span><span class="p"><</span><span class="nt">dependency</span><span class="p">></span>
<span class="p"><</span><span class="nt">groupId</span><span class="p">></span>ml.dmlc.mxnet<span class="p"></</span><span class="nt">groupId</span><span class="p">></span>
<span class="p"><</span><span class="nt">artifactId</span><span class="p">></span>mxnet-full_<span class="p"><</span><span class="nt">system</span> <span class="na">architecture</span><span class="p">></</span><span class="nt">artifactId</span><span class="p">></span>
<span class="p"><</span><span class="nt">version</span><span class="p">></span>0.1.1<span class="p"></</span><span class="nt">version</span><span class="p">></span>
<span class="p"></</span><span class="nt">dependency</span><span class="p">></span>
</pre></div>
</div>
<p>For example, to download and build the 64-bit CPU-only version for Linux, use:</p>
<div class="highlight-HTML"><div class="highlight"><pre><span></span><span class="p"><</span><span class="nt">dependency</span><span class="p">></span>
<span class="p"><</span><span class="nt">groupId</span><span class="p">></span>ml.dmlc.mxnet<span class="p"></</span><span class="nt">groupId</span><span class="p">></span>
<span class="p"><</span><span class="nt">artifactId</span><span class="p">></span>mxnet-full_2.10-linux-x86_64-cpu<span class="p"></</span><span class="nt">artifactId</span><span class="p">></span>
<span class="p"><</span><span class="nt">version</span><span class="p">></span>0.1.1<span class="p"></</span><span class="nt">version</span><span class="p">></span>
<span class="p"></</span><span class="nt">dependency</span><span class="p">></span>
</pre></div>
</div>
<p>If your native environment differs slightly from the assembly package, for example, if you use the openblas package instead of the atlas package, it’s better to use the mxnet-core package and put the compiled Java native library in your load path:</p>
<div class="highlight-HTML"><div class="highlight"><pre><span></span><span class="p"><</span><span class="nt">dependency</span><span class="p">></span>
<span class="p"><</span><span class="nt">groupId</span><span class="p">></span>ml.dmlc.mxnet<span class="p"></</span><span class="nt">groupId</span><span class="p">></span>
<span class="p"><</span><span class="nt">artifactId</span><span class="p">></span>mxnet-core_2.10<span class="p"></</span><span class="nt">artifactId</span><span class="p">></span>
<span class="p"><</span><span class="nt">version</span><span class="p">></span>0.1.1<span class="p"></</span><span class="nt">version</span><span class="p">></span>
<span class="p"></</span><span class="nt">dependency</span><span class="p">></span>
</pre></div>
</div>
</div>
<div class="section" id="build-the-library-from-source-code">
<span id="build-the-library-from-source-code"></span><h3>Build the Library from Source Code<a class="headerlink" href="#build-the-library-from-source-code" title="Permalink to this headline"></a></h3>
<p>Before you build MXNet for Scala from source code, you must complete <a class="reference external" href="#build-the-shared-library">Step 1. Build the Shared Library</a>. After you build the shared library, run the following command from the MXNet source root directory to build the MXNet Scala package:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span> make scalapkg
</pre></div>
</div>
<p>This command creates the JAR files for the assembly, core, and example modules. It also creates the native library in the <code class="docutils literal"><span class="pre">native/{your-architecture}/target</span> <span class="pre">directory</span></code>, which you can use to cooperate with the core module.</p>
<p>To install the MXNet Scala package into your local Maven repository, run the following command from the MXNet source root directory:</p>
<div class="highlight-bash"><div class="highlight"><pre><span></span> make scalainstall
</pre></div>
</div>
</div>
</div>
<div class="section" id="next-steps">
<span id="next-steps"></span><h2>Next Steps<a class="headerlink" href="#next-steps" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference external" href="http://mxnet.io/tutorials/index.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference external" href="http://mxnet.io/how_to/index.html">How To</a></li>
<li class="toctree-l1"><a class="reference external" href="http://mxnet.io/architecture/index.html">Architecture</a></li>
</ul>
</div>
</div>
</div>
<div class="container">
<div class="footer">
<p> © 2015-2017 DMLC. All rights reserved. </p>
</div>
</div>
</div>
<div aria-label="main navigation" class="sphinxsidebar rightsidebar" role="navigation">
<div class="sphinxsidebarwrapper">
<h3><a href="../index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Installing MXNet in Windows</a><ul>
<li><a class="reference internal" href="#build-the-shared-library">Build the Shared Library</a><ul>
<li><a class="reference internal" href="#installing-the-prebuilt-package-on-windows">Installing the Prebuilt Package on Windows</a></li>
<li><a class="reference internal" href="#building-and-installing-packages-on-windows">Building and Installing Packages on Windows</a></li>
</ul>
</li>
<li><a class="reference internal" href="#install-mxnet-for-python">Install MXNet for Python</a></li>
<li><a class="reference internal" href="#install-mxnet-for-r">Install MXNet for R</a><ul>
<li><a class="reference internal" href="#installing-mxnet-on-a-computer-with-a-cpu-processor">Installing MXNet on a Computer with a CPU Processor</a><ul>
<li><a class="reference internal" href="#installing-mxnet-with-the-prebuilt-binary-package">Installing MXNet with the Prebuilt Binary Package</a></li>
<li><a class="reference internal" href="#building-mxnet-from-source-code">Building MXNet from Source Code</a></li>
</ul>
</li>
<li><a class="reference internal" href="#installing-mxnet-on-a-computer-with-a-gpu-processor">Installing MXNet on a Computer with a GPU Processor</a></li>
</ul>
</li>
<li><a class="reference internal" href="#install-the-mxnet-package-for-julia">Install the MXNet Package for Julia</a></li>
<li><a class="reference internal" href="#installing-the-mxnet-package-for-scala">Installing the MXNet Package for Scala</a><ul>
<li><a class="reference internal" href="#use-the-prebuilt-binary-package">Use the Prebuilt Binary Package</a></li>
<li><a class="reference internal" href="#build-the-library-from-source-code">Build the Library from Source Code</a></li>
</ul>
</li>
<li><a class="reference internal" href="#next-steps">Next Steps</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div> <!-- pagename != index -->
<script crossorigin="anonymous" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="../_static/js/sidebar.js" type="text/javascript"></script>
<script src="../_static/js/search.js" type="text/javascript"></script>
<script src="../_static/js/navbar.js" type="text/javascript"></script>
<script src="../_static/js/clipboard.min.js" type="text/javascript"></script>
<script src="../_static/js/copycode.js" type="text/javascript"></script>
<script type="text/javascript">
$('body').ready(function () {
$('body').css('visibility', 'visible');
});
</script>
</div></body>
</html>