yolov3的训练(六)darknet训练与测试


##################################
同学们,这个系列的文件不要直接就跟着我操作了,因为这个是踩坑的记录,不是教程,我只是将整个流程记录下来,让后面的同学操作的时候能够避开这些坑,希望你能将整个系列的操作流程看了一遍斟酌后进行操作
##################################

当前面几轮的流程完成后,便可开始训练

以每0.5秒实时监控GPU的情况,可以看到现在的GPU使用率

watch -n 0.5 nvidia-smi

在这里插入图片描述
进行训练

./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg yolov4.conv.137  >>  /home/heying/darknet/scripts/VOCdevkit/VOC2021/traffic_light.log

其中
这一行指令可以简化成
./darknet detector train [.data] [.cfg] [.weight]
【cfg/voc.data】->[.data] :指刚刚配置的.data文件路径
【 cfg/yolov3-voc.cfg】->[.cfg]:指刚刚配置的.cfg文件路径
【 darknet53.conv.74】->[.weight]:是预训练权重文件的路径,可以是.weight文件,也可以是.backup文件,在这里如果是同一个项目的话,第二次的训练可以使用第一次训练生成的模型文件
【>> /home/heying/darknet/scripts/VOCdevkit/VOC2021/traffic_light.log】将终端的标准输出写入指定的traffic_light.log文件,这个只是记录下了终端运行时的所有标准输出,也就是训练过程的记录,方便后续查看。非必要

成功开始训练
在这里插入图片描述

在等待了约6个小时后,训练完成。可以看到在目录darknet中生成的模型训练收拢图
在这里插入图片描述

然后在输出的log日志文件,可以看到已经完成了5000次的训练
在这里插入图片描述

当训练完成后
可以先查看生成的模型的识别效果
首先将摄像头连接到运行主机中

列出当前系统连接的所有的摄像头的端口号
ls /dev/video*
在这里插入图片描述
当有端口号输出后,表明摄像头连接成功,我这里使用【/dev/video4】端口
什么?你问我为啥有那么多的端口号,连接了多少个摄像头,其实这里我使用的是intel的D435I深度摄像头
在这里插入图片描述

移动到 darknet目录

cd darknet/


使用训练生成的模型来进行摄像头识别

./darknet detector demo cfg/voc.data cfg/yolov3-voc.cfg backup/yolov3-voc_5000.weights /dev/video4

在这里插入图片描述

其中
【./darknet detector demo】使用摄像头进行实时检测
【 cfg/voc.data】在进行训练时所使用的data文件路径
【cfg/yolov3-voc.cfg】在进行训练时所使用的cfg配置文件路径
【 backup/yolov3-voc_5000.weights】指定使用的识别模型,这里我们使用的是训练生成的红绿灯识别模型文件
【/dev/video4】指定的摄像头端口号,代表摄像头的数据来源

可以看到识别出来了数据
在这里插入图片描述
此时也可以移动,更换为绿灯查看识别的效果
在这里插入图片描述

识别过程中终端的输出
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Xiong2840/article/details/127937805