Catalogue
YOLOv4 配置使用遇见的问题及解决
默认各种要求库已经安装完全更多详细教程参见官方教程
https://github.com/AlexeyAB/darknet
1. Makefile编译选项
根据自己电脑配置情况,选择对应的编译选项,将默认的0改为1
1 | GPU=1 |
2.编译失败找不到nvcc
在第75行左右将原来的nvcc更改为本地nvcc文件(不要文件夹是文件!!!)路径区分大小写
1 | #NVCC=nvcc |
3. 编译时找不到cuda
同上将文件中的指定路径换位本地cuda路径 添加版本号
1 | #COMMON+= -DGPU -I/usr/local/cuda/include/ |
4. 编译时文件中convolutional_layer等异常
进入clone的darknet 修改src/convolutional_layer.c 中的内容,由于C语言 不支持在for循环内部定义int导致317行及以后存在多处
1 |
|
5. 训练是否加载权重
由于我们时全新的自定义训练所以不需要加载权重
6. 停止训练后继续训练
启动训练时加载存放于 backup/XXX.weights
7. 可视化展示训练精度
训练时在结尾添加 -map 展示mAP(meaning average precision)在超过1000次后每隔100次根据您data中的vaild指定图片计算一次准确性
8. 开始训练时图片不能加载
Cannot load image XXXXX.jpg
1.可能时图片存放位置train.txt 中添加了不可见的错误字符 在windows系统下和Linux系统下
换行符不一致导致的错误,解决可利用脚本在Linux生成train.txt 或者通过notepad++ 更换为UNIX
可能时数据指定文件obj.data 问题和解决同上 或者指定位置出现错误
图片本身的问题,图片本身异常的格式转换或者其他问题导致。(有过一次不能加载图片初期以为时8位深灰度图导致,抄网上教程转为24RGB可以运行,但是后来查各种资料发现本身是支持8位深灰度图的并且相应代码有,又尝试了原8位深图又可以了,所以具体原因暂定,可能和运行指令指定网上下载权重的原因(基于RGB))
1 | if (im.c == 1) { |