PyTorch 2.2にアップグレードする

環境

Windows 11
Microsoft Store版 Python 3.10

動機

1年ほど前からバージョンアップしていなかったので、なんとなく更新することにした。

python -c "import torch; print( torch.__version__ )"
2.0.1+cu118

必要となるCUDAのバージョンの確認

PyTorchのページにアクセスし、使用可能なCUDAのバージョンを確認する。PyTorch 2.2.1では、11.8と12.1となっている。今回は12.1を使用してみる。

CUDA Toolkit 12.1.1のインストール

NVIDIA DeveloperのページからCUDA Toolkit 12.1.1をダウンロードし、インストールする。

なぜか、高速インストールだとエラーになってしまったので、カスタムを選択する。

CUDAのRuntime、Documentation、Developmentのみチェックして、次へをクリックすると正常にインストールが始まった。Nsightは後で入れることにする。

正常にインストール完了した。

cuDNN v8のインストール

NVIDIA DeveloperのページからcuDNN v8.9.7 (December 5th, 2023), for CUDA 12.xをダウンロードし、任意のファルダに解凍、binフォルダにパスを通す。

PyTorch 2.2のインストール

1.旧バージョンを削除

pip uninstall torch torchvision torchaudio

2.新バージョンをインストール

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

3.確認

インストール完了後、下記のコマンドを実行しバージョンを確認する。

python -c "import torch; print( torch.__version__ )"
2.2.1+cu121
import torch

print(torch.__version__)
print(torch.cuda.is_available())
print(torch.cuda.get_device_name())

2.2.1+cu121
True
NVIDIA GeForce RTX 3060 Ti

PyTorch 2.0にアップグレードする

環境

Windows 11
Microsoft Store版 Python 3.10

動機

Stable Diffusion web UIがPyTorch 2.0でテストされるようになったため、これを機にローカル環境をアップグレードする。(Stable Diffusion web UIのアップグレードについては、ページ最後の「その他」の章を参照)
現在の環境には、以下のバージョンがインストールされているので、ここからアップグレードする。

$ python -c "import torch; print( torch.__version__ )"
1.13.0+cu117

CUDA Toolkit 11.8のインストール

NVIDIAからCUDA Toolkit 11.8をダウンロードし、インストールする。

cuDNN v8のインストール

NVIDIAからcuDNN v8.9.1 (May 5th, 2023), for CUDA 11.xをダウンロードし、インストールする。

ダウンロード後、任意のファルダに解凍し、binフォルダにパスを通す。

PyTorch 2.0のインストール

1.旧バージョンを削除

$ pip uninstall torch torchvision torchaudio

2.新バージョンをインストール

PyTorchのページでインストール用のコマンドを作成する。

$ pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

インストール完了後、下記のコマンドを実行しバージョンを確認する。

$ python -c "import torch; print( torch.__version__ )"
2.0.1+cu118

その他

Stable Diffusion web UIをアップグレードするなら、Stable Diffusion web UIのインストールフォルダで以下のコマンドを実行する。

$ git pull

その後、webui-user.batファイルのCOMMANDLINE_ARGSに、下記の通り「–reinstall-torch –reinstall-xformers」を追記して、batファイルを実行する。

COMMANDLINE_ARGS=--xformers --reinstall-torch --reinstall-xformers

Windows Subsystem for Linux 2でCUDAを使えるようにする

1.cuda toolkitをインストール

sudo apt-key adv --fetch-keys 
http://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
cat <<EOF | sudo tee /etc/apt/sources.list.d/cuda.list
deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 /
EOF
sudo apt update
sudo apt install cuda-toolkit-11-5

2.libcudnn8、libncclをインストール(任意)

sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/7fa2af80.pub
cat <<EOF | sudo tee /etc/apt/sources.list.d/cuDNN.list
deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64 /
EOF
sudo apt update
sudo apt install libcudnn8 libnccl-dev

3.動作確認

Tensorflowをインストールする。

pip install --upgrade tensorflow

以下を実行する。

from tensorflow.python.client import device_lib

device_lib.list_local_devices()

実行結果の一部に下記が表示されていれば正常に導入できている。

 name: "/device:GPU:0"
 device_type: "GPU"