TL;DR
-
MXNet Tutorials Building neural networks imperatively with gluon部分をさらうためのDockerfile + 起動法の紹介
- 公式のインストール法 + Jupyter環境
- 2017/7/17時点でさらうための方法、今後gluonがリリースに取り込まれた際は公式Dockerイメージの方が適するハズなので要注意
- Python3を利用、Beginer部分はコレで大丈夫でした。
【2017/07/26追記】
上記gluonを用いたチュートリアルは公式より一旦下げられ、http://thestraightdope.mxnet.io でホストされる模様です。
Dockerfile
FROM ubuntu:16.04
RUN groupadd mxnet && useradd -m -g mxnet mxnet
RUN apt-get update && apt-get install -y\
build-essential\
git\
libopenblas-dev\
liblapack-dev\
libopencv-dev\
python3-dev\
python3-setuptools\
python3-numpy\
python3-pip\
graphviz
# MXNetインストール
RUN git clone --recursive https://github.com/dmlc/mxnet
WORKDIR mxnet
RUN make -j $(nproc) USE_OPENCV=1 USE_BLAS=openblas
WORKDIR /mxnet/python
RUN pip3 install --upgrade pip
RUN pip3 install -e .
RUN pip3 install \
jupyter \
matplotlib \
graphviz
# Python3環境実行
RUN mkdir /home/mxnet/mxnet-tutorials
RUN chown -R mxnet:mxnet /home/mxnet
WORKDIR /home/mxnet/mxnet-tutorials
EXPOSE 8888
USER mxnet
CMD ["/usr/local/bin/jupyter", "notebook",\
"--notebook-dir=/home/mxnet/mxnet-tutorials",\
"--ip='*'",\
"--port=8888",\
"--no-browser"]
起動手順
- docker環境を事前に構築(dockerサイトなど参照)
- Dockerfileをカレントディレクトリに配置
- ビルド
docker build -t mxnet-tutorials .
- 起動
docker run\ -v $(pwd):/home/mxnet/mxnet-tutorials\ -p 8888:8888\ --rm\ mxnet-tutorials
- 表示される
localhost:8888/?token=...
へブラウザへアクセスするとJupyterが起動している(ハズ)
Why
2017/7/17時点でリリースされている0.10.0では、チュートリアルが実行できなかっため構築(公式Dockerイメージもv0.10.0)
gluonとは
Gluon package is a high-level interface for MXNet designed to be easy to use while keeping most of the flexibility of low level API. Gluon supports both imperative and symbolic programming, making it easy to train complex models imperatively in Python and then deploy with symbolic graph in C++ and Scala.
高レベルインターフェースを提供するパッケージ(まだ実験的なため、変更の可能性ありとのこと…ならチュートリアルトップに載せなくても)
このチュートリアルでは、PyTorchのような実行時に勾配を自動で計算してくれるパッケージ(autograd
)も利用するのですが、これも0.10.0では対応していない(というのは語弊があり、深い位置に配置されている模様…)ので、2017/7/17現在はmasterブランチからビルドする必要があるようです。
チュートリアルもtypoがちょこちょこあるなど荒削りで、変更されていく可能性は高そうです。試してみる方はご注意ください。