ubuntu 训练darknet-yolov4遇到的问题合集。(bus error,Segmentation fault(core dumped))

本文讲述了在Ubuntu环境下使用YOLOV4遇到的问题,包括cuDNN配置错误、OpenCV版本不匹配和CUDA环境引发的Bus error。作者提供了详细的解决方案,涉及卸载重装、Makefile修改等步骤,适合CUDA新手和YOLOV4开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

最近这段时间在Ubuntu试YOLOV4,在训练过程中遇到了许多问题,对其进行了总结。


问题1

/usr/local/cuda/include/cudnn.h:61:10: fatal error: cudnn_ops_infer.h: No such file or directory
#include “cudnn_ops_infer.h”
^~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:182: recipe for target ‘obj/image_opencv.o’ failed
make: *** [obj/image_opencv.o] Error 1
请添加图片描述
解决方案:这是cuDNN没有配置好的原因,推荐卸载cuDNN然后采用deb的方式安装,tgz安装即使查版本号能显示,但可能还是没有完全装上。具体配置可以参考我写的配置流程

问题2

./src/image_opencv.cpp:16:10: fatal error: opencv2/core/version.hpp: No such file or directory
#include <opencv2/core/version.hpp>
请添加图片描述
解决方案:这是因为你Makefile opencv设置为了1,但是你并没有安装c++的opencv
在这里插入图片描述

具体安装流程可以参考----》这个

问题3

Bus error(coredumped)
网上我看别人训练YOLOV4时,这个问题的描述几乎没有,也是研究了很久才解决这个坑。还是cuda环境配置问题,环境配置太重要了
在这里插入图片描述
解决方案:可以将这三个设置为0,重新make ,如果可以正常用cpu训练,则就是cuda 环境配置问题。我是直接卸载了cuda,和cudnn重新配置了一下,发现就能调用GPU训练了。可以参考配置流程
在这里插入图片描述

还有makefile里面的路径一定要调对。可以参照我的
请添加图片描述
原来的Makefile是直接nvcc = nvcc
要修改为NVCC=/usr/local/cuda/bin/nvcc
请添加图片描述
请添加图片描述
如果还是不行,将上图中路径里的cuda改为(cuda-版本号)例如:/local/cuda-10.2/lib

问题4

CUDA error: no kernel image is available for execution on the device
Segmentation fault(core dumped)
请添加图片描述
解决方案:算力参数需要按照你自己显卡来调节,改ARCH,按照他提供的参考,直接复制黏贴替换原来的位置。(我的显卡是1650ti,所以选择的是1050,1060那区间的参数)
请添加图片描述请添加图片描述
还有一种可能就是你的显卡不支持CUDNN HALF,所以设置为0,重新make
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值