現場で使える!TensorFlow開発入門という本を読みながら深層学習モデルの作り方を学んでいます。
その補足資料に、GCPの環境構築の手順とスクリプトがあるのですが、こいつを進めていくと nvidia-docker
コマンドのところで以下のエラーにぶつかってしまいました😭
docker: Error response from daemon: create nvidia_driver_440.33.01: VolumeDriver.Create: internal error, check logs for details.
GCP&Dockerド素人の私には、なんのこっちゃです🙄
が、幸いにもNVIDIAの中の人がNVIDIA Docker って今どうなってるの?という記事を書いてくれていたおかげで、サンプルが動作する環境を構築することができました🙇♂️
同じように躓いている人もいるかもしれないので、手順のメモを残しておきます。
1.とりあえず補足資料に従って環境構築する
上記のエラーが起こるところまで、環境構築をしてください。
Docker 19.03がインストールされた状態になっているはずです。
2.Docker 19.03 以降の環境で前だけを見て生きる
NVIDIA中の人記事にある、Docker 19.03を前提とした手順を実行します。
2.1.最新のNVIDIAドライバをインストール
下記リンク先に表示される手順をそのまま実行します。
2.2.nvidia-container-toolkit パッケージをインストール
下記リンク先のセクション QuickStart > Ubuntu 16.04...
にある手順をそのまま実行します。
3.Dockerを起動
補足資料にある nvidia-docker run
ではなく、通常の docker run
を使います。このときオプション --gpus all
を加えて実行します。
$ sudo docker run --gpus all --rm --name tfbook -p 80:8888 -p 6006:6006 -v /notebooks:/notebooks tfbook
お試し
Chapter.11のサンプルを動かしてみました。
うん、着々と学習が進んでいるように見える...!!
おまけ?
GCPでGPUありのVMインスタンスを作る場合、使用制限の解除(割り当て)が必要なのですが、以下のエラーがでる場合、GPU個別の割り当てと、グローバルな割り当ての両方を申請する必要があるようです。
Quota 'GPUS_ALL_REGIONS' exceeded. Limit: 0.0 globally.
あと、本にはGCPのGPU使用は無料クレジットの対象外〜みたいなことが書いてありましたが、使えるようになっている気がする。。。