SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
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)
• Google の TensorFlow (Apache License Version 2.0)
*BVLC: Berkeley Vision and Learning Center
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 搭載の場合
$ docker run -itd -v $(pwd)/data:/root/data -p
6006:6006 --name deep ww24/deep-learning
CPU のみを使用する場合
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
ご清聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and KnativeMasahito Zembutsu
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
Dockerで開発環境をデリバる
Dockerで開発環境をデリバるDockerで開発環境をデリバる
Dockerで開発環境をデリバるDaigou Harada
 
Docker実践入門
Docker実践入門Docker実践入門
Docker実践入門hiro nemu
 
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンドTakehara Ryo
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春VerMasahito Zembutsu
 
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門KokiMakita1
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門Tsukasa Kato
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解Masahito Zembutsu
 
Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Recruit Technologies
 
8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版Kamon Nobuchika
 
Docker + Checkpoint/Restore
Docker + Checkpoint/RestoreDocker + Checkpoint/Restore
Docker + Checkpoint/Restorekawamuray
 
何者(Dockerって)
何者(Dockerって)何者(Dockerって)
何者(Dockerって)Koji Saiki
 
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Masahito Zembutsu
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門Hori Tasuku
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 updateShiojiri Ohhara
 
dockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考えるdockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考えるGMOインターネット
 
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解するEtsuji Nakai
 
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン雄哉 吉田
 

Was ist angesagt? (20)

CNCF Updates 2019 Winter version and Knative
CNCF Updates 2019  Winter version and KnativeCNCF Updates 2019  Winter version and Knative
CNCF Updates 2019 Winter version and Knative
 
Docker入門
Docker入門Docker入門
Docker入門
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
Dockerで開発環境をデリバる
Dockerで開発環境をデリバるDockerで開発環境をデリバる
Dockerで開発環境をデリバる
 
Docker実践入門
Docker実践入門Docker実践入門
Docker実践入門
 
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
自動化ーニバルだよ!GDC16に見る自動化技術とテストのトレンド
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門CAMPHOR- day 2020 - Docker 超入門
CAMPHOR- day 2020 - Docker 超入門
 
オトナのDocker入門
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
 
鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解鯨物語~Dockerコンテナとオーケストレーションの理解
鯨物語~Dockerコンテナとオーケストレーションの理解
 
Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築Dockerを活用したリクルートグループ開発基盤の構築
Dockerを活用したリクルートグループ開発基盤の構築
 
8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版8a1#19[はじめてのdocker] 公開版
8a1#19[はじめてのdocker] 公開版
 
Docker + Checkpoint/Restore
Docker + Checkpoint/RestoreDocker + Checkpoint/Restore
Docker + Checkpoint/Restore
 
何者(Dockerって)
何者(Dockerって)何者(Dockerって)
何者(Dockerって)
 
Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解Docker道場オンライン#1 Docker基礎概念と用語の理解
Docker道場オンライン#1 Docker基礎概念と用語の理解
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 update
 
dockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考えるdockerでImmutable InfrastructureなWordPressを考える
dockerでImmutable InfrastructureなWordPressを考える
 
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
"Docker is NOT Container." ~ Dockerとコンテナ技術、PaaSの関係を理解する
 
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン
 

Ähnlich wie Docker で Deep Learning

NIIクラウドチームとDocker
NIIクラウドチームとDockerNIIクラウドチームとDocker
NIIクラウドチームとDockerSatoshi Yazawa
 
ChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすDaisuke Taniwaki
 
Vagrantでクラウド上にdocker環境を作る
Vagrantでクラウド上にdocker環境を作るVagrantでクラウド上にdocker環境を作る
Vagrantでクラウド上にdocker環境を作るIDC Frontier
 
世界をすこしだけ前に進めるということ
世界をすこしだけ前に進めるということ世界をすこしだけ前に進めるということ
世界をすこしだけ前に進めるということYukei Wachi
 
Mr201302 mitb in_android_2
Mr201302 mitb in_android_2Mr201302 mitb in_android_2
Mr201302 mitb in_android_2FFRI, Inc.
 
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Yoshiyuki Nakamura
 
20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money Foward20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money FowardNaoki Shimizu
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Masahito Zembutsu
 
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介Yasuhiro Yoshimura
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術Yusuke Uchida
 
自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GAMasahito Zembutsu
 
Oculus 体験・勉強会「VRコンテンツ制作入門」
Oculus 体験・勉強会「VRコンテンツ制作入門」Oculus 体験・勉強会「VRコンテンツ制作入門」
Oculus 体験・勉強会「VRコンテンツ制作入門」Hiromichi Yamada
 
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Kengo Suzuki
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたYasuharu Seki
 
Hello deeplearning!
Hello deeplearning!Hello deeplearning!
Hello deeplearning!T2C_
 
Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話You&I
 
