1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

備忘録カレンダーAdvent Calendar 2024

Day 18

ローカル環境におけるGPUを活用したPytorchの環境構築

Last updated at Posted at 2024-12-24
import torch

# 使用するデバイスを決定
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

# GPUの利用について出力j
print(f"GPU が利用可能であるか: {str(torch.cuda.is_available())}")

if torch.cuda.is_available():
  print(f"GPU の個数: {torch.cuda.device_count()}")
  
  for i in range(torch.cuda.device_count()):
    if i == torch.cuda.current_device():
      print(f"[{i}] \t: {torch.cuda.get_device_name()} (利用中)")
    else:
      print(f"[{i}] \t: {torch.cuda.get_device_name()}")
    print(f"\t  CUDA Compute Capability={torch.cuda.get_device_capability()}")

はじめに

次のようなに pip コマンドで pytorch を単純にインストールしても、GPU を活かした機械学習の処理ができない場合がある。

%pip install pytorch

次のコードで開発環境において GPU を利用できるか確認ができる。

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

False が出力された場合はGPUが利用できていない状態である。続いて x.x.x+cpu が出力されている場合、インストールした torch ライブラリは GPU に対応していないことが原因である。

False
2.3.0+cpu

備考: 筆者の環境

項目 内容
OS Windows 11 Pro 64bit
CPU Intel(R) Core i9-10900K
ストレージ 500GB SSD + 4TB HDD + 4TB HDD
GPU NVIDIA GeForce RTX 3060 × 2枚
RAM 128GB

GPUドライバのインストール

グラフィックボードの確認

タスクマネージャーからグラフィックボードの型番を確認する。
型番は画面右上に記載されている。

次の画像では、NVIDEA GeForce RTX 3060 と記載されている。

image.png

インストーラのダウンロード

次のサイトから GPU のドライバを検索して、インストールできる。

サイトにアクセスすると次のような画面になる。各項目を自分の環境に応じて選択する。

image.png

NVIDEA GeForce RTX 3060 の場合は次のように選択する。

項目 内容
製品の種類 GeForce
製品シリーズ GeForce RTX 30 Series
製品 GeForce RTX 3060

項目の指定後に、[検索開始] をクリックする。

image.png

「GeForce Game Ready ドライバー - WHQL」の [ダウンロード] をクリックすると、ドライバのインストーラを入手できる。
次の画像では、560.81-desktop-win10-win11-64bit-international-dch-whql.exe がダウンロードされる。

image.png

ドライバのインストール

先ほどダウンロードしたインストーラを起動すると、次の画面が表示される。 [同意して続行する] をクリックする。

image.png

[次へ] をクリックする。

image.png

インストールが開始される。

image.png

次の画面になると、インストールが終了している。各項目のチェックは任意で指定する。

image.png

インストールの確認

次のコマンドでドライバがインストールされているか否かを確認できる。

ドライバの確認
> nvidia-smi
Sun Oct 20 04:48:40 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.81                 Driver Version: 560.81         CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3060      WDDM  |   00000000:01:00.0  On |                  N/A |
|  0%   40C    P0             45W /  170W |     377MiB /  12288MiB |      1%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA GeForce RTX 3060      WDDM  |   00000000:02:00.0  On |                  N/A |
|  0%   36C    P8             16W /  170W |      33MiB /  12288MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

### 省略 ###

CUDA Toolkitのインストール

PyTorch のバージョン確認

次のサイトにアクセスして PyTorch のバージョンを確認する。ここで確認したバージョンに適したツールキットと cuDNN(後述)をインストールする必要がある。

Compute Platform の最新バージョンを確認する。ここでは CUDA 12.4 である。

image.png

ツールキットのインストール

次のサイトから、上記と同一バージョンの CUDA Toolkit を選択する。
今回の場合は、 CUDA Toolkit 12.4.0 が該当する。

image.png

OSやアーキテクチャなど、自分の環境に応じて選択する。その後、 [Download (29.6 MB)] をクリックすると、インストーラがダウンロードされる。
次の画像の場合は cuda_12.4.0_windows_network.exe がダウンロードされる

image.png

インストーラを起動すると、次のウィンドウが表示される。

image.png

[同意して続行する] をクリックする。

image.png

[次へ] をクリックする。

image.png

Visual Studio で開発する場合は事前にインストールをする必要がある(未検証)。

image.png

Visual Studio を利用しない場合はチェックを入れて、無視して [Next] をクリックする。

image.png

インストールが開始される。

image.png

インストールが終了すると、次の画面になる。 [次へ] をクリックする。

image.png

[閉じる] をクリックする。

image.png

cuDNNのインストール

次のサイトから CUDA のバージョンにあった cuDNN をダウンロードする。

まずは、「for CUDA xx.x」の箇所を自分のものと合わせて cuDNN のバージョンを選択する。今回は Download cuDNN v8.9.7 (December 5th, 2023), for CUDA 12.x を選択する。

image.png

