ここではyolov5をgeforceのGPUで動作させる方法について記述します。
・環境
OS :windows10
CPU :Ryzen5 3600
GPU :Geforce GTX 1650
導入バージョンは以下の通りです
yolov5-6.0
pyhon 3.7.11
pytorch 1.8.1
cuda 10.1
cuDNN 7.6.0
このバージョン以外で動作は確認していません。(yolov5-6.0、pyhon 3.7.11、pytorch 1.8.1の組み合わせでcuda11.1では動かないことを確認しました。)
geforceのGPUで動作させるには、CUDAとcuDNNという物のインストールとCUDAを動かすためのコンパイラを入手するためVisual Studioが必要になります。
Visual Studio2019 は以下サイトから入手できます。Visual Studio2022では動作しない可能性があるので2019を入れてください。
docs.microsoft.com
以下サイトから「CUDA10.1 Toolkit」を選択してダウンロードしてください。
developer.nvidia.com
CUDAのインストールが完了したら、cuDNNをダウンロードします。
cuDNNの入手にはアカウントが必要となるので持っていない方は作成してください。
「Download cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.1」を以下サイトから選択してダウンロードしてください。
developer.nvidia.com
CuDNNはダウンロードしたら解凍します。解凍したフォルダにある以下のデータがあると思います。
解凍したCuDNNデータ(bin,include,libファイル)をCUDA\v10.1に入れます。
CUDAをインストールしたときのパスを何も変更していなければ
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
にCUDAのデータがあるはずです。移すときにデータは上書きしてください。
下の画像部分に入れます。
パスを通しておくため環境変数に「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1」を登録しておいてください。
CUDAの保存場所を変えてる場合はそれに合わせてパスを変えてください。
環境変数の編集で新規、編集、削除がグレーアウトして選択できないときは以下を参考にしてください。→https://soiyasoiya58.hatenablog.com/entry/2022/03/21/142042
環境変数に登録した後は再起動してください。
再起動した後にCUDAが入っているかを確認するため、コマンドプロントを立ち上げてください。
nvcc -Vと入力し、導入しているバージョンが表示されているか確認してください。
下の画像のようにCuda compilation tools, release 10.1, V10.1.243と表示されていればCUDAが無事に入っています。
次にAnacondaでCUDA10.1に対応したPytorchバージョンをいれます。
yolov5自体の導入をしていない方は以下の記事を参考にしてください。
2022年1月時点のyolov5の導入方法 - AIと電子工作系ブログ
Anacondaでターミナル画面を立ち上げ、
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
と入力して下ください。
torchの導入するバージョンに関しては下のサイトに乗っているいるのでcuda v10.1以外を入れている方は参考にしてください。
pytorch.org
最後にyolov5で動作確認しましょう。
過去に書いた記事と確認方法はほぼ一緒です。
yolov5の始め方 (動作確認編) - AIと電子工作系ブログ
下画像が動作を確認した画像です。
(NVIDIA GeForce GTX 1650, 4096.0MB)と使用してるグラフィックボードと、画像の判定時間がCPUの時より早くなっています。
以上でGPUの導入は終了です。