LoginSignup
15
9

More than 1 year has passed since last update.

dockerでgpuが使いたい

Last updated at Posted at 2021-08-04

概要

dockerでpytorchの深層学習環境構築をしたい。
だいたいこの方のqiitaの記事と同じ。
PyTorch+GPUをDockerで実装

目標

pytorchのmnistのサンプルを動かす

環境

nvidia DGX station a100

$ 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使うには以下をインストールする必要がある。

  1. GPUドライバのインストール
  2. dockerのインストール
  3. 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で確認できます。
スクリーンショット 2021-08-04 13.38.19.png

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

これで動くはず。

15
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
9