WHY
この記事を書こうと思った理由ですが下記の書籍を年末年始にやって勉強になったのですがPythonに慣れていないと詰まる部分もあり、環境構築に精神コストを削られてこの書籍を完了できない人が出てくるかなと思ったからです。
ゼロから作るDeep Learning ――Pythonで学ぶディープラーニングの理論と実装
WHAT
詰まると思った部分は図の可視化です。図の可視化にはmatplotlib
を使用するのですが環境構築の際に罠があり、それにはまると解消するのに時間的なコストがかかるケースがあります。
そこで誰でも同じ環境を構築できるDockerの出番です。私はVagrantにdocker用の環境を構築してdockerを使用しているので完全に手元のパソコンとは独立した環境を実現しています。
これを実現するのに使用した技術は下記です。
- Vagrant
- ansible
- docker
- ipython notebook
これらの技術により持ち運びが便利で分かりやすい環境を実現しています。
HOW
実際にどのようにやるかです。
コードを取得してコードのフォルダに移動
git clone https://github.com/SnowMasaya/deep-learning-excerise.git
cd {ダウンロードしたフォルダ}
Vagrantを起動
Vagrantをすでに使用している場合はipアドレスはユニークになる様にしてください。
Vagrantfileの下記の部分を修正します。
config.vm.network "private_network", ip: "{修正するipアドレス}"
vagrant up
環境構築
ansible-playbook -i provisioning/hosts provisioning/site.yml
Dockerイメージを取得
docker pull masayaresearch/deep-learning-scratch-excerise
Dockerを起動してDockerにアクセス
docker run -p 8888:8888 -it masayaresearch/deep-learning-scratch-excerise bash
iPython Notebookを起動
ipython notebook --no-browser --port 8888 --ip=*
ブラウザにアクセス
http://192.168.33.25:8888
下記の画面が出るとipython notebookにアクセスできていることが分かります。
deep-learning-1.ipynbに実際に画像の描画処理を行っているので参考にしてみてください。
コード
github
Docker hub
masayaresearch/deep-learning-scratch-excerise
参考