Table of Contents |
---|
MXNet-Scala is a Scala binding for the MXNet Deep Learning framework. It currently supports Training and Inference
MXNet-Scala Modules
Module | Package Generated | Dependencies | Description |
---|---|---|---|
|
|
| |
2. core | mxnet-core_2.11 |
| |
3. macros | mxnet-macros_2.11 |
| |
4. init | mxnet-init_2.11 |
...
5. init-native |
| mxnet-init_2.11 | |
6. native |
| mxnet-core_2.11 | |
7. infer | mxnet-infer_2.11 |
| |
8. spark | mxnet-spark_2.11 |
| |
9. examples | mxnet-examples_2.11 |
|
Publishing Scala Packages to Nexus/Maven
Currently 3 Packages from the above generated are published to Maven. `mxnet_full_2.11-{platform}`.
The following flags are used to build the MXNet Backend(derived from mxnet pip compiler flags)
...
MXNet-Scala Linux CPU
...
USE_CUDNN
...
Build MXNet backend on OSX
- Clone MXNet repo and checkout the release branch
Code Block | ||||
---|---|---|---|---|
| ||||
https://github.com/apache/incubator-mxnet.git ~/$MXNET_LOC
git fetch all
git checkout -b $RELEASE_BRANCH
cp ~/$MXNET_LOC/make/config.mk ~/$MXNET_LOC |
2. Install Lapack
Code Block | ||
---|---|---|
| ||
brew install lapack |
setup all the flags
Code Block |
---|
echo "ADD_CFLAGS += -I/usr/local/opt/lapack/include" >> ~/$MXNET_LOC/config.mk
echo "ADD_LDFLAGS += -L/usr/local/opt/lapack/lib" >> ~/$MXNET_LOC/config.mk
echo "USE_OPENMP = 0" >> ~/$MXNET_LOC/config.mk |
Build MXNet backend on Linux-CPU
To build for linux-cpu platform, we use the AWS Deep Learning Base AMI that comes built with all the necessary
libraries such as opencv/cudnn etc,.
Install LAPACK/BLAS
Code Block | ||
---|---|---|
| ||
sudo apt-get install -y libopenblas-dev |
setup all the flags
Code Block |
---|
echo "USE_SIGNAL_HANDLER = 1" >> ~/$MXNET_LOC/config.mk
echo "USE_BLAS = openblas" >> ~/$MXNET_LOC/config.mk
echo "USE_DIST_KVSTORE = 1" >> ~/$MXNET_LOC/config.mk
echo "USE_S3 = 1" >> ~/$MXNET_LOC/config.mk |
Publishing to Maven
Code Block | ||
---|---|---|
| ||
export GPG_TTY=$(tty)
make scalapkg
make scalarelease-dryrun |
...