[Python]YOLOv5のGPU環境を構築(まとめ)
環境
OS:Windows11(バージョン21H2)
GPU: NVIDIA GeForce GTX 1650
CUDA:11.7
anacondaをインストール済み(Python-3.9.12)
参考サイト
手順1:グラフィックボードのドライバを更新する。
どこまで影響するかはわかりませんが、まずは最新のドライバをインストールしました。
https://www.nvidia.co.jp/Download/index.aspx?lang=jp
手順2:CUDA Toolkitをインストールする
CUDA ToolkitとはNVIDIA社が開発・提供している開発環境です。これもGPUを利用する際には必要です。
CUDA Toolkit 11.7 Downloads | NVIDIA Developer
pytorchの公式サイトでは11.3を推奨していましたが、今回は11.7でも普通に動きました。
手順3:環境変数を確認
システム→詳細情報→システムの詳細設定→環境設定へ移動し、以下のパスが存在しているかを確認します。
変数名:CUDA_PATH
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7
変数名:CUDA_PATH_V11_7
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\libnvvp
念のためPCを再起動します。そのあとでコマンドプロンプトを立ち上げ、以下のコマンドを入力します。
nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_May__3_19:00:59_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.7, V11.7.64
Build cuda_11.7.r11.7/compiler.31294372_0
といった表示がされればCUDAのインストールは成功しているようです。Bulid cudaにインストール済みのバージョンが表示されます。
手順4:cuDNNをインストール
さらにcuDNN(NVIDIAが公開しているDeep Learning用のライブラリ)も必要になります。
cuDNN Download | NVIDIA Developer
インストールにはNVIDIA accountが必要です。持っていない人は作成してインストールします。
インストールする種類ですが、
Download cuDNN v8.4.1 (May 27th, 2022), for CUDA 11.x
を選択します。この辺も更新状況により変動するはずです。
ダウンロードすると
フォルダのなかに、「bin」「include」「lib」の3フォルダができますので、それらをコピーし、
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7のフォルダ内に上書きします。
そのあとは手順3の環境変数の設定画面にいき、下記の情報を書き込みます。
変数名:CUDNN_PATH
変数値:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7
変更が終わったらPCを再起動し、コマンドプロンプトを立ち上げてテストします。
where cudnn64_8.dll
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin\cudnn64_8.dll
のように表示されればcuDNNのインストールは完了です。
手順5:gitをインストール
インストールがまだの方はインストールを行います。手順は以下をご参照ください。
手順6:仮想環境の作成
作成がまだの人は下記のサイトなども参考にしつつ作成します。
手順7:YOLOv5のダウンロードとインストール
ダウンロードします。
git clone https://github.com/ultralytics/yolov5.git
yolov5というフォルダが作られるので、cdコマンドでそのフォルダへ移動します。
requirements.txtを使ってパッケージをインストールします。
pip install -U -r requirements.txt
手順8:CPU→GPUへの環境変更
anaconda promptなどを起動し、動作を確認します。
import torch
print(torch.cuda.is_available())
これを実行するとFalseになるはずです。今はまだCPUの実行環境なので、GPUを利用する環境が必要となります。
手順としては、まずCPUで動くPytorchを削除します。
pip uninstall torch
pip uninstall torchvision
削除が完了しましたら、Pytorchのサイトへ移動します。https://pytorch.org/
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
Run the Commandの文言をコピーし、anacondaプロンプト等に貼り付けます。
pytorchは1.23GBほどあり、インストールにやや時間がかかりました。
インストールが完了しましたら、再度確認します。
import torch
print(torch.cuda.is_available())
Trueが表示されるとGPUは利用できるようになっています。
複雑なインストール方法
以上となりますが、anacondaのインストールなどを省いても手順は大きく分けると9つもあります。正直、結構大変だな~と思いましたが、一度設定すればあとはGPUを使った快適なディープラーニング環境が手に入ります。
NVIDIA製のGPU環境がある方はぜひお試しください。
この記事が気に入ったらサポートをしてみませんか?