PythonMania

普段はロボットとAIを組み合わせて色々作ってます。Python関係以外も色々投稿していくと思います。

【Python】Windows+Anaconda3でYOLOv3を動かしてみる

f:id:mizuhiki0111:20190501173702p:plain

環境

Windows10 64bit
Anaconda3
Python3.6.5
GPU Nvidia GTX1050





①VisualStudio2017のインストール

以前の記事を参考にインストールします

www.pythonmania.work


②CUDA・cudnnのインストール


これも上記記事を参考にインストールします

ただし今回はCUDA10.0をインストールしてください(cudnnもCUDAのバージョンに合わせます)



③OpenCVのインストール


opencv.org

ここからOpenCV3.4.0のWindows版をインストールします

インストール後、C直下に「opencv_3.0」というディレクトリを作成し、そのフォルダ内で展開しておきます。

また、「C:\opencv_3.0\opencv340\opencv\build\x64\vc14\bin」を環境変数に追加しておきます。




④VisualStudioからdarknetをコンパイルする


以下からdarknetのソースを取得します


github.com


まず初めにGPU、OPENCVを使用する場合にはmakefileを編集しておきます。

darknet/にあるmakefileを開き、最初のGPU=とOPENCV=を「0」→「1」に変更しておきます。


次にbuild/darknet/darknet.slnをVisualStudioで開きます。

その後以下の手順でコンパイルします


1.構成:Releaseに変更
2.プラットフォーム:x64に変更
3.「ビルド」→「ソリューションのビルド」

これでbuild\darknet\x64にdarknet.exeができているはずです。


※CUDAが10.0以外の場合には、プロジェクト欄のdarknetを右クリックし、

「ビルドの依存関係」→「ビルドのカスタマイズ」でCUDA10.0のチェックを外し、使用するバージョンに変更してください。





⑤重みファイルのダウンロード

以下から重みファイルをダウンロードし、build\darknet\x64に保存しておきます。

pjreddie.com




⑥テスト

build\darknet\x64ディレクトリに移動し、以下のコマンドでYolov3を動かしてみます。

darknet.exe detector test data/coco.data yolov3.cfg yolov3.weights -i 0 -thresh 0.25 dog.jpg