MinPy installation guide¶
There are generally three steps to follow:
- Install MXNet
- Setup Python package and environment
- Install MinPy
The full guide of MXNet is here to build and install MXNet. Below, we give the common steps for Linux and OSX.
With CUDA 8.0 and Cudnn 5.0 installed, install the other dependencies and build mxnet by
sudo apt-get update sudo apt-get install -y build-essential git libatlas-base-dev libopencv-dev git clone --recursive -b engine https://github.com/dmlc/mxnet cd mxnet; cp make/config.mk . echo "USE_CUDA=1" >>config.mk echo "USE_CUDA_PATH=/usr/local/cuda" >>config.mk echo "USE_CUDNN=1" >>config.mk make -j$(nproc)
Do the following instead.
brew update brew tap homebrew/science brew info opencv brew install opencv brew info openblas brew install openblas git clone --recursive -b engine https://github.com/dmlc/mxnet cd mxnet; cp make/osx.mk ./config.mk; make -j$(sysctl -n hw.ncpu)
It turns out that installing
openblas is necessary, in addition to modify the makefile, to fix one of the build issues.
Setup Python and its environment¶
Refer to MXNet installation document for Python package installation.. One of the most common problem a beginner runs into is not setting the environment variable to tell Python where to find the library. Suppose you have installed
mxnet under your home directory and is running bash shell. Put the following line in your
pip install virtualenv virtualenvwrapper
Add two lines to your shell startup file (.bashrc, .profile, etc.) to set the location where the virtual environments should live and the location of the script installed with this package:
export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh
After editing it, reload the startup file (e.g., run source ~/.bashrc). Then config the virtual python environment:
mkvirtualenv minpy_dev pip install numpy pyyaml python ~/mxnet/python/setup.py install
~/mxnet/python should be replaced by the path of the
engine branch MXNet.
To start the virtual envirment:
Minpy prototypes a pure Numpy interface. To make the interface consistent, please make sure Numpy version >= 1.10.0 before install Minpy.
MinPy releases are uploaded to PyPI. Just use
pip to install after you install MXNet.
pip install minpy
Don’t forget to upgrade once in a while to use the latest features!
Currently MinPy is going through rapid development (but we do our best
to keep stable APIs). So it is adviced to do an editable
installation. Change directory into where the Python package lies. If
you are in a virtual environment, run
python setup.py develop. If
you are using your system Python packages, then run
python setup.py develop --user.
This will ensure a symbolic link to the project, so
you do not have to install a second time when you update this
Docker images for MinPy¶
Optionally, you may build MinPy/MXNet using docker.
Build Docker images using the
Dockerfile found in the
Just run the following command and it will build MXNet with CUDA support and MinPy in a row:
docker build -t dmlc/minpy ./docker/
Start a container¶
To launch the docker, you need to install nvidia-docker first.
nvidia-docker to start the container with GPU access. MinPy is
ready to use now!
$ nvidia-docker run -ti dmlc/minpy python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import minpy as np >>> ...
Train a model on MNIST to check everything works¶
nvidia-docker run dmlc/minpy python dmlc/minpy/examples/basics/logistic.py --gpus 0