複数種類のインストーラが表示されるので、自分の環境にあったインストーラを選択する。
今回は Local Installer for Windows (Zip) をクリックする。

image.png

アカウントの登録もしくはサインインを求められる。

image.png

もう一度、cuDNN のバージョンとインストーラを選択すると zip ファイルがダウンロードされる。
上記の選択では cudnn-windows-x86_64-8.9.7.29_cuda12-archive.zip がダウンロードされる。

これを解凍して作成された cudnn-windows-x86_64-8.9.7.29_cuda12-archiveC:\Users ディレクトリへ移動する。

zip ファイルを解答すると cudnn-windows-x86_64-8.9.7.29_cuda12-archive の中に cudnn-windows-x86_64-8.9.7.29_cuda12-archive フォルダがある。後者を移動させること。

環境変数の登録

CUDA ToolkitとcuDNNのpathを順次通していく。
「システム環境変数の編集」を起動する。

次のような画面が表示される。[詳細設定 > 環境変数] をクリックする。

image.png

[システム環境変数] の [Path] を選択して、 [編集] をクリックする。

image.png

次のような画面が表示される。

image.png

[新規] をクリックして、次のパスを1つずつ登録する。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\CUPTI\lib64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include
C:\Users\cudnn-windows-x86_64-8.8.1.3_cuda11-archive\bin

CUDA のパスが通っているかを確認する。
コマンドプロンプトを起動して,次のコマンドを実行する

nvcc -V

次のように出力されると成功である。

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Tue_Feb_27_16:28:36_Pacific_Standard_Time_2024
Cuda compilation tools, release 12.4, V12.4.99
Build cuda_12.4.r12.4/compiler.33961263_0

Pytorchのインストール

先ほど開いたサイト でバージョンを選択してコマンドをコピーする。

今回は CUDA 12.4 を選択する。

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124

これで GPU の利用が可能である。

import torch

# Pytorchのバージョン
print(torch.__version__)

# GPUが利用可能であるか否か
print(torch.cuda.is_available())

# 利用可能なGPUの名前
print(torch.cuda.get_device_name(0))  
2.5.0.dev20240818+cu124
True
NVIDIA GeForce RTX 3060

トラブルシューティング

私が調査した手順を上記までにまとめてきたが、実際に各手順を実行してみたところ、私はうまくいかなかった。

エラー

具体的には、import torch を実行するとき、次のエラーが確認された。
一部のディレクトリを省略して ~ と記載している。

Traceback (most recent call last):
  File "~\xxx.py", line 1, in <module>
    import torch
  File "~\Lib\site-packages\torch\__init__.py", line 148, in <module>
    raise err
OSError: [WinError 126] 指定されたモジュールが見つかりません Error loading "~\Lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.

以下、さらに試した対策をまとめる。

Pytorchの別バージョンをインストールする

CUDA Toolkitのインストール にて、私は Pytorch Build の項目を Stable (2.4.0) と指定してPytorchをインストールした。これを Preview (Nightly) に変更するとエラーが解決された。

image.png

次に詳細な項目の指定内容を示す。

項目 エラー発生時 解決後
Pytorch Build Stable (2.4.0) Preview (Nightly)
Your OS Windwos Windwos
Package Pip Pip
Language Python Python
Compute Platform CUDA 11.8 CUDA 11.8

解決後のPytorchをインストールするコマンドを次に示す。

pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu118

インストール後、確認用プログラム を実行して動作を確認されたい。

Microsoft Visual C++ パッケージのインストール

次のサイトにアクセスして、Microsoft Visual C++ Redistributable を入手する。

[Latest Microsoft Visual C++ Redistributable Version] から自分のアーキテクチャを選択する。
今回の場合は、[X64] をクリックすると、 VC_redist.x64.exe がダウンロードされる。

VC_redist.x64.exe を起動すると、次のウィンドウが表示される。
[ライセンス条項および使用条件に同意する]にチェックを入れて、[インストール]をクリックする。

スクリーンショット 2024-08-20 153502.png

インストールが始まると次の画面になる。

スクリーンショット 2024-08-20 153523.png

インストール終了後、[再起動]をクリックして、コンピュータを再起動する。

スクリーンショット 2024-08-20 153533.png

再起動後、システム環境変数に次を追加する

C:\Windows\SysWOW64

もう一度、再起動をした後に 確認用プログラム を実行して動作を確認されたい。

確認用プログラム

次の Python プログラムを実行されたい。

import torch

# Pytorchのバージョン
print(torch.__version__)

# GPUが利用可能であるか否か
print(torch.cuda.is_available())

# 利用可能なGPUの名前
print(torch.cuda.get_device_name(0))  

次のような出力を確認できると成功である。
1行目の出力は Pytorch のバージョンなので一致してなくともよい。
特に,True と GPU の型番が出力できているかを確認されたい。

2.5.0.dev20240818+cu118
True
NVIDIA GeForce RTX 3060

参考

1
1
0

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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?