2.1【YoloV3–pytorch】Part One:基于Pytorch的YoloV3训练自己的数据集----准备数据集、配置文件并下载预训练权重文件
二、训练
按照之前的blog准备就绪后便可以字节开始训练了。
python train.py --data data/voc.data --cfg cfg/yolov3-tiny.cfg --epochs 300 --weights weights/yolov3-tiny.weights
会在weights文件夹下生成best.pt和last.pt,last.pt主要是用来在上次程序中断之后,下次可以继续接着进行训练。
训练结果曲线图如下:(会自动生成在根目录下)
同时还会在根目录下生成runs这样一个文件夹,可以用tensorboard打开查看其中的loss曲线图,如下:。
二、预测
将待测试图像文件放到samples文件夹下,运行:
python detect.py --data data/voc.data --cfg cfg/yolov3-tiny.cfg --weights weights/best.pt
也可指定存放待测试图像的source文件路径,例如:
python detect.py --data data/voc.data --cfg cfg/yolov3-tiny.cfg --weights weights/best.pt --source data/test
测试结果如下:
从图中可以看到检测框的置信度很低,这是因为所用的网络结构比较简单,训练次数较少。(不过目前只能这样了,毕竟硬件跟不上啊,等嘛时候返校了,就可以在实验室的电脑上可劲造了)
三、测试评估
python test.py --data data/voc.data --cfg cfg/yolov3-tiny.cfg --weights weights/last.pt
结果生成在根目录下。
到此为止,基于pytorch的yolov3训练自己的数据集的实现步骤基本结束了,不过要想细致的理解网络可不是一朝一夕的事儿,后续有新的体会再作进一步更新吧。----->everybody come on.
资源下载链接:
yolov3-tiny.weights下载资源
yolov3-tiny.conv.15下载资源
darknet53.conv.74下载资源
yolov3.weights下载资源
yolov3-spp.weights下载资源
参考资料:
https://github.com/ultralytics/yolov3
https://pytorch.org/get-started/locally/
?????Yolov3的.cfg文件中的参数详解
?????参考Blog1
?????参考Blog2
?????参考Blog3
????参考Blog4
???参考Blog5