【YOLO Bug记录】darknet: ./src/utils.c:331: error: Assertion `0‘ failed. Aborted (core dumped)

问题描述

训练YOLOv4的过程中,输入代码:

$ ./darknet detector train cfg/xxx.data cfg/xxx.cfg
yolov4.conv.137

报错:darknet: ./src/utils.c:331: error: Assertion `0‘ failed. Aborted (core dumped)

darknet: ./src/utils.c:331: error: Assertion `0’ failed.
Aborted (core dumped)

解决方法

降低 .cfg文件中的batch值与width、height,如下图所示。
Fig. 1

解决过程

经过查找发现,引发相关报错的原因为包含:

  1. 配置文件(./cfg/xxx.cfg)中设置的batch过大。
  2. ARCH line 与电脑配置不匹配
  3. 对应cfg文件中subdivisions的值过小
  4. 显卡算力小,修改[convolutional]层的filters的值

幸运的是我发现原来make过的yolov4 文件可以运行,我对两个程序进行了对比,发现两个的配置相同:

CUDA-version: 11010 (11020), cuDNN: 8.1.0, GPU count: 1

但opencv的版本不相同,能运行的版本为Opencv 4.2.0, 报错版本为Opencv 4.5.2。 接下来就是对Opencv版本进行降级了。

将opencv版本降低为4.2.0后,再make过程中缺失opencv相关文件,如图所示。由于需要忙着训练网络,所以将Makefile中opencv = 0后重新make。
在这里插入图片描述
后来发现,需要修改.cfg文档中的batch、subdivision、width与height值。进行对应调整达到电脑对应配置后便可进行训练。

参考

[1]darknet: ./src/utils.c:256: error: Assertion `0’ failed. #1930
[2]darknet: ./src/utils.c:256: error:Assertion ‘0’ failed.
[3]darknet YOLOv4训练遭遇 darknet: ./src/utils.c:326: error: Assertion ‘0’ failed.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值