Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Docker で
Deep Learning
中川武憲 (@ww24)
自己紹介
• 中川武憲 @ww24
• 株式会社サイバーエージェント 16内定者
• 好きな言語は Go, JavaScript
• 好きな分野は Web, Security, Machine Learning
友利奈緒 (SECCON 2015 Intercollege)
この友利奈緒です
撮影: @seen8th
情報系学部4年生
卒業研究
機械学習を用いたパターンロック認証の強化
Agenda
• Deep Learning
• CUDA, cuDNN
• NVIDIA Docker
• Tutorial
Deep Learning
Deep Learning
• 今話題の機械学習の手法の一つ
• 画像認識, 音声認識, 自然言語処理などの分野
に於いて高い性能を発揮している
手書き文字認識
http://yann.lecun.com/exdb/mnist/
物体認識
https://www.cs.toronto.edu/~kriz/cifar.html
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)
•...
CUDA, cuDNN
CUDA
• NVIDIA の開発する並列計算アーキテクチャ

所謂 GPGPU
• 対応した NVIDIA GPU が必要
• 膨大な計算量を必要とする処理に向いている
• 機械学習でも威力を発揮する
NVIDIA GPU が無い場合
• G2 インスタンスを借りましょう
• g2.2xlarge なら

1,536 CUDA コア、4GB のビデオメモリ
• g2.8xlarge なら、その4倍の性能
cuDNN
• CUDA を Deep Neural Network に使うための
ライブラリ
• CUDA を直接扱うより高速
NVIDIA Docker
導入
• CUDA + cuDNN + Deep Learning Library
• ホストマシンの環境を汚したくない
• 研究では再現性が重要
NVIDIA Docker
• https://github.com/NVIDIA/nvidia-docker
• Docker 上で CUDA (+cuDNN) を使うための
NVIDIA 公式コンテナ
NVIDIA Docker
動作
• ホストマシンに CUDA Driver を入れる
• コンテナに CUDA Toolkit と cuDNN を入れる
• /dev/nvidiactl, /dev/nvidia0, /dev/nvidia-uvm
をコンテナに共有
•...
Tutorial
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
Tutorial
• 3GB 以上あるので、会場のネットワークでの
docker pull はご遠慮ください。
Start
$ GPU=0 ./nvidia-docker run -itd -v $(pwd)/data:/
root/data -p 6006:6006 --name deep ww24/
deep-learning
NVIDIA GPU ...
Into container
$ docker exec -it deep bash
Caffe Example
# cd caffe
# ./data/mnist/get_mnist.sh
# ./examples/mnist/create_mnist.sh
# ./examples/mnist/train_lenet.sh
Caffe Example
Chainer Example
# cd chainer/examples/mnist
# ./train_mnist.py --gpu 0
Chainer Example
TensorFlow Example
# cd tensorflow/tensorflow/examples/
tutorials/mnist
# python mnist_with_summaries.py
TensorFlow Example
TensorFlow Example
# tensorboard --logdir /tmp/mnist_logs
TensorFlow Example
ご清聴ありがとうございました
Nächste SlideShare
Wird geladen in …5
×

Docker で Deep Learning

JAWS-UGコンテナ支部 #4 LT 資料

Docker で Deep Learning

  1. 1. Docker で Deep Learning 中川武憲 (@ww24)
  2. 2. 自己紹介 • 中川武憲 @ww24 • 株式会社サイバーエージェント 16内定者 • 好きな言語は Go, JavaScript • 好きな分野は Web, Security, Machine Learning
  3. 3. 友利奈緒 (SECCON 2015 Intercollege) この友利奈緒です 撮影: @seen8th
  4. 4. 情報系学部4年生
  5. 5. 卒業研究 機械学習を用いたパターンロック認証の強化
  6. 6. Agenda • Deep Learning • CUDA, cuDNN • NVIDIA Docker • Tutorial
  7. 7. Deep Learning
  8. 8. Deep Learning • 今話題の機械学習の手法の一つ • 画像認識, 音声認識, 自然言語処理などの分野 に於いて高い性能を発揮している
  9. 9. 手書き文字認識 http://yann.lecun.com/exdb/mnist/
  10. 10. 物体認識 https://www.cs.toronto.edu/~kriz/cifar.html
  11. 11. Deepdream http://googleresearch.blogspot.co.uk/2015/06/inceptionism-going-deeper-into-neural.html
  12. 12. 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
  13. 13. CUDA, cuDNN
  14. 14. CUDA • NVIDIA の開発する並列計算アーキテクチャ
 所謂 GPGPU • 対応した NVIDIA GPU が必要 • 膨大な計算量を必要とする処理に向いている • 機械学習でも威力を発揮する
  15. 15. NVIDIA GPU が無い場合 • G2 インスタンスを借りましょう • g2.2xlarge なら
 1,536 CUDA コア、4GB のビデオメモリ • g2.8xlarge なら、その4倍の性能
  16. 16. cuDNN • CUDA を Deep Neural Network に使うための ライブラリ • CUDA を直接扱うより高速
  17. 17. NVIDIA Docker
  18. 18. 導入 • CUDA + cuDNN + Deep Learning Library • ホストマシンの環境を汚したくない • 研究では再現性が重要
  19. 19. NVIDIA Docker • https://github.com/NVIDIA/nvidia-docker • Docker 上で CUDA (+cuDNN) を使うための NVIDIA 公式コンテナ
  20. 20. NVIDIA Docker
  21. 21. 動作 • ホストマシンに CUDA Driver を入れる • コンテナに CUDA Toolkit と cuDNN を入れる • /dev/nvidiactl, /dev/nvidia0, /dev/nvidia-uvm をコンテナに共有 • これらが全部自動化される
  22. 22. Tutorial
  23. 23. Tutorial • https://github.com/ww24/docker-deep- learning • CUDA + cuDNN に加えて
 Caffe, Chainer, TensorFlow が全て入る
  24. 24. Tutorial • https://hub.docker.com/r/ww24/deep- learning/ • Docker Hub で公開中 $ docker pull ww24/deep-learning
  25. 25. Tutorial • 3GB 以上あるので、会場のネットワークでの docker pull はご遠慮ください。
  26. 26. 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 のみを使用する場合
  27. 27. Into container $ docker exec -it deep bash
  28. 28. Caffe Example # cd caffe # ./data/mnist/get_mnist.sh # ./examples/mnist/create_mnist.sh # ./examples/mnist/train_lenet.sh
  29. 29. Caffe Example
  30. 30. Chainer Example # cd chainer/examples/mnist # ./train_mnist.py --gpu 0
  31. 31. Chainer Example
  32. 32. TensorFlow Example # cd tensorflow/tensorflow/examples/ tutorials/mnist # python mnist_with_summaries.py
  33. 33. TensorFlow Example
  34. 34. TensorFlow Example # tensorboard --logdir /tmp/mnist_logs
  35. 35. TensorFlow Example
  36. 36. ご清聴ありがとうございました

×