DockerLogo
機械学習やディープラーニングが近年流行っていますが、それがどういったものでどう使うのか気になっている人は少なくないと思います。
この記事は、ディープラーニングをまだやったことない人が勉強する際の環境を作るの手助けをするためのものです。

今回の内容としては
ubuntu(linux)上にdockerをインストールし、そのdockerのコンテナを使ってディープラーニングのフレームワークであるtensorflowの使い方などをjupyterというpythonノートブックを使って学んでいくための環境づくりです。

実行したubuntuのバージョンは16.04です。

では、続きから。
まず、dockerをインストールします。

$ curl -fsSL https://get.docker.com/ | sh


途中でパスワードを聞かれると思うので入力してください。

インストールが終わりましたら自分のユーザをdockerグループに所属させます。
こうすることでいちいちrootユーザとして実行する必要がなくなります。(sudoをつけなくてもいい)

$ sudo usermod -aG docker username


usernameは自分のユーザ名に適宜置き換えてください。(以下、usernameも同様)

ここまで出来ましたら、一旦システムを再起動してください。
再起動せずに利用しようとすると、DockerDeamonが動いてない(実際は動いているのに)と怒られてしまう場合があります。

$ sudo reboot


再起動が完了したら以下のコマンドを入力してください。dockerがきちんと動いているかテストするようなものです。

$ docker run hello-world


実行結果は、このようになります。
Screenshot from 2016-12-07 17-12-14


動いているようならdockerはきちんと動いています。

次に、jupyterとtensorflowのコンテナを追加していきます。

jupyterのノートブックを保存する場所を作ります。

$ mkdir /home/username/jupyter-data


この場所に、jupyterで作られたノートブックが保存されていきます。

以下のコマンドを入力するとコンテナの作成が始まります。

$ docker run -itd --name jupyter -p 8888:8888 -p 6006:6006 -v /home/username/jupyter-data:/root/notebook -e PASSWORD=passw0rd enakai00/jupyter_tensorflow:0.9.0-cp27


パスワードは、PASSWORDで設定します。
上のコマンドだとパスーワードは、「passw0rd」になります。ここも適宜変更してください。
処理が完了したら、ホスト側のブラウザを起動して

http://localhost:8888

に接続しましょう。

このように、jupyterが開けば成功です。

Screenshot from 2016-12-07 17-18-07


6006ポートは、tensorboardの表示に利用します。
セキュリティ上の都合のため、8888ポートと6006ポートは外部に公開しないようにしましょう。
 
tensorflowやディープラーニング自体の学習は下記の本がおすすめです。
購入してみてください。

スポンサーリンク