网路上比较多YOLO教学较多是base在Linux系统上,在windows上安装几经波折,以下纪录。 windows : Win10 GPU : GeForce GTX 950M & GeFo...
网路上比较多YOLO教学较多是base在Linux系统上,在windows上安装几经波折,以下纪录。
windows : Win10
GPU : GeForce GTX 950M & GeForce GTX 1050Ti
CUDA : CUDA 10.0
cudnn : 7.6
YOLO : AlexexAB fork github
下载ZIP
利用VS 2015 编译
进入darknet 资料夹
接下来分两个部分,依据有没有要使用GPU来决定要编译两个档案
使用GPU → darknet.sln & yolo_cpp_dll.sln
不使用GPU → darknet_no_gpu.sln & yolo_cpp_dll_no_gpu.sln
以下以使用GPU作为安装範例,如不使用GPU跳过CUDA相关设定即可以。
利用Visual studio 2015开启darknet.sln。
在专案darknet上按右键,选择property。
将Configuration选择Release,Platform选择x64。
VC++ Directories → Include Directories → 依据opencv安装位置设定路径
须设定build/include & build/include/opencv & build/include/opencv2
D:\PyData\opencv\build\include
D:\PyData\opencv\build\include\opencv
D:\PyData\opencv\build\include\opencv2
VC++ Directories → Library Directories → 依据opencv安装位置设定路径
D:\PyData\opencv\build\x64\vc14\lib
Linker → Input → Additional Dependencies → 加入opencv_world340.lib
opencv_world340.lib
↓↓↓ GPU 设定 ↓↓↓
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
C:\Program Files\NVIDIA GPU Computing Toolkit\cudnn-10.0-windows10-x64-v7.6.5.32\cuda
将cudnn的三个资料夹bin、include、lib中的档案(共三个档案)
複製到cuda的安装目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 相应的资料夹内
cudnn\cuda\bin的cudnn64_7.dll → CUDA\v10.0\bin
cudnn\cuda\bin的cudnn.h → CUDA\v10.0\include
cudnn\cuda\lib\x64\cudnn.lib → CUDA\v10.0\lib\x64
CUDA C/C++ → CUDA Toolkit Custom Dir → 依据CUDA安装位置设定路径
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0
↑↑↑ GPU 设定 ↑↑↑
在按下Visual Studio 2015 的Debugger 进行编译
如果编译成功,就会在x64资料夹下多一个darknet.exe档案
利用Visual studio yolo_cpp_dll.sln。再次执行上述步骤编译。← 生成DLL档案,可以让pyhton呼叫使用。
如果编译成功,就会在x64资料夹下多一个yolo_cpp_dll.dll档案
编译到最后出现以下画面即是成功。
在编译yolo_cpp_dll到最后会出现以下警告视窗是正常的,不要慌张。
下载weight档,依相应的需求到AlexeyAB Github 上下载weight档案。
在这边我会习惯建立一个'weights'资料夹,将所有weight档案放在这个资料夹,方便后续管理。
开启Terminal 进入x64资料夹,就可以测试简单範例。
.\darknet.exe detect .\cfg\yolov3-tiny.cfg .\weights\yolov3-tiny.weights .\data\dog.jpg
.\darknet.exe detect .\cfg\yolov3.cfg .\weights\yolov3.weights .\data\dog.jpg
.\darknet.exe detect .\cfg\yolov4.cfg .\weights\yolov4.weights .\data\dog.jpg
想要针对Video测试也可以
./darknet detector demo cfg/coco.data cfg/yolov3.cfg weights/yolov3.weights .\data\mission-impossible-fallout-2018-official-trailer-paramount-pictures.mp4
使用python呼叫yolo_cpp_dll.dll使用时,须将以下的dll放入同一个资料夹。(详后补