This section will cover the installation of MXNet in R.
The MXNet package is a lightweight deep learning architecture supporting multiple programming languages such as R, Python, and Julia. From a programming perspective, it is a combination of symbolic and imperative programming with support for CPU and GPU.
The CPU-based MXNet in R can be installed using the prebuilt binary package or the source code where the libraries need to be built. In Windows/mac, prebuilt binary packages can be download and installed directly from the R console. MXNet requires the R version to be 3.2.0 and higher. The installation requires the drat
package from CRAN. The drat
package helps maintain R repositories and can be installed using the install.packages()
command.
To install MXNet on Linux (13.10 or later), the following are some dependencies:
- Git (to get the code from GitHub)
- libatlas-base-dev (to perform linear algebraic operations)
- libopencv-dev (to perform computer vision operations)
To install MXNet with a GPU processor, the following are some dependencies:
- Microsoft Visual Studio 2013
- The NVIDIA CUDA Toolkit
- The MXNet package
- cuDNN (to provide a deep neural network library)
Another quick way to install mxnet
with all the dependencies is to use the prebuilt Docker image from the chstone
repository. The chstone
/mxnet-gpu
Docker image will be installed using the following tools:
- MXNet for R and Python
- Ubuntu 16.04
- CUDA (Optional for GPU)
- cuDNN (Optional for GPU)
- The following R command installs MXNet using prebuilt binary packages, and is hassle-free. The
drat
package is then used to add thedlmc
repository from git followed by themxnet
installation:
install.packages("drat", repos="https://cran.rstudio.com") drat:::addRepo("dmlc") install.packages("mxnet")
2. The following code helps install MXNet in Ubuntu (V16.04). The first two lines are used to install dependencies and the remaining lines are used to install MXNet, subject to the satisfaction of all the dependencies:
sudo apt-get update sudo apt-get install -y build-essential git libatlas-base-dev libopencv-dev git clone https://github.com/dmlc/mxnet.git ~/mxnet --recursive cd ~/mxnet cp make/config.mk . echo "USE_BLAS=openblas" >>config.mk make -j$(nproc)
3. If MXNet is to be built for GPU, the following config
needs to be updated before the make
command:
echo "USE_CUDA=1" >>config.mk echo "USE_CUDA_PATH=/usr/local/cuda" >>config.mk echo "USE_CUDNN=1" >>config.mk
Note
A detailed installation of MXNet for other operating systems can be found at http://mxnet.io/get_started/setup.html.
4. The following command is used to install MXNet (GPU-based) using Docker with all the dependencies:
docker pull chstone/mxnet-gpu