ubuntu16.04编译运行YOLOv4

YOLOv4使用GPU测试及训练配置要求:

CUDA 10.0  cudnn 7.0以上 opencv2.4以上 

YOLOV4的权重文件以及训练预权重文件链接如下:

https://pan.baidu.com/s/18Gq97bhUzLz2i8wnvSBy8g 提取码:4131

满足配置的情况下详细过程如下:

1.下载YOLOV4

git clone https://github.com/AlexeyAB/darknet.git

2.编译

(1如果只用CPU测试,没有安装CUDA和Cudnn,直接cd到指定目录下make编译即可.

cd darknet
make

之前可能会报错

error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode

Makefile:162: recipe for target 'obj/network.o' failed

是因为darknet/src/network.c代码中for循环哪里有点问题,需要将将for循环中int batch=0改成batch=0,并在for循环前加上int batch.但是现在github上的已经更新维护,都已经修改过了.

(2)装了对应版本的CUDA和cudnn,需要用到GPU测试和训练等.

首先,打开darknet下的Makefile文件,将一些参数修改GPU=1,CUDNN=1,opencv=1,以及第64行的NVCC修改到自己电脑下CUDA的目录下如下所示:

 

修改之后,和上面一样cd到darknet目录下,然后编译

cd darknet
make

最后安装成功后会,尝试执行命令:

./darknet

会输出:

即可.

注意:如果报CUDA或者没有cudnn.h相关一类的错误,检查CUDA的路径是否正确,如果没有安装或者版本不满足要求,可以参考CUDA及cudnn安装.

3.测试

测试命令和YOLOV3的差不多:

./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg

那张熟悉的狗狗图片,另附上YOLOV3的检测情况:

YOLOV4的检测效果 yolov4                YOLOV3的检测效果yolov3

另外V4的数据集和V3是有一点区别的,后续制作了数据集会更新

参考文献:

https://blog.csdn.net/ly_twt/article/details/105748280#comments_12014895

猜你喜欢

转载自blog.csdn.net/zbr794866300/article/details/106409320
今日推荐