blob: 7d0c368b6ea9e5db44de7f0757578f263f6a33cf [file] [log] [blame]
<!DOCTYPE html>
<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="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/image/mxnet-icon.png" rel="icon" type="image/png"><!-- Begin Jekyll SEO tag v2.6.1 -->
<title>OSX Setup | Apache MXNet</title>
<meta name="generator" content="Jekyll v3.8.6" />
<meta property="og:title" content="OSX 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/get_started/osx_setup" />
<meta property="og:url" content="https://mxnet.apache.org/get_started/osx_setup" />
<meta property="og:site_name" content="Apache MXNet" />
<script type="application/ld+json">
{"description":"A flexible and efficient library for deep learning.","headline":"OSX Setup","@type":"WebPage","url":"https://mxnet.apache.org/get_started/osx_setup","@context":"https://schema.org"}</script>
<!-- End Jekyll SEO tag -->
<script src="https://medium-widget.pixelpoint.io/widget.js"></script>
<link rel="stylesheet" href="/versions/1.6.0/assets/main.css"><link type="application/atom+xml" rel="alternate" href="https://mxnet.apache.org/feed.xml" title="Apache MXNet" /><script>
if(!(window.doNotTrack === "1" || navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1")) {
(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 src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script src="/versions/1.6.0/assets/js/clipboard.js"></script>
<script src="/versions/1.6.0/assets/js/copycode.js"></script>
<script src="/versions/1.6.0/assets/js/globalSearch.js"></script>
<style>
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding: 12px 16px;
z-index: 1;
text-align: left;
}
.dropdown:hover .dropdown-content {
display: block;
}
</style>
</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.6.0/"><img
src="/versions/1.6.0/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="trigger">
<a class="page-link" href="/versions/1.6.0/get_started">Get Started</a>
<a class="page-link" href="/versions/1.6.0/blog">Blog</a>
<a class="page-link" href="/versions/1.6.0/features">Features</a>
<a class="page-link" href="/versions/1.6.0/ecosystem">Ecosystem</a>
<a class="page-link" href="/versions/1.6.0/api">Docs & Tutorials</a>
<a class="page-link" href="https://github.com/apache/incubator-mxnet">GitHub</a>
<div class="dropdown">
<span style="display:inline-flex;">1.6.0
<svg viewBox="0 0 32 32" class="icon icon-caret-bottom" aria-hidden="true" style="width: 18px;"><path d="M24 11.305l-7.997 11.39L8 11.305z" style="fill: white;"></path></svg>
</span>
<div class="dropdown-content">
<a href="/">master</a>
<a href="/versions/1.7.0/">1.7.0</a>
<a style="color:#FF4500;" 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">OSX Setup</h1>
<h3></h3><a style="float:left; margin-top:20px" href="/versions/1.6.0/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-from-source-on-os-x-mac">Installing MXNet from source on OS X (Mac)</h1>
<p><strong>NOTE:</strong> For pre-built MXNet with Python, please refer to the <a href="/versions/1.6.0/get_started">new install guide</a>.</p>
<p>Installing MXNet is a two-step process:</p>
<ol>
<li>Build the shared library from the MXNet C++ source code.</li>
<li>Install the supported language-specific packages for MXNet.</li>
</ol>
<p><strong>Note:</strong> To change the compilation options for your build, edit the <code>make/config.mk</code> file and submit a build request with the <code>make</code> command.</p>
<h2 id="prepare-environment-for-gpu-installation">Prepare Environment for GPU Installation</h2>
<p>This section is optional. Skip to next section if you don&#39;t plan to use GPUs. If you plan to build with GPU, you need to set up the environment for CUDA and cuDNN.</p>
<p>First, download and install <a href="https://developer.nvidia.com/cuda-toolkit">CUDA 8 toolkit</a>.</p>
<p>Once you have the CUDA Toolkit installed you will need to set up the required environment variables by adding the following to your ~/.bash_profile file:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"> <span class="nb">export </span><span class="nv">CUDA_HOME</span><span class="o">=</span>/usr/local/cuda
<span class="nb">export </span><span class="nv">DYLD_LIBRARY_PATH</span><span class="o">=</span><span class="s2">"</span><span class="nv">$CUDA_HOME</span><span class="s2">/lib:</span><span class="nv">$DYLD_LIBRARY_PATH</span><span class="s2">"</span>
<span class="nb">export </span><span class="nv">PATH</span><span class="o">=</span><span class="s2">"</span><span class="nv">$CUDA_HOME</span><span class="s2">/bin:</span><span class="nv">$PATH</span><span class="s2">"</span>
</code></pre></div>
<p>Reload ~/.bash_profile file and install dependencies:
<code>bash
. ~/.bash_profile
brew install coreutils
brew tap caskroom/cask
</code></p>
<p>Then download <a href="https://developer.nvidia.com/cudnn">cuDNN 5</a>.</p>
<p>Unzip the file and change to the cudnn root directory. Move the header files and libraries to your local CUDA Toolkit folder:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"> <span class="nv">$ </span><span class="nb">sudo mv </span>include/cudnn.h /Developer/NVIDIA/CUDA-8.0/include/
<span class="nv">$ </span><span class="nb">sudo mv </span>lib/libcudnn<span class="k">*</span> /Developer/NVIDIA/CUDA-8.0/lib
<span class="nv">$ </span><span class="nb">sudo ln</span> <span class="nt">-s</span> /Developer/NVIDIA/CUDA-8.0/lib/libcudnn<span class="k">*</span> /usr/local/cuda/lib/
</code></pre></div>
<p>Now we can start to build MXNet.</p>
<h2 id="build-the-shared-library">Build the Shared Library</h2>
<h3 id="install-mxnet-dependencies">Install MXNet dependencies</h3>
<p>Install the dependencies, required for MXNet, with the following commands:
- <a href="http://brew.sh/">Homebrew</a>
- OpenBLAS and homebrew/core (for linear algebraic operations)
- OpenCV (for computer vision operations)</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"> <span class="c"># Paste this command in Mac terminal to install Homebrew</span>
/usr/bin/ruby <span class="nt">-e</span> <span class="s2">"</span><span class="si">$(</span>curl <span class="nt">-fsSL</span> https://raw.githubusercontent.com/Homebrew/install/master/install<span class="si">)</span><span class="s2">"</span>
<span class="c"># Insert the Homebrew directory at the top of your PATH environment variable</span>
<span class="nb">export </span><span class="nv">PATH</span><span class="o">=</span>/usr/local/bin:/usr/local/sbin:<span class="nv">$PATH</span>
</code></pre></div><div class="highlight"><pre><code class="language-bash" data-lang="bash"> brew update
brew <span class="nb">install </span>pkg-config
brew <span class="nb">install </span>graphviz
brew <span class="nb">install </span>openblas
brew tap homebrew/core
brew <span class="nb">install </span>opencv@3
<span class="c"># If building with MKLDNN</span>
brew <span class="nb">install </span>llvm
<span class="c"># Get pip</span>
easy_install pip
<span class="c"># For visualization of network graphs</span>
pip <span class="nb">install </span><span class="nv">graphviz</span><span class="o">==</span>0.8.4
<span class="c"># Jupyter notebook</span>
pip <span class="nb">install </span>jupyter
</code></pre></div>
<h3 id="build-mxnet-shared-library">Build MXNet Shared Library</h3>
<p>After you have installed the dependencies, pull the MXNet source code from Git and build MXNet to produce an MXNet library called <code>libmxnet.so</code>. You can clone the repository as described in the following code block, or you may try the <a href="download">download links</a> for your desired MXNet version.</p>
<p>The file called <code>osx.mk</code> has the configuration required for building MXNet on OS X. First copy <code>make/osx.mk</code> into <code>config.mk</code>, which is used by the <code>make</code> command:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"> git clone <span class="nt">--recursive</span> https://github.com/apache/incubator-mxnet ~/mxnet
<span class="nb">cd</span> ~/mxnet
<span class="nb">cp </span>make/osx.mk ./config.mk
<span class="nb">echo</span> <span class="s2">"USE_BLAS = openblas"</span> <span class="o">&gt;&gt;</span> ./config.mk
<span class="nb">echo</span> <span class="s2">"ADD_CFLAGS += -I/usr/local/opt/openblas/include"</span> <span class="o">&gt;&gt;</span> ./config.mk
<span class="nb">echo</span> <span class="s2">"ADD_LDFLAGS += -L/usr/local/opt/openblas/lib"</span> <span class="o">&gt;&gt;</span> ./config.mk
<span class="nb">echo</span> <span class="s2">"ADD_LDFLAGS += -L/usr/local/lib/graphviz/"</span> <span class="o">&gt;&gt;</span> ./config.mk
make <span class="nt">-j</span><span class="si">$(</span>sysctl <span class="nt">-n</span> hw.ncpu<span class="si">)</span>
</code></pre></div>
<p>To build with MKLDNN</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">echo</span> <span class="s2">"CC=</span><span class="si">$(</span>brew <span class="nt">--prefix</span> llvm<span class="si">)</span><span class="s2">/bin/clang"</span> <span class="o">&gt;&gt;</span> ./config.mk
<span class="nb">echo</span> <span class="s2">"CXX=</span><span class="si">$(</span>brew <span class="nt">--prefix</span> llvm<span class="si">)</span><span class="s2">/bin/clang++"</span> <span class="o">&gt;&gt;</span> ./config.mk
<span class="nb">echo</span> <span class="s2">"USE_OPENCV=1"</span> <span class="o">&gt;&gt;</span> ./config.mk
<span class="nb">echo</span> <span class="s2">"USE_OPENMP=1"</span> <span class="o">&gt;&gt;</span> ./config.mk
<span class="nb">echo</span> <span class="s2">"USE_MKLDNN=1"</span> <span class="o">&gt;&gt;</span> ./config.mk
<span class="nb">echo</span> <span class="s2">"USE_BLAS=apple"</span> <span class="o">&gt;&gt;</span> ./config.mk
<span class="nv">LIBRARY_PATH</span><span class="o">=</span><span class="si">$(</span>brew <span class="nt">--prefix</span> llvm<span class="si">)</span>/lib/ make <span class="nt">-j</span> <span class="si">$(</span>sysctl <span class="nt">-n</span> hw.ncpu<span class="si">)</span>
</code></pre></div>
<p>If building with <code>GPU</code> support, add the following configuration to config.mk and build:
<code>bash
echo &quot;USE_CUDA = 1&quot; &gt;&gt; ./config.mk
echo &quot;USE_CUDA_PATH = /usr/local/cuda&quot; &gt;&gt; ./config.mk
echo &quot;USE_CUDNN = 1&quot; &gt;&gt; ./config.mk
make -j$(sysctl -n hw.ncpu)
</code>
<strong>Note:</strong> To change build parameters, edit <code>config.mk</code>.</p>
<p>&nbsp;</p>
<p>We have installed MXNet core library. Next, we will install MXNet interface package for the programming language of your choice:
- <a href="#install-mxnet-for-python">Python</a>
- <a href="#install-the-mxnet-package-for-r">R</a>
- <a href="#install-the-mxnet-package-for-julia">Julia</a>
- <a href="#install-the-mxnet-package-for-scala">Scala</a>
- <a href="#install-the-mxnet-package-for-perl">Perl</a></p>
<h2 id="install-mxnet-for-python">Install MXNet for Python</h2>
<p>To install the MXNet Python binding navigate to the root of the MXNet folder then run the following:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">$ </span><span class="nb">cd </span>python
<span class="nv">$ </span>pip <span class="nb">install</span> <span class="nt">-e</span> <span class="nb">.</span>
</code></pre></div>
<p>Note that the <code>-e</code> flag is optional. It is equivalent to <code>--editable</code> and means that if you edit the source files, these changes will be reflected in the package installed.</p>
<h2 id="install-the-mxnet-package-for-r">Install the MXNet Package for R</h2>
<p>You have 2 options:
1. Building MXNet with the Prebuilt Binary Package
2. Building MXNet from Source Code</p>
<h3 id="building-mxnet-with-the-prebuilt-binary-package">Building MXNet with the Prebuilt Binary Package</h3>
<p>Install OpenCV and OpenBLAS.</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash">brew <span class="nb">install </span>opencv
brew <span class="nb">install </span>openblas@0.3.1
</code></pre></div>
<p>Add a soft link to the OpenBLAS installation. This example links the 0.3.1 version:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">ln</span> <span class="nt">-sf</span> /usr/local/opt/openblas/lib/libopenblasp-r0.3.<span class="k">*</span> /usr/local/opt/openblas/lib/libopenblasp-r0.3.1.dylib
</code></pre></div>
<p>Note: packages for 3.6.x are not yet available.</p>
<p>Install 3.5.x of R from <a href="https://cran.r-project.org/bin/macosx/">CRAN</a>. The latest is <a href="https://cran.r-project.org/bin/macosx/R-3.5.3.pkg">v3.5.3</a>.</p>
<p>For OS X (Mac) users, MXNet provides a prebuilt binary package for CPUs. The prebuilt package is updated weekly. You can install the package directly in the R console using the following commands:</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>
<h3 id="building-mxnet-from-source-code">Building MXNet from Source Code</h3>
<p>Run the following commands to install the MXNet dependencies and build the MXNet R package.</p>
<div class="highlight"><pre><code class="language-r" data-lang="r"><span class="w"> </span><span class="n">Rscript</span><span class="w"> </span><span class="o">-</span><span class="n">e</span><span class="w"> </span><span class="s2">"install.packages('devtools', repo = 'https://cran.rstudio.com')"</span><span class="w">
</span></code></pre></div><div class="highlight"><pre><code class="language-bash" data-lang="bash"> <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://cran.rstudio.com')); install_deps(dependencies = TRUE)"</span>
<span class="nb">cd</span> ..
make rpkg
</code></pre></div>
<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.6.0/api/julia">MXNet Julia documentation</a>.</p>
<h2 id="install-the-mxnet-package-for-scala">Install the MXNet Package for Scala</h2>
<p>To use the MXNet-Scala package, you can acquire the Maven package as a dependency.</p>
<p>Further information is in the <a href="scala_setup">MXNet-Scala Setup Instructions</a>.</p>
<p>If you use IntelliJ or a similar IDE, you may want to follow the <a href="/versions/1.6.0/api/scala/docs/tutorials/mxnet_scala_on_intellij">MXNet-Scala on IntelliJ tutorial</a> instead.</p>
<h2 id="install-the-mxnet-package-for-perl">Install the MXNet Package for Perl</h2>
<p>Before you build MXNet for Perl from source code, you must complete <a href="#build-the-shared-library">building the shared library</a>.
After you build the shared library, run the following command from the MXNet source root directory to build the MXNet Perl package:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"> brew <span class="nb">install </span>swig
<span class="nb">sudo </span>sh <span class="nt">-c</span> <span class="s1">'curl -L https://cpanmin.us | perl - App::cpanminus'</span>
<span class="nb">sudo </span>cpanm <span class="nt">-q</span> <span class="nt">-n</span> PDL Mouse Function::Parameters Hash::Ordered PDL::CCS
<span class="nv">MXNET_HOME</span><span class="o">=</span><span class="k">${</span><span class="nv">PWD</span><span class="k">}</span>
<span class="nb">export </span><span class="nv">PERL5LIB</span><span class="o">=</span><span class="k">${</span><span class="nv">HOME</span><span class="k">}</span>/perl5/lib/perl5
<span class="nb">cd</span> <span class="k">${</span><span class="nv">MXNET_HOME</span><span class="k">}</span>/perl-package/AI-MXNetCAPI/
perl Makefile.PL <span class="nv">INSTALL_BASE</span><span class="o">=</span><span class="k">${</span><span class="nv">HOME</span><span class="k">}</span>/perl5
make
install_name_tool <span class="nt">-change</span> lib/libmxnet.so <span class="se">\</span>
<span class="k">${</span><span class="nv">MXNET_HOME</span><span class="k">}</span>/lib/libmxnet.so <span class="se">\</span>
blib/arch/auto/AI/MXNetCAPI/MXNetCAPI.bundle
make <span class="nb">install
cd</span> <span class="k">${</span><span class="nv">MXNET_HOME</span><span class="k">}</span>/perl-package/AI-NNVMCAPI/
perl Makefile.PL <span class="nv">INSTALL_BASE</span><span class="o">=</span><span class="k">${</span><span class="nv">HOME</span><span class="k">}</span>/perl5
make
install_name_tool <span class="nt">-change</span> lib/libmxnet.so <span class="se">\</span>
<span class="k">${</span><span class="nv">MXNET_HOME</span><span class="k">}</span>/lib/libmxnet.so <span class="se">\</span>
blib/arch/auto/AI/NNVMCAPI/NNVMCAPI.bundle
make <span class="nb">install
cd</span> <span class="k">${</span><span class="nv">MXNET_HOME</span><span class="k">}</span>/perl-package/AI-MXNet/
perl Makefile.PL <span class="nv">INSTALL_BASE</span><span class="o">=</span><span class="k">${</span><span class="nv">HOME</span><span class="k">}</span>/perl5
make <span class="nb">install</span>
</code></pre></div>
<h2 id="next-steps">Next Steps</h2>
<ul>
<li><a href="/versions/1.6.0/api">Tutorials</a></li>
<li><a href="/versions/1.6.0/api/faq/add_op_in_backend">How To</a></li>
<li><a href="/versions/1.6.0/api/architecture/overview">Architecture</a></li>
</ul>
</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.6.0/community/contribute.html#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/incubator-mxnet/labels/Roadmap">Github Roadmap</a></li>
<li><a href="https://discuss.mxnet.io">MXNet Discuss forum</a></li>
<li><a href="/versions/1.6.0/community/contribute.html">Contribute To MXNet</a></li>
</ul>
</div>
<div class="col-4"><ul class="social-media-list"><li><a href="https://github.com/apache/incubator-mxnet"><svg class="svg-icon"><use xlink:href="/versions/1.6.0/assets/minima-social-icons.svg#github"></use></svg> <span class="username">apache/incubator-mxnet</span></a></li><li><a href="https://www.twitter.com/apachemxnet"><svg class="svg-icon"><use xlink:href="/versions/1.6.0/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.6.0/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.6.0/assets/img/apache_incubator_logo.png" class="footer-logo col-2">
</div>
<div class="footer-bottom-warning col-9">
<p>Apache MXNet is an effort undergoing incubation at The Apache Software Foundation (ASF), <span
style="font-weight:bold">sponsored by the <i>Apache Incubator</i></span>. Incubation is required
of all newly accepted projects until a further review indicates that the infrastructure,
communications, and decision making process have stabilized in a manner consistent with other
successful ASF projects. While incubation status is not necessarily a reflection of the completeness
or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
</p><p>"Copyright © 2017-2018, The Apache Software Foundation 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>