LoginSignup
4
8

More than 5 years have passed since last update.

サクッと始める MXNet チュートリアル

Last updated at Posted at 2017-01-19

MXNet、Anaconda などで簡単にインストールできないのが地味にハードルが高い。コンパイルに必要なライブラリもまあまあ複雑。手元の環境を汚したくないとなるとやはり Docker。

チュートリアルの進め方

1. Docker コンテナの起動

(本家の Docker イメージ はちょっと古い & Jupyter が入っていなかったので作りました。自分でイメージをビルドしたい方はこちらを参考にどうぞ)

コマンド
docker run --rm -it -p 80:8888 pottava/mxnet:0.9 sh

2. コンテナ内で Jupyter を起動

以下、コンテナの中でこのチュートリアルを進めるのに必要なライブラリの追加、Jupyter の起動などをしていきます。

コマンド
# チュートリアルを取得
apt-get update
apt-get install -y git
git clone https://github.com/dmlc/mxnet-notebooks.git

# チュートリアルに必要なパッケージの追加
pip install matplotlib

# Jupyter を起動
cd mxnet-notebooks/
jupyter notebook --no-browser --port=8888 --ip=0.0.0.0
結果(例)
[I 06:12:34.720 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[I 06:12:34.735 NotebookApp] Serving notebooks from local directory: /root/notebook/mxnet-notebooks
[I 06:12:34.736 NotebookApp] 0 active kernels
[I 06:12:34.736 NotebookApp] The Jupyter Notebook is running at: http://0.0.0.0:8888/?token=627f63e7852e6a9cb99efa8f1be495948da80ade36c190c1
[I 06:12:34.736 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 06:12:34.737 NotebookApp]

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://0.0.0.0:8888/?token=xxxxx

3. ブラウザでアクセス

2 の結果の最終行を見ると、Jupyter はコンテナ内では http://0.0.0.0:8888/?token=xxxxx として起動しているようなので、Docker ホスト上での URL に脳内変換して接続します。(例えば Docker for Mac ならホストは localhost

にアクセス。

4. 目的の .ipynb を開く

例として、2 つのチュートリアルに取り組んでみます。

4.1. MNIST の手書き推論

python、tutorials とフォルダを選択していき mnist.ipynb を選びます。上から順に、チュートリアルを読みつつ実行していきましょう。

利用している Docker イメージは GPU ドライバに対応していない版なので、最後のステップでは mx.gpu(0)mx.cpu() に書き換えて実行する必要があります。
CPU、さすがに時間かかりますね・・

4.2. CNN によるテキスト分類

python、moved-from-mxnet の下にある cnn-text-classification.ipynb を選びます。(ちなみにこの moved-from-mxnet フォルダ以下のチュートリアル、彼らの移動のさせ方が悪かったようで、一部このままでは動きません。残念)

こちらもステップ [7] で gpu をコメントアウト、cpu をアンコメントしないとエラーになるので注意です。

 
最後まで完走できましたか?

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8