見出し画像

[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環境がある方はぜひお試しください。



この記事が気に入ったらサポートをしてみませんか?