LoginSignup
2
3

More than 5 years have passed since last update.

docker を使って itorch の tutorials を実行

Posted at

itorch とは

DeepLearning のプラットフォームとして注目されている Torch.
Lua をベースにしており Linux の環境で動作する。コマンドプロンプトで実行する方法は、デバックや結果を確認する点でなにかと面倒。
そこで、注目されているipython notebook を使って、Web Browser をプログラム環境として利用します。 最新のipython notebook は言語拡張性をもっており言語のカーネルを設定することでpython 以外の言語での利用が可能です。また、図などをブラウザに表示できるのでグラフィカルなデバックも可能。ipython の torch 拡張である itorch をdocker で動作させる方法について紹介します。

docker

dockerはLinux OSが起動して必要がありますが、最近では Mac, Windows でも
VM 経由で動作させることも可能。
ここでは、設定済みのイメージをdocker hub から pull します。

docker pull kkoba84/itorch-docker

確認方法としては

docker images

ipython の itorch向け設定

ipython のプロファイル設定は、~/.ipython フォルダに設定ファイルがあります。

今回のdocker のイメージの設定では、以下のように設定してあります。
(ここでは、pull したイメージを利用するので設定する必要はない.Dockerfileの説明)

まずは、profile の作成
ipython profile create itorch_svr

次に、itorch のカーネルとして起動する設定

/root/.ipython/profile_itorch_svr/ipython_config.py
c = get_config()
c.KernelManager.kernel_cmd = ["/root/torch/install/bin/itorch_launcher","{connection_file}"]
c.Session.key = b''
c.Session.keyfile = b''

docker のポートをフォワードする設定として、接続に関する設定をします。
ここでは、どのアクセスからも許可してしまうので、気になる場合には
パスワードの設定が必要になります。

/root/.ipython/profile_itorch_svr/ipython_notebook_config.py
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 9999
/root/torch/extra/iTorch

docker の動作確認

デーモンで動かす前に、確認する方法。まずは、docker を起動。ポートをフォワードする設定として -p 9999:9999を指定して起動します。

docker run -p 9999:9999 -it kkoba84/itorch-docker

/bin/bash が起動してプロンプトがでます。次に、itorch を実行

itorch notebook --profile=itorch_svr

これで、port 9999 の notebook server が起動します。
ホストのPCで、chrome/firefoxブラウザを起動(IEは表示が崩れる)して以下のURLにアクセス

http://localhost:9999/tree

torch の tutorials のファイル一覧が表示されれば成功!

デーモンでの起動

うまく動作したら、デーモンでの動作方法として、以下のコマンドを実行。
Linux を想定していますが、`pwd` を絶対パスを指定することで、
ホスト側のフォルダをマウントすることができます。
自分のファイルは、itorch での myfolder となるので、そこに
ファイルを保存するようにすれば、永続的に利用できます。
ちなみにdocker は、ユーザが作業しているファイルをイメージに保存しておくことができないので、このようにフォルダをマウントします。

docker run -d -p 9999:9999 -v `pwd`:/root/tutorials/myfolder -it kkoba84/itorch-docker /root/torch/install/bin/itorch notebook --profile=itorch_svr`

動作確認

デーモンとして動作しているかどうかは docker ps -a で確認

デーモンの停止

docker ps -aで確認したCONTAINER ID を指定して

docker stop {CONTAINER ID}

stop コマンドで停止します。

イメージの削除

docker rm {CONTAINER ID}

boot2docker を使う場合

boot2docker では、VirtualBox のIPを事前に調べておく

boot2docker ip

デーモンモードのスクリプトのパスがlinuxとは異なるので、一度 bash を
起動させてからにする

docker run -p 9999:9999 -it kkoba84/itorch

itorchを起動.この場合、/root/tutorials になっている前提。

itorch notebook --profile=itorch_svr

起動したら、

http://{boot2docker ipで調べたIPアドレス}:9999/

で確認。

2
3
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
2
3