Windows下运行Yolo3 darknet遇到的各种坑

Windows下运行Yolov3 darknet遇到的各种坑及其解决方法

由于普遍的机器学习生产环境为Linux环境,因此在Windows下面的案例可能相对较少,产生的问题也可能更多,本文就自己在Windows下运行Yolo3 darknet遇到的各种坑和相关处理方法做一个总结。

基本的运行环境搭建

这一部分,请大家参考以下链接(过程较为详细):https://blog.csdn.net/clover_my/article/details/89885187
https://blog.csdn.net/congcong7267/article/details/82841647

踩坑1:不知如何添加附加依赖项opencv_world320.lib、opencv_world320d.lib

首先,需要在库目录中添加opencv的lib目录,接着在附加依赖项的框中,输入opencv_world320.lib、opencv_world320d.lib两个库文件名
Windows下运行Yolo3 darknet遇到的各种坑_第1张图片

踩坑2:生成darknet时报无法解析的外部符号_imp_pthread_xxx

Windows下运行Yolo3 darknet遇到的各种坑_第2张图片
此时需要下载pthreads-w32库,并在链接库设置中添加该pthreadVC2.lib(或pthreadVC.lib,设置方法和踩坑一中的opencv_world320设置方法相同),内容参考以下博文:
https://blog.csdn.net/qianchenglenger/article/details/16907821

踩坑3:生成darknet时报无法解析的外部符号curandCreateGenerator、curandGenerateUniform、curandSetPseudoRandomGeneratorSeed

头文件问题,在darknet.h中添加

#pragma comment(lib, "cudart.lib")
#pragma comment(lib, "curand.lib")

以此便可解决VS2017 无法解析的外部符号 curandCreateGenerator等问题,该方法参考自以下博文:
https://bbs.csdn.net/topics/390446583

踩坑4:测试时,遇到 CUDA status Error: file: …\src\dark_cuda.c : cuda_set_device错误

这是用darknet_yolo_v3.cmd测试数据集yolov3.weights时遇到的运行问题,测试教程如下:
https://blog.csdn.net/congcong7267/article/details/82841647
解决的方法是将显卡驱动更新到最新(使用GPU项目的版本,不使用GPU情况未测试),更新方法有很多,请大家自行搜索
(最后,还是推荐大家在Linux系统环境下进行计算机视觉相关训练)

你可能感兴趣的:(机器学习)