blob: 849401b52aa1a5c6b43734f1613b4838388db9db [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>Scala on IntelliJ | Apache MXNet</title>
<meta name="generator" content="Jekyll v3.8.6" />
<meta property="og:title" content="Scala on IntelliJ" />
<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/api/scala/docs/tutorials/mxnet_scala_on_intellij" />
<meta property="og:url" content="https://mxnet.apache.org/versions/1.9.1/api/scala/docs/tutorials/mxnet_scala_on_intellij" />
<meta property="og:site_name" content="Apache MXNet" />
<script type="application/ld+json">
{"description":"A flexible and efficient library for deep learning.","headline":"Scala on IntelliJ","@type":"WebPage","url":"https://mxnet.apache.org/versions/1.9.1/api/scala/docs/tutorials/mxnet_scala_on_intellij","@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">Scala on IntelliJ</h1>
<h3></h3></header>
<div class="post-content">
<div class="wrapper">
<div class="row">
<div class="col-3 docs-side-bar">
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<div class="docs-card docs-side">
<ul>
<div class="docs-action-btn">
<a href="/versions/1.9.1/api/scala.html"> <img src="/versions/1.9.1/assets/img/compass.svg"
class="docs-logo-docs">Scala Guide <span
class="span-accented"></span></a>
</div>
<div class="docs-action-btn">
<a href="/versions/1.9.1/api/scala/docs/tutorials"> <img
src="/versions/1.9.1/assets/img/video-tutorial.svg" class="docs-logo-docs">Scala
Tutorials <span class="span-accented"></span></a>
</div>
<div class="docs-action-btn">
<a href="/versions/1.9.1/api/scala/docs/api"> <img src="/versions/1.9.1/assets/img/api.svg"
class="docs-logo-docs">Scala API Reference
<span class="span-accented"></span></a>
</div>
<!-- Let's show the list of tutorials -->
<br>
<h3>Tutorials</h3>
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/char_lstm">Char-LSTM</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/infer">Infer API</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/io">Data Loading API</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/kvstore">KVStore API</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/mnist">MNIST Example</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/model">Model API *Deprecated*</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/module">Module API</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/mxnet_scala_on_intellij">Scala on IntelliJ</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/ndarray">NDArray</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/symbol">Symbol API</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<li><a href="/versions/1.9.1/api/scala/docs/tutorials/symbol_in_pictures">Symbol in Pictures</a></li>
<!-- page-category -->
<!-- resource-p -->
<!-- page-category -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- page -->
</ul>
</div>
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- resource-p -->
<!-- page -->
</ul>
</div>
<div class="col-9">
<!--- 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="run-mxnet-scala-examples-using-the-intellij-ide-macos">Run MXNet Scala Examples Using the IntelliJ IDE (macOS)</h1>
<p>This tutorial guides you through setting up a Scala project in the IntelliJ IDE on macOS, and shows how to use the MXNet package from your application.</p>
<h2 id="prerequisites">Prerequisites:</h2>
<p>To use this tutorial you need the following software:</p>
<ul>
<li><a href="https:///www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8 JDK</a></li>
<li><a href="https://maven.apache.org/install.html">Maven</a></li>
<li><a href="https://www.scala-lang.org/download/">Scala</a> - comes with IntelliJ, so you don&#39;t need to install it separately</li>
<li><a href="https://opencv.org/">OpenCV</a></li>
<li><a href="https://www.jetbrains.com/idea/">IntelliJ IDE</a></li>
</ul>
<p>The following instructions are provided for macOS and Ubuntu 16.04. Windows support is not yet available.</p>
<h3 id="mac-prerequisites-setup">Mac Prerequisites Setup</h3>
<p><strong>Step 1.</strong> Install brew:
<code>
/usr/bin/ruby -e &quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&quot;
</code></p>
<p>Or, if you already have brew, update it:
<code>
brew update
</code></p>
<p><strong>Step 2.</strong> Install Java 8 JDK:
<code>
brew tap caskroom/versions
brew cask install java8
</code></p>
<p><strong>Step 3.</strong> Install maven:
<code>
brew install maven
</code></p>
<p><strong>Step 4.</strong> Install OpenCV:
<code>
brew install opencv
</code></p>
<h3 id="ubuntu-prerequisites-setup">Ubuntu Prerequisites Setup</h3>
<p><strong>Step 1.</strong>: Download the MXNet source.</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash">git clone <span class="nt">--recursive</span> https://github.com/apache/mxnet.git mxnet
<span class="nb">cd </span>mxnet
</code></pre></div>
<p><strong>Step 2.</strong>: Run the dependency installation scripts.</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nb">sudo</span> ./ci/docker/install/ubuntu_core.sh
<span class="nb">sudo</span> ./ci/docker/install/ubuntu_scala.sh
</code></pre></div>
<h2 id="access-the-maven-package-for-mxnet">Access the Maven Package for MXNet</h2>
<p>To view the latest Maven packages, you can check the Maven repository for the <code>org.apache.mxnet</code> packages.</p>
<ul>
<li> <a href="https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.mxnet%22">MXNet Maven Packages</a></li>
</ul>
<p>In the tutorial below, you will install the latest package at the time of this writing. You may find a different artifact for your specific operating system, or a newer one by reviewing what is currently available in the Maven repo.</p>
<p>The configuration you should update is in the pom file&#39;s dependency for MXNet:</p>
<div class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.mxnet<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>mxnet-full_2.11-osx-x86_64-cpu<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
</code></pre></div>
<h2 id="set-up-your-project">Set Up Your Project</h2>
<p>Now that you&#39;ve installed your prerequisites, you are ready to setup IntelliJ and your first MXNet-Scala project!</p>
<p><strong>Step 1.</strong> Install and setup IntelliJ:
- When prompted for what to features to enable during IntelliJ&#39;s first startup, make sure you select Scala.</p>
<div class="highlight"><pre><code class="language-" data-lang="">- Install the plugin for IntelliJ IDE by following these steps:
</code></pre></div>
<p>On <strong>Menu</strong>, choose <strong>Preferences</strong>, choose <strong>Plugins</strong>, type <strong>Scala</strong>, and then choose <strong>Install</strong>. For further plugin help and instructions, refer to <a href="https://www.jetbrains.com/help/idea/scala.html">Scala plugin setup for IDE</a>.</p>
<p><strong>Step 2.</strong> Create a new project:</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-welcome.png" alt="intellij welcome"></p>
<p>From the IntelliJ welcome screen, select &quot;Create New Project&quot;.</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-type.png" alt="maven project type"></p>
<p>Choose the Maven project type.</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-type-archetype-check.png" alt="maven project type - archetype"></p>
<p>Select the checkbox for <code>Create from archetype</code>.</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-type-archetype-add.png" alt="maven project type - archetype"></p>
<p>Click the <code>Add Archetype</code> button, and add the following information to each field.</p>
<p><strong>GroupId</strong>
<code>
net.alchim31.maven
</code>
<strong>ArtifactId</strong>
<code>
scala-archetype-simple
</code>
<strong>Version</strong>
<code>
1.6
</code>
<strong>Repository</strong>
<code>
https://mvnrepository.com/artifact/net.alchim31.maven/scala-archetype-simple
</code></p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-type-archetype-add-confirm.png" alt="maven project type - archetype"></p>
<p>Click <code>Ok</code> to add the archetype, make sure it is selected from the list, and then click <code>Next</code>.</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-metadata.png" alt="project metadata"></p>
<p>Set the project&#39;s metadata. For this tutorial, use the following:</p>
<p><strong>GroupId</strong>
<code>
mxnet
</code>
<strong>ArtifactId</strong>
<code>
scalaMXNet
</code>
<strong>Version</strong>
<code>
1.0-SNAPSHOT
</code></p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-properties.png" alt="project properties"></p>
<p>Review the project&#39;s properties. The settings can be left as their default.</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-location.png" alt="project location"></p>
<p>Set the project&#39;s location. The rest of the settings can be left as their default.</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-1.png" alt="project 1"></p>
<p>After clicking Finish, you will be presented with the project&#39;s first view.
The project&#39;s <code>pom.xml</code> will be open for editing.</p>
<p><strong>Step 3.</strong> Replace the pom file&#39;s content with the following code. Changes include:
- Project properties: <code>scala.version</code>, upgrading from <code>2.11.5</code> to <code>2.11.8</code>
- Project dependencies: adding the MXNet package from Maven and updating the dependency for JUnitRunner (specs2-junit_) and logging
- Build options: removing &#39;-make:transitive&#39;</p>
<div class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt">&lt;project</span> <span class="na">xmlns=</span><span class="s">"http://maven.apache.org/POM/4.0.0"</span> <span class="na">xmlns:xsi=</span><span class="s">"http://www.w3.org/2001/XMLSchema-instance"</span> <span class="na">xsi:schemaLocation=</span><span class="s">"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"</span><span class="nt">&gt;</span>
<span class="nt">&lt;modelVersion&gt;</span>4.0.0<span class="nt">&lt;/modelVersion&gt;</span>
<span class="nt">&lt;groupId&gt;</span>mxnet<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>scalaMXNet<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.0-SNAPSHOT<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;name&gt;</span>${project.artifactId}<span class="nt">&lt;/name&gt;</span>
<span class="nt">&lt;description&gt;</span>My wonderful scala app<span class="nt">&lt;/description&gt;</span>
<span class="nt">&lt;inceptionYear&gt;</span>2018<span class="nt">&lt;/inceptionYear&gt;</span>
<span class="nt">&lt;licenses&gt;</span>
<span class="nt">&lt;license&gt;</span>
<span class="nt">&lt;name&gt;</span>Apache2<span class="nt">&lt;/name&gt;</span>
<span class="nt">&lt;url&gt;</span>https://mxnet.apache.org<span class="nt">&lt;/url&gt;</span>
<span class="nt">&lt;distribution&gt;</span>repo<span class="nt">&lt;/distribution&gt;</span>
<span class="nt">&lt;/license&gt;</span>
<span class="nt">&lt;/licenses&gt;</span>
<span class="nt">&lt;profiles&gt;</span>
<span class="nt">&lt;profile&gt;</span>
<span class="nt">&lt;id&gt;</span>osx-x86_64-cpu<span class="nt">&lt;/id&gt;</span>
<span class="nt">&lt;properties&gt;</span>
<span class="nt">&lt;platform&gt;</span>osx-x86_64-cpu<span class="nt">&lt;/platform&gt;</span>
<span class="nt">&lt;/properties&gt;</span>
<span class="nt">&lt;/profile&gt;</span>
<span class="nt">&lt;profile&gt;</span>
<span class="nt">&lt;id&gt;</span>linux-x86_64-cpu<span class="nt">&lt;/id&gt;</span>
<span class="nt">&lt;properties&gt;</span>
<span class="nt">&lt;platform&gt;</span>linux-x86_64-cpu<span class="nt">&lt;/platform&gt;</span>
<span class="nt">&lt;/properties&gt;</span>
<span class="nt">&lt;/profile&gt;</span>
<span class="nt">&lt;profile&gt;</span>
<span class="nt">&lt;id&gt;</span>linux-x86_64-gpu<span class="nt">&lt;/id&gt;</span>
<span class="nt">&lt;properties&gt;</span>
<span class="nt">&lt;platform&gt;</span>linux-x86_64-gpu<span class="nt">&lt;/platform&gt;</span>
<span class="nt">&lt;/properties&gt;</span>
<span class="nt">&lt;/profile&gt;</span>
<span class="nt">&lt;/profiles&gt;</span>
<span class="nt">&lt;properties&gt;</span>
<span class="nt">&lt;maven</span><span class="err">.</span><span class="na">compiler</span><span class="err">.</span><span class="na">source</span><span class="nt">&gt;</span>1.6<span class="nt">&lt;/maven</span><span class="err">.compiler.source</span><span class="nt">&gt;</span>
<span class="nt">&lt;maven</span><span class="err">.</span><span class="na">compiler</span><span class="err">.</span><span class="na">target</span><span class="nt">&gt;</span>1.6<span class="nt">&lt;/maven</span><span class="err">.compiler.target</span><span class="nt">&gt;</span>
<span class="nt">&lt;encoding&gt;</span>UTF-8<span class="nt">&lt;/encoding&gt;</span>
<span class="nt">&lt;scala</span><span class="err">.</span><span class="na">version</span><span class="nt">&gt;</span>2.11.8<span class="nt">&lt;/scala</span><span class="err">.version</span><span class="nt">&gt;</span>
<span class="nt">&lt;scala</span><span class="err">.</span><span class="na">compat</span><span class="err">.</span><span class="na">version</span><span class="nt">&gt;</span>2.11<span class="nt">&lt;/scala</span><span class="err">.compat.version</span><span class="nt">&gt;</span>
<span class="nt">&lt;slf4jVersion&gt;</span>1.7.7<span class="nt">&lt;/slf4jVersion&gt;</span>
<span class="nt">&lt;platform&gt;</span>osx-x86_64-cpu<span class="nt">&lt;/platform&gt;</span>
<span class="nt">&lt;/properties&gt;</span>
<span class="nt">&lt;dependencies&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.mxnet<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>mxnet-full_2.11-osx-x86_64-cpu<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>[1.4.0,)<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.scala-lang<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>scala-library<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>${scala.version}<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>args4j<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>args4j<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>2.0.29<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="c">&lt;!-- Test --&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>junit<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>junit<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>4.11<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.specs2<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>specs2-junit_${scala.compat.version}<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>2.4.16<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.scalatest<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>scalatest_${scala.compat.version}<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>2.2.4<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="c">&lt;!-- Logging --&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.slf4j<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>slf4j-api<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>${slf4jVersion}<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.slf4j<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>slf4j-log4j12<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>${slf4jVersion}<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;/dependencies&gt;</span>
<span class="nt">&lt;build&gt;</span>
<span class="nt">&lt;sourceDirectory&gt;</span>src/main/scala<span class="nt">&lt;/sourceDirectory&gt;</span>
<span class="nt">&lt;testSourceDirectory&gt;</span>src/test/scala<span class="nt">&lt;/testSourceDirectory&gt;</span>
<span class="nt">&lt;plugins&gt;</span>
<span class="nt">&lt;plugin&gt;</span>
<span class="c">&lt;!-- see http://davidb.github.com/scala-maven-plugin --&gt;</span>
<span class="nt">&lt;groupId&gt;</span>net.alchim31.maven<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>scala-maven-plugin<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>3.2.0<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;executions&gt;</span>
<span class="nt">&lt;execution&gt;</span>
<span class="nt">&lt;goals&gt;</span>
<span class="nt">&lt;goal&gt;</span>compile<span class="nt">&lt;/goal&gt;</span>
<span class="nt">&lt;goal&gt;</span>testCompile<span class="nt">&lt;/goal&gt;</span>
<span class="nt">&lt;/goals&gt;</span>
<span class="nt">&lt;configuration&gt;</span>
<span class="nt">&lt;args&gt;</span>
<span class="c">&lt;!--arg&gt;-make:transitive&lt;/arg--&gt;</span>
<span class="nt">&lt;arg&gt;</span>-dependencyfile<span class="nt">&lt;/arg&gt;</span>
<span class="nt">&lt;arg&gt;</span>${project.build.directory}/.scala_dependencies<span class="nt">&lt;/arg&gt;</span>
<span class="nt">&lt;/args&gt;</span>
<span class="nt">&lt;/configuration&gt;</span>
<span class="nt">&lt;/execution&gt;</span>
<span class="nt">&lt;/executions&gt;</span>
<span class="nt">&lt;/plugin&gt;</span>
<span class="nt">&lt;plugin&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.maven.plugins<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>maven-surefire-plugin<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>2.18.1<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;configuration&gt;</span>
<span class="nt">&lt;useFile&gt;</span>false<span class="nt">&lt;/useFile&gt;</span>
<span class="nt">&lt;disableXmlReport&gt;</span>true<span class="nt">&lt;/disableXmlReport&gt;</span>
<span class="c">&lt;!-- If you have classpath issue like NoDefClassError,... --&gt;</span>
<span class="c">&lt;!-- useManifestOnlyJar&gt;false&lt;/useManifestOnlyJar --&gt;</span>
<span class="nt">&lt;includes&gt;</span>
<span class="nt">&lt;include&gt;</span>**/*Test.*<span class="nt">&lt;/include&gt;</span>
<span class="nt">&lt;include&gt;</span>**/*Suite.*<span class="nt">&lt;/include&gt;</span>
<span class="nt">&lt;/includes&gt;</span>
<span class="nt">&lt;/configuration&gt;</span>
<span class="nt">&lt;/plugin&gt;</span>
<span class="nt">&lt;/plugins&gt;</span>
<span class="nt">&lt;/build&gt;</span>
<span class="nt">&lt;/project&gt;</span>
</code></pre></div>
<p><strong>Step 4.</strong> Import dependencies with Maven:</p>
<ul>
<li>Note the prompt in the lower right corner that states &quot;Maven projects need to be imported&quot;. If this is not visible, click on the little greed balloon that appears in the lower right corner.</li>
</ul>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-import-changes.gif" alt="import dependencies"></p>
<p>Click &quot;Import Changes&quot; in this prompt.</p>
<p><strong>Step 5.</strong> Setup log4j configuration</p>
<p>Create a folder <code>src/main/resources</code> and a new file in it <code>src/main/resources/log4j.properties</code> with the contents:</p>
<div class="highlight"><pre><code class="language-" data-lang="">log4j.rootLogger = info, stdout
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
</code></pre></div>
<p><strong>Step 6.</strong> Build the project:
- To build the project, from the menu choose Build, and then choose Build Project.
* Note that if you run into <code>bad option: &#39;-make:transitive&#39;</code>, please remove <code>&lt;arg&gt;-make:transitive&lt;/arg&gt;</code> from <code>pom.xml</code> and <code>&lt;parameter value=&quot;-make:transitive&quot; /&gt;</code> from <code>.idea/scala_compiler</code>.</p>
<p><strong>Step 7.</strong> Run the Hello World App:</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-hello-world-app.png" alt="hello world app"></p>
<p>Navigate to the App included with the project.</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-hello-world-run.png" alt="run hello world"></p>
<p>Run the App by clicking the green arrow, and verify the Hello World output</p>
<p><strong>Step 8.</strong> Run Sample MXNet Code in the App:</p>
<p><img src="https://raw.githubusercontent.com/dmlc/web-data/master/mxnet/scala/intellij-project-hello-mxnet.png" alt="run hello mxnet"></p>
<p>Paste the following code in the App, overwriting the original hello world code. Then click the green arrow to run it.</p>
<div class="highlight"><pre><code class="language-scala" data-lang="scala"><span class="k">object</span> <span class="nc">App</span> <span class="k">extends</span> <span class="nc">App</span> <span class="o">{</span>
<span class="k">import</span> <span class="nn">org.apache.mxnet._</span>
<span class="k">private</span> <span class="k">val</span> <span class="nv">a</span> <span class="k">=</span> <span class="nv">NDArray</span><span class="o">.</span><span class="py">ones</span><span class="o">(</span><span class="mi">2</span><span class="o">,</span> <span class="mi">3</span><span class="o">)</span>
<span class="nf">println</span><span class="o">(</span><span class="s">"Testing MXNet by generating an 2x3 NDArray..."</span><span class="o">)</span>
<span class="nf">println</span><span class="o">(</span><span class="s">"Shape is: "</span><span class="o">)</span>
<span class="nf">println</span><span class="o">(</span><span class="nv">a</span><span class="o">.</span><span class="py">shape</span><span class="o">)</span>
<span class="o">}</span>
</code></pre></div>
<p>The result should be this output:</p>
<div class="highlight"><pre><code class="language-" data-lang="">Testing MXNet by generating an 2x3 NDArray...
Shape is:
(2,3)
Process finished with exit code 0
</code></pre></div>
<h3 id="troubleshooting">Troubleshooting</h3>
<p>If you get an error, check the dependencies at the beginning of this tutorial. For example, you might see the following in the middle of the error messages, where <code>x.x</code> would the version it&#39;s looking for.</p>
<div class="highlight"><pre><code class="language-" data-lang="">...
Library not loaded: /usr/local/opt/opencv/lib/libopencv_calib3d.x.x.dylib
...
</code></pre></div>
<p>This can be resolved be installing OpenCV.</p>
<h3 id="using-mxnet-from-source">Using MXNet from source</h3>
<p>If you chose to &quot;Build from Source&quot; when following the <a href="/versions/1.9.1/get_started">install instructions</a> (or the detailed <a href="/versions/1.9.1/get_started/build_from_source.html#installing-mxnet-language-bindings">build from source instructions</a>), you can use your custom build instead of the build from maven. Use your build by editing the <code>pom.xml</code> file and replacing the <code>org.apache.mxnet</code> dependency with the following:</p>
<div class="highlight"><pre><code class="language-" data-lang=""> &lt;groupId&gt;org.apache.mxnet&lt;/groupId&gt;
&lt;artifactId&gt;mxnet-core_${scala.version}-${platform}-sources&lt;/artifactId&gt;
&lt;scope&gt;system&lt;/scope&gt;
&lt;systemPath&gt;/PathToMXNetSource/mxnet/scala-package/assembly/osx-x86_64-cpu/target/mxnet-full_${scala.version}-osx-x86_64-cpu-1.9.1-SNAPSHOT-sources.jar&lt;/systemPath&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.apache.mxnet&lt;/groupId&gt;
&lt;artifactId&gt;mxnet-full_${scala.version}-${platform}&lt;/artifactId&gt;
&lt;scope&gt;system&lt;/scope&gt;
&lt;systemPath&gt;/PathToMXNetSource/mxnet/scala-package/assembly/osx-x86_64-cpu/target/mxnet-full_${scala.version}-osx-x86_64-cpu-1.9.1-SNAPSHOT.jar&lt;/systemPath&gt;
&lt;/dependency&gt;
</code></pre></div>
<p>Note that you have to edit both of the <code>systemPath</code> properties to point to your generated jar files.</p>
<h3 id="command-line-build-option">Command Line Build Option</h3>
<ul>
<li>You can also compile the project by using the following command at the command line. Change directories to this project&#39;s folder then run the following:</li>
</ul>
<div class="highlight"><pre><code class="language-bash" data-lang="bash">mvn clean package <span class="nt">-e</span> <span class="nt">-P</span> osx-x86_64-cpu
</code></pre></div>
<p>The <code>-P &lt;platform&gt;</code> parameter tells the build which platform to target.
The <code>-e</code> will give you more details if the build fails. If it succeeds, you should see a lot of info and some warning messages, followed by:</p>
<div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="o">[</span>INFO] <span class="nt">------------------------------------------------------------------------</span>
<span class="o">[</span>INFO] BUILD SUCCESS
<span class="o">[</span>INFO] <span class="nt">------------------------------------------------------------------------</span>
<span class="o">[</span>INFO] Total <span class="nb">time</span>: 1.186 s
<span class="o">[</span>INFO] Finished at: 2018-03-06T15:17:36-08:00
<span class="o">[</span>INFO] Final Memory: 11M/155M
<span class="o">[</span>INFO] <span class="nt">------------------------------------------------------------------------</span>
</code></pre></div>
<p>The build generates a new jar file in the <code>target</code> folder called <code>scalaInference-1.0-SNAPSHOT.jar</code>.</p>
<h2 id="next-steps">Next Steps</h2>
<p>For more information about MXNet Scala resources, see the following:</p>
<ul>
<li><a href="/versions/1.9.1/api/scala">Scala API</a></li>
<li><a href="https://github.com/apache/mxnet/tree/master/scala-package/examples/">Scala Examples</a></li>
<li><a href="/versions/1.9.1/api">MXNet Tutorials Index</a></li>
</ul>
</div>
</div>
</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>