AIと電子工作系ブログ

趣味でやっている電子工作とtennsorflow等を使った何かを書いていきます。

yolov5をGPUで動作させる方法

ここではyolov5をgeforceGPUで動作させる方法について記述します。

・環境
 OS :windows10
 CPU :Ryzen5 3600
 GPUGeforce 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では動かないことを確認しました。)

geforceGPUで動作させるには、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はダウンロードしたら解凍します。解凍したフォルダにある以下のデータがあると思います。
f:id:soiyasoiya58:20220219112300p:plain


解凍したCuDNNデータ(bin,include,libファイル)をCUDA\v10.1に入れます。
CUDAをインストールしたときのパスを何も変更していなければ
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
にCUDAのデータがあるはずです。移すときにデータは上書きしてください。
下の画像部分に入れます。
f:id:soiyasoiya58:20220219181651p:plain


パスを通しておくため環境変数に「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1」を登録しておいてください。
CUDAの保存場所を変えてる場合はそれに合わせてパスを変えてください。
環境変数の編集で新規、編集、削除がグレーアウトして選択できないときは以下を参考にしてください。→https://soiyasoiya58.hatenablog.com/entry/2022/03/21/142042

f:id:soiyasoiya58:20220219182536p:plain

環境変数に登録した後は再起動してください。


再起動した後にCUDAが入っているかを確認するため、コマンドプロントを立ち上げてください。
nvcc -Vと入力し、導入しているバージョンが表示されているか確認してください。
下の画像のようにCuda compilation tools, release 10.1, V10.1.243と表示されていればCUDAが無事に入っています。
f:id:soiyasoiya58:20220219183508p:plain



次に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の時より早くなっています。
f:id:soiyasoiya58:20220219184741p:plain

以上でGPUの導入は終了です。