CNN-RNN: A Unified Framework for Multi-label Image Classification@CV勉強会35回CVP...
CNN-RNN: A Unified Framework for Multi-label Image Classification@CV勉強会35回CVP...CNN-RNN: A Unified Framework for Multi-label Image Classification@CV勉強会35回CVP...
CNN-RNN: A Unified Framework for Multi-label Image Classification@CV勉強会35回CVP...Toshiki Sakai
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Masahito Zembutsu
 
ナレッジグラフ推論チャレンジ【実社会版】応募資料
ナレッジグラフ推論チャレンジ【実社会版】応募資料ナレッジグラフ推論チャレンジ【実社会版】応募資料
ナレッジグラフ推論チャレンジ【実社会版】応募資料Takanori Ugai
 

Ähnlich wie Docker で Deep Learning (20)

NIIクラウドチームとDocker
NIIクラウドチームとDockerNIIクラウドチームとDocker
NIIクラウドチームとDocker
 
ChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かす
 
Vagrantでクラウド上にdocker環境を作る
Vagrantでクラウド上にdocker環境を作るVagrantでクラウド上にdocker環境を作る
Vagrantでクラウド上にdocker環境を作る
 
世界をすこしだけ前に進めるということ
世界をすこしだけ前に進めるということ世界をすこしだけ前に進めるということ
世界をすこしだけ前に進めるということ
 
Mr201302 mitb in_android_2
Mr201302 mitb in_android_2Mr201302 mitb in_android_2
Mr201302 mitb in_android_2
 
Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記Pythonおじさんのweb2py挑戦記
Pythonおじさんのweb2py挑戦記
 
20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money Foward20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money Foward
 
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~Dockerの基本と応用~快適コンテナライフを実現するArukas~
Dockerの基本と応用~快適コンテナライフを実現するArukas~
 
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
【第45回コンピュータビジョン勉強会@関東】NVIDIA VisionWorks Tips紹介
 
DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術DRIVE CHARTを支えるAI技術
DRIVE CHARTを支えるAI技術
 
自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA自由検証環境提供宣言+Docker Compose V2 GA
自由検証環境提供宣言+Docker Compose V2 GA
 
Oculus 体験・勉強会「VRコンテンツ制作入門」
Oculus 体験・勉強会「VRコンテンツ制作入門」Oculus 体験・勉強会「VRコンテンツ制作入門」
Oculus 体験・勉強会「VRコンテンツ制作入門」
 
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
 
発見から納品へ
発見から納品へ発見から納品へ
発見から納品へ
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
Hello deeplearning!
Hello deeplearning!Hello deeplearning!
Hello deeplearning!
 
Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話Dockerで.NET Core 3.0 GUIアプリを動かす話
Dockerで.NET Core 3.0 GUIアプリを動かす話
 
CNN-RNN: A Unified Framework for Multi-label Image Classification@CV勉強会35回CVP...
CNN-RNN: A Unified Framework for Multi-label Image Classification@CV勉強会35回CVP...CNN-RNN: A Unified Framework for Multi-label Image Classification@CV勉強会35回CVP...
CNN-RNN: A Unified Framework for Multi-label Image Classification@CV勉強会35回CVP...
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
ナレッジグラフ推論チャレンジ【実社会版】応募資料
ナレッジグラフ推論チャレンジ【実社会版】応募資料ナレッジグラフ推論チャレンジ【実社会版】応募資料
ナレッジグラフ推論チャレンジ【実社会版】応募資料
 

Mehr von Takenori Nakagawa (20)

TensorFlow 入門
TensorFlow 入門TensorFlow 入門
TensorFlow 入門
 
機械学習を用いたパターンロック認証の強化手法
機械学習を用いたパターンロック認証の強化手法機械学習を用いたパターンロック認証の強化手法
機械学習を用いたパターンロック認証の強化手法
 
GitHub Travis-CI Go!
GitHub Travis-CI  Go!GitHub Travis-CI  Go!
GitHub Travis-CI Go!
 
01.app
01.app01.app
01.app
 
Service Workers Push API Hands-on
Service Workers Push API Hands-onService Workers Push API Hands-on
Service Workers Push API Hands-on
 
Service Workers
Service WorkersService Workers
Service Workers
 
OpenGL 3DCG
OpenGL 3DCGOpenGL 3DCG
OpenGL 3DCG
 
WebGL
WebGLWebGL
WebGL
 
01:artificial life
01:artificial life01:artificial life
01:artificial life
 
後期05
後期05後期05
後期05
 
後期03
後期03後期03
後期03
 
後期02
後期02後期02
後期02
 
densan2014-late01
densan2014-late01densan2014-late01
densan2014-late01
 
phpck
phpckphpck
phpck
 
Git 初心者のための GitHub Pages
Git 初心者のための GitHub PagesGit 初心者のための GitHub Pages
Git 初心者のための GitHub Pages
 
OpenIL vol.1
OpenIL vol.1OpenIL vol.1
OpenIL vol.1
 
後期講座08
後期講座08後期講座08
後期講座08
 
後期講座07
後期講座07後期講座07
後期講座07
 
後期講座05
後期講座05後期講座05
後期講座05
 
後期講座03
後期講座03後期講座03
後期講座03
 

Docker で Deep Learning