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的目录下如下所示:

ubuntu16.04编译运行YOLOv4_第1张图片 ubuntu16.04编译运行YOLOv4_第2张图片

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

cd darknet
make

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

./darknet

会输出:

ubuntu16.04编译运行YOLOv4_第3张图片

即可.

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

3.测试

测试命令和YOLOV3的差不多:

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

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

ubuntu16.04编译运行YOLOv4_第4张图片 yolov4                ubuntu16.04编译运行YOLOv4_第5张图片yolov3

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

 

 

参考文献:

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

 

你可能感兴趣的:(深度学习)