今更感がすごいですが,それでもPyTorchを触りたいことに変わりはないのでちまちまやっていきます.
目標
- Dockerで仮想環境を構築し,その上でPyTorchを走らせる
- Python Engineerさんのチュートリアルを学んでいく
- Encoder-decoderみたいな簡単な構造のネットワークを書けるようになる
スペック(人間)
- 過去にCaffeをいじりました
- 参考:過去のCaffe関連記事
- でも,Caffe自体はもう息をしていないようですね
- 過去にPython Engineerさんのチュートリアルを見ました
- 多分,10個くらいは見たと思います
- 1年くらい前のことでほぼ忘れています
- 博士(工学)です
- なので,ちょっとのことではめげません
- 機械学習の基礎知識はありますが専門ではありません
- 参考:過去記事の「洋書の翻訳を経験した」
- DNN / CNNの基礎知識はありますが専門ではありません
- 参考:過去記事の「Caffeを通してCNNを理解する」
スペック (PC)
Skull PCことNUC8i7HVKを使います.本体表面にいかつい髑髏のマークがついたIntel NUCです.このマシンにはもともとAMD製のVegaしか入っていないので,NVIDIA製GPUをThunderbolt経由でeGPUとしてつないでいます.
Docker
インストール
- Docker Desktop for Windowsをインストールして立ち上げておく
- NVIDIA公式からCUDAを使えるUbuntu 18のDockerイメージをダウンロードしてコンテナを生成する
- PowerShellから以下のコマンドを実行し,イメージからコンテナを作る
docker run --gpus all -it --name ubuntu18_cuda -v nvidia/cuda:10.2-devel-ubuntu18.04 bash
- 特定のドライブにマウントしたい場合は
-v [path]
を使うdocker run --gpus all -it --name ubuntu18_cuda -v D:/DockerData/ubuntu18_cuda:/home/ nvidia/cuda:10.2-devel-ubuntu18.04 bash
- 一度ダウンロードしたコンテナは以下のコマンドで再度立ち上げることができる
docker exec -it ubuntu18_cuda bash
動作確認
コンテナ上でnvidia-smi
を実行して,以下と似たような情報が表示されれば問題なし.
>> nvidia-smi Wed Jun 22 22:04:34 2022 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 510.73.08 Driver Version: 512.96 CUDA Version: 11.6 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA GeForce ... On | 00000000:0C:00.0 On | N/A | | 23% 29C P8 12W / 250W | 910MiB / 11264MiB | 0% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
PyTorch
インストール
conda create -n pytorch python=3.9 conda activate pytorch conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
2行目は今回のUbuntu (Linux) 環境に合わせて公式ページで選んだ.
動作確認
最後に,上記のGPUがPyTorchから見えているかを確認する.
>> python Python 3.9.12 (main, Jun 1 2022, 11:38:51) [GCC 7.5.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> torch.cuda.is_available() True >>> torch.cuda.device_count() 1 >>> torch.cuda.current_device() 0 >>> torch.cuda.device(0) <torch.cuda.device object at 0x7f857a817fd0> >>> torch.cuda.get_device_name(0) 'NVIDIA GeForce GTX 1080 Ti'
問題なく動作しているようです.次回からPython Engineerさんのチュートリアルを見ていこうと思います.