Docker で Deep Learning
-
Upload
takenori-nakagawa -
Category
Technology
-
view
2.507 -
download
0
Transcript of Docker で Deep Learning
自己紹介
• 中川武憲 @ww24
• 株式会社サイバーエージェント 16内定者
• 好きな言語は Go, JavaScript
• 好きな分野は Web, Security, Machine Learning
Deepdream
http://googleresearch.blogspot.co.uk/2015/06/inceptionism-going-deeper-into-neural.html
Deep Learning Library
• 日本
• Preferred Infrastructure の Chainer (MIT License)
• 海外
• BVLC の Caffe (BSD 2-Clause License)
• Google の TensorFlow (Apache License Version 2.0)
*BVLC: Berkeley Vision and Learning Center
CUDA
• NVIDIA の開発する並列計算アーキテクチャ
所謂 GPGPU
• 対応した NVIDIA GPU が必要
• 膨大な計算量を必要とする処理に向いている
• 機械学習でも威力を発揮する
NVIDIA GPU が無い場合
• G2 インスタンスを借りましょう
• g2.2xlarge なら1,536 CUDA コア、4GB のビデオメモリ
• g2.8xlarge なら、その4倍の性能
NVIDIA Docker
• https://github.com/NVIDIA/nvidia-docker
• Docker 上で CUDA (+cuDNN) を使うための
NVIDIA 公式コンテナ
動作
• ホストマシンに CUDA Driver を入れる
• コンテナに CUDA Toolkit と cuDNN を入れる
• /dev/nvidiactl, /dev/nvidia0, /dev/nvidia-uvm をコンテナに共有
• これらが全部自動化される
Tutorial
• https://github.com/ww24/docker-deep-learning
• CUDA + cuDNN に加えてCaffe, Chainer, TensorFlow が全て入る
Tutorial
• https://hub.docker.com/r/ww24/deep-learning/
• Docker Hub で公開中
$ docker pull ww24/deep-learning
Start
$ GPU=0 ./nvidia-docker run -itd -v $(pwd)/data:/root/data -p 6006:6006 --name deep ww24/deep-learning
NVIDIA GPU 搭載の場合
$ docker run -itd -v $(pwd)/data:/root/data -p 6006:6006 --name deep ww24/deep-learning
CPU のみを使用する場合
Caffe Example
# cd caffe # ./data/mnist/get_mnist.sh # ./examples/mnist/create_mnist.sh # ./examples/mnist/train_lenet.sh
TensorFlow Example
# cd tensorflow/tensorflow/examples/tutorials/mnist # python mnist_with_summaries.py