機械学習をしている人の多くはOSにUBUNTSU(Linux)を使っているかと思いますが,今回は研究室の事情でWindowsOSで機械学習を回す環境を構築することになりました.Windows10でYOLOを使った機械学習をする環境を構築する方法の記事がネット上に少ないようでしたので藤澤研で構築した環境をここに残しておきます.以下の作業でWindowsでYOLOを使った機械学習の環境を構築できるようになるはずです.
先ず,Nvidia Driverをインストールします.搭載しているGPUは以下の通りです.
GPU:RTX2060(デバイスマネージャーで確認)
CUDA11.0を使う予定(2020年10月の時点で最新バージョンは11.1)
ベータドライバ & 過去のドライバ
検索(図1)
GeForce Game Ready Driver WHQL を選択
追加情報のGame Ready Driver Release NotesでCUDA対応バージョンを確認(図2,図2_1)
ダウンロード
図1:ドライバの検索画面
図2:ドライバがCUDAのどのVer.に対応しているのか確認!
図2_1:ドライバがCUDAのどのVer.に対応しているのか確認!
次に,CUDA11.0をインストールします.
以下のURLからWindows,x86_64,10などを設定します.
https://developer.nvidia.com/cuda-11.0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exenetwork
選択しダウンロードします(図3).
保存先を[C:\CUDA]に変更しておきましょう.
図3:どのVer.のCUDAをDLするか選択
次に,CUDNN for CUDA11.0をインストールします.
以下のサイトに行きます.
https://developer.nvidia.com/rdp/cudnn-download
for CUDA11.0のCUDNNを選択(図4)
cuDNN Library for Windows を選択
展開後CUDAファイルをローカルに移動
以下の中身を全て矢印の右側のフォルダへコピペします.
C:\cuda\bin → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin
C:\cuda\include → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include
C:\cuda\lib\x64 → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64
図4:②でインストールしたCUDAのVer.用のCUDNNを選択
次に,Visual studio 2017をインストールします.(2019以降のVSで動作確認していません.)
Visual studio 2017 をインストールします.
ドライバーを読み込んで、ワークロードに以下を選択
・C++ によるデスクトップ開発
・Python開発
・C++によるLinux開発
インストール
次に,cmakeをインストールします.
下記URLへ移動します
https://cmake.org/download/
cmake-3.18.4-win64-x64.msiチェック(最新バージョンでよい)(図5)
全て「next」で進みます.
図5
次に,opencv 4.4.0をインストールします.
opencv-4-4-0のsourcesを選択
展開して、ローカルに移動
C:\opencv440\の中にbuildフォルダを生成
opencv440
|-opencv-4.4.0
|-build ←新しく生成
cmake-guiを開く
source code と binariesのpathを選択(図6)
source code:C:\opencv440\opencv-4.4.0
binaries : C:\opencv440\build
Configureをクリック
visual studio 15 2017 とx64を選択(図7)
BUILD_opencv_worldを選択
Generate
C:\opencv440\build\ALL_BUILD.vcxprojをvisual studio 2017で開く
Releaseとx64に変更
CMakeTargetsのALL_BUILDを右クリックでビルド
CMakeTargetsのをINSTALLを右クリックでビルド
環境変数pathに追加
Path:C:\opencv440\build\install\x64\vc15\bin
OPENCV_DIR:C:\opencv440\build\install (OPEN_DIRは新規で作成)
図6
図7
次に,darknetをインストールします.
Download Zip
展開してローカルに移動
cmake-guiを開く
source code と binariesのpathを選択
source code:C:\darknet
binaries : C:\darknet\build
Configureをクリック
Generate
C:\darknet\build\Darknet.slnをvisual stdio 2017で開く
Releaseとx64に変更
CMakeTargetsのALL_BUILDを右クリックでビルド
CMakeTargetsのをINSTALLを右クリックでビルド
C:\darknetにdarknet.exeが生成される
C:\darknet\3rdparty\pthreads\binの中身をC:\darknetにコピペ
yolov4.weightsをダウンロードし、C:\darknetに保存 (https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights)
それでは,実行してちゃんと動くか確認してみましょう.
コマンドプロンプトを開く
C:\darknetに移動
適当な写真を任意の場所に保存(今回はC:\darknet\data\test.JPG)
darknet.exe detector test cfg/coco.data cfg/yolov4.cfg yolov4.weightsを入力
Enter Image Path:に写真のpathを指定(C:\darknet\data\test.JPG)
完了
お疲れさまでした.