Setup the MXNet Package for Scala

The following instructions are provided for macOS and Ubuntu. Windows is not yet available.

Note: If you use IntelliJ or a similar IDE, you may want to follow the MXNet-Scala on IntelliJ tutorial instead of these instructions. Note: Currently, we only support scala 2.11


Maven

Setup Instructions

Step 1. Install dependencies:

macOS Steps

brew update
brew tap caskroom/versions
brew cask install java8
brew install opencv
brew install maven

Ubuntu Steps

These scripts will install Maven and its dependencies.

wget https://raw.githubusercontent.com/apache/mxnet/master/ci/docker/install/ubuntu_core.sh
wget https://raw.githubusercontent.com/apache/mxnet/master/ci/docker/install/ubuntu_scala.sh
chmod +x ubuntu_core.sh
chmod +x ubuntu_scala.sh
sudo ./ubuntu_core.sh
sudo ./ubuntu_scala.sh

Step 2. Run the demo MXNet-Scala project.

Go to the MXNet-Scala demo project's README and follow the directions to test the MXNet-Scala package installation.

Maven Repository

Package information can be found in the Maven Repository: https://mvnrepository.com/artifact/org.apache.mxnet

Linux CPU html <!-- https://mvnrepository.com/artifact/org.apache.mxnet/mxnet-full_2.11-linux-x86_64-cpu --> <dependency> <groupId>org.apache.mxnet</groupId> <artifactId>mxnet-full_2.11-linux-x86_64-cpu</artifactId> </dependency>

Linux GPU html <!-- https://mvnrepository.com/artifact/org.apache.mxnet/mxnet-full_2.11-linux-x86_64-gpu --> <dependency> <groupId>org.apache.mxnet</groupId> <artifactId>mxnet-full_2.11-linux-x86_64-gpu</artifactId> </dependency>

macOS CPU html <!-- https://mvnrepository.com/artifact/org.apache.mxnet/mxnet-full_2.11-osx-x86_64-cpu --> <dependency> <groupId>org.apache.mxnet</groupId> <artifactId>mxnet-full_2.11-osx-x86_64-cpu</artifactId> </dependency>

NOTE: You may specify the version you wish to use by adding the version number to the dependency block. For example, to use v1.2.0 you would add <version>1.2.0</version>. Otherwise Maven will use the latest version available.


Source

The previously mentioned setup with Maven is recommended. Otherwise, the following instructions for macOS, Ubuntu, and Windows are provided for reference only:

If you have already built mxnet from source using cmake, run make clean and then follow the appropriate guide below*

OS Step 1 Step 2
macOS Shared Library for macOS Scala Package for macOS
Ubuntu Shared Library for Ubuntu Scala Package for Ubuntu
Windows Call for Contribution

Build Scala from an Existing MXNet Installation

If you have already built MXNet from source and are looking to setup Scala from that point, you may simply run the following from the MXNet scala-package folder:

mvn install


Interpreter

To run the scala interpreter, first download and install scala 2.11.x (run scala -version to make sure you have the right version installed.**

Installing the Interpreter

Ubuntu*

sudo apt-get install scala

macOS*

brew install scala@2.11

Then, add scala to your path by following the instructions output by homebrew.

Running the Interpreter

To run the interpreter, download the appropriate mxnet jar from the maven repository or build from source following the instructions above.

Then, run scala -cp {path/to/mxnet-full_2.11-os-version.jar} to start it. If you receive a "NumberFormatException" when running the interpreter, run export TERM=xterm-color before starting the interpreter.

Documentation

Scaladocs are generated as part of the docs build pipeline. You can find them published in the Scala API section of the website or by going to the scaladocs output directly.

To build the docs yourself, follow the developer build docs instructions.


Resources