# Darknet 環境構築 on Windows

kazuya0202/setup-datknet (opens new window)を移植したものです。

NOTE

Visual Studio 2019に対応していないため、2013 ~ 2017を使う必要があります。

ライブラリ バージョン
CUDA 10.0
cuDNN 7.6.5
OpenCV 3.4.6

# VS2017 のインストール

Visual Studio をインストールしていない、もしくは VS 2019 以前をインストールしていない場合は、VS2017 - Release Notes (opens new window) からVS2017をインストールする。

image-20200229184947148

# CUDA セットアップ

CUDA (opens new window) 参照。

TIP

Version: 10.0


# cuDNN セットアップ

cuDNN (opens new window) 参照。

TIP

Version: 7.6.5


# OpenCV セットアップ

OpenCV インストール方法 (opens new window) 参照。

NOTE

Version: 3.4.6

3.4.6でなくても、3.x.x をインストールする。


# Darknet

# 1. ダウンロード

alexeyAB/darknet (opens new window) をCloneまたはzipをダウンロード(zipをダウンロードした場合は、展開までする)。


# 2. ソリューション(.sln)の編集

darknet\build\darknet\darknet.slnを起動する。

NOTE

Visual Studio 2019 以前のバージョンで起動する。

※ ソリューション操作の再ターゲットが出た場合は、[OK]をクリック

# 2-1. プロジェクトの再ターゲット

ソリューション(darknet)を右クリック > [プロジェクトの再ターゲット] > [OK]

20191027-2

# 2-2. ビルド

ビルド設定をRelease / x64にする

1561473703555

Ctrl + Shift + B[メニューバー] > [ビルド] > [ソリューションのビルド])でソリューションをビルドする

image-20200301165410105

TIP

このとき、OpenCV の設定がうまくいかずエラーが発生するがそのまま。

# 2-3. プロパティの編集

ソリューション(darknet)を右クリック > [プロパティ]

image-20200301165901013

# インクルードディレクトリの設定

  1. 編集画面を開く。

    [C/C++] > [追加のインクルードディレクトリ] > [▼] > [編集]

  2. 2行目のC:\opencv_3.0\...を自分の環境での OpenCV のパスに変更する。

    C:\opencv\build\include  # 例
    
    1561472503506

# リンカーの追加ライブラリディレクトリの設定

  1. 編集画面を開く。

    [リンカー] > [追加のライブラリディレクトリ] > [▼] > [編集]

    1561473145522
  2. 先ほどと同様に、3行目を自分の環境のパスに変更する

    C:\opencv_346\build\x64\vc15\lib  # 例
    
    1561473268096

# ビルドの依存関係の設定

  1. ソリューションを右クリック > [ビルドの依存関係] > [ビルドのカスタマイズ]

    1561473401067
  2. [CUDA 10.0]を選択して[OK]をクリック

    1561473576079

# 2-4. 再ビルド

成功した場合は、darknet/build/darknet/x64/フォルダの中にdarknet.exeができている。

TIP

成功しない場合は、手順をやり直す。

何度やってもnvcc.exe関連のエラーが出る場合は、Visual Studio自体、もしくはPC自体に問題がある。


# 3. 確認

darknet\build\darknet\x64\にディレクトリを移動して、下記のコマンドを実行する。

.\darknet.exe
# => usage: .\darknet <function>

上のような結果が得られれば、正常にビルドされている。