概要
dockerでpytorchの深層学習環境構築をしたい。
だいたいこの方のqiitaの記事と同じ。
PyTorch+GPUをDockerで実装
目標
pytorchのmnistのサンプルを動かす
環境
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
$ nvidia-smi
Wed Aug 4 13:25:37 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.80.02 Driver Version: 450.80.02 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
前提
dockerでgpu使うには以下をインストールする必要がある。
- GPUドライバのインストール
- dockerのインストール
- Nvidia Container Toolkitのインストール
nvidia-smi
のコマンドが使えなかったり、nvidia-container-toolkit
, docker
のコマンドが使えなかったら、PyTorch+GPUをDockerで実装を参照してインストールしてください。
dockerfile
ディレクトリを作り、$vim Dockerfile
でDockerfile作って、以下を貼り付けてください。
FROM nvidia/cuda:11.0-devel-ubuntu20.04
RUN apt-get update
RUN apt-get install -y python3 python3-pip
RUN pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
WORKDIR /work
RUN pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
の部分ですが、ここで自分の開発環境をクリックして適宜変えてください。cudaのバージョンはnvidia-smi
で確認できます。
Dockerfileが作成できたらDockerfileがある場所で以下のコマンドを実行
$ docker build -t [作成するdocker image名] .
docker run
忘れやすいのでメモ
docker run --rm -it --gpus all -v $(pwd):/work [作成したイメージ名]:latest
--rm
コンテナが終了した際にコンテナを消す
--gpus all
使うgpuの数を指定。喧嘩にならないように1とか2とかにしよう
-v $(pwd):/work
これがないと今いるディレクトリのファイルが見れない。
pytorch sampleのmnistを動かす。
pytorchのサンプルファイルを落としてくる。
$ git clone https://github.com/pytorch/examples.git
$ cd mnist
$ docker run --rm -it --gpus all -v $(pwd):/work [作成したイメージ名]:latest
# python3 main.py
これで動くはず。