Docker(19.03)でgpu使って学習したかった時の覚書ーTensorflow/Keras
はじめに
DockerインストールしなおしてみたらDocker環境下TFやKerasで学習しようとしたときにGPU認識してくれなくてしばらくハマったので覚書です。
こういう環境にしたい
Docker 19.03
--コンテナ内--
ubuntu 18.04
cuda 10.0
cudnn 7.4
tensorflow-gpu 1.14.0
keras : latest
過去記事のResNet学習環境を作ることとします。
気を付けることその0:Dockerのバージョン
まずここが違ってくるとお話になりません。
旧と現では結構コマンドも変わってきてる模様。
確認して合う環境を構築しましょう
docker環境確認方法はホスト側で以下コマンドです
docker version
今回はDockerバージョン19.03を対象とします
気を付けることその1:コンテナ立ち上げ時のコマンド
いつのまにか--runtime=nvidia
じゃなくなってたので注意
GPU使いたいときは--gpu all(もしくは番号指定)
コマンドになったんだそうで
より直感的ですね。
こちらの記事を参考
https://qiita.com/ksasaki/items/b20a785e1a0f610efa08
気を付けることその2:cuda,cudnn,tensorflow-gpu,pythonのバージョン
毎回引っかかるんだけどここに齟齬あるとほんと動きません。
オフィシャルの動作確認表を参考に入れましょう
LinuxのGPU周りの整合表は以下の通りでした。macは別表へ
https://www.tensorflow.org/install/source#gpu
今回はtensorflow-gpu==1.14.0が使いたかったので、それに合わせてCUDA10.0,cudnn7.4,python3.6を入れることとします。
環境構築していく
今回はcuda,cudnnのバージョンを狙い打ちたいので下記のコマンドでコンテナ立ち上げました
docker run --gpus all -it (ここにいろいろコマンド)--name test_container nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04 /bin/bash
実際は(ここにいろいろコマンド)部分に細々としたディスプレイ設定とかディレクトリのマウント設定とか付け足してます
過去記事参照ください
あらかじめdockerfileとかに書けたらいいんだろうけどそれもそれで面倒なので必要なものを後からいれていきます。
apt update
apt install python-pip3
pip3 install tensorflow-gpu==1.14.0 keras matplotlib scikit-learn pillow
これで学習まわるはず
GPU使えてるか?の確認
学習回し始めた時にワーニング文的なのが出るのでそこ確認しても良いし
一度Ctrl + P + Q
でコンテナから抜けて
コマンド
nvidia-smi
でGPUの占有率見ることでも確認できます。
おわりに
Dockerまわりもう少しお勉強が必要そう
より良いコマンドを探していきたいです
Author And Source
この問題について(Docker(19.03)でgpu使って学習したかった時の覚書ーTensorflow/Keras), 我々は、より多くの情報をここで見つけました https://qiita.com/kiii142/items/667fc6b048dad41949af著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .