windows10+Pytorch中用yolov3训练自己数据记录

yolov3版本:下载地址:https://github.com/ultralytics/yolov3   选择原因pytorch中速度快、可以工业部署、不停的更新维护。后续有yolov5(只在其Github看到,后续可以尝试)
环境:windows10
          pytorch1.5(1.4)
           python3.7
          CUDA:10.2  (10.1)
           cuDNN7.6
          Visual Studio Enterprise 2019
1、需重新编译coco的PythonAPI 下载地址  https://github.com/cocodataset/cocoapi ;
cmd管理员权限打开进入coco\PythonAPI文件夹下,编译setup.py    命令:python setup.py build_ext --inplace
发现报错,主要内容为:
cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”
========解决方法============
打开coco\PythonAPI目录下的 setup.py文件,
修改ext_modules  extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'],
#修改为
#extra_compile_args=['-Wno-cpp', '-Wno-unused-function', '-std=c99'],
 extra_compile_args=['', '', ''],
然后继续执行:python setup.py build_ext --inplace
继续:python setup.py build_ext install
最后编译结束输出Finished processing dependencies for pycocotools==2.0表示成功

2、apex安装(忘了这个好像不用安装是测试YOLOv3-ASFF中安装的)
TypeError: Class advice impossible in Python3. Use the @Implementer class decorator instead
pip uninstall apex
git clone https://www.github.com/nvidia/apex(需安装git或直接下载)
cd apex
python setup.py install
3、官方模型测试(yolov3-spp-ultralytics.pt)
测试yolov3.weights +yolov3.cfg、 yolov3-spp-ultralytics.pt+yolov3-spp.cfg组合
yolov3-spp-ultralytics.pt(608*608  40ms 在测试推理时间速度要快于YOLOv3-ASFF_800_43.9.pth(https://github.com/ruinmessi/ASFF;YOLOv3-ASFF_800_43.9.pth  608*608  80ms    800*800  120ms);
python detect.py --names data/coco.names --cfg cfg/yolov3-spp.cfg --weights weights/yolov3-spp-ultralytics608.pt测试结果:(
测试图片用国内交通标志数据集的测试图


视频测试:

4、训练自己的数据

数据集制作:
国内交通标志数据集:共包含1465张640*640的交通标志图片,一共标注了6类交通标志,分别是:直行、左转、右转、禁行、禁鸣、人行横道,("straight", "left","right", "stop ", "nohonk", "crosswalk")。标注信息均保存在xml文件下载地址:https://www.kesci.com/home/dataset/5ea92354366f4d002d730fca 下载解压后的数据集格式:一个是xml何对应的图片。写脚本xml2voc2007转换为voc2007格式;之后采用darknet带的voc_label.py脚本转换为darknet需要的txt格式。总之我所用的数据集格式与darknet版本的一样。

yolov3-spp.cfg重新命名yolov3-sppTR.cfg并修改(共有三处)如下图:33=(num+5)*3

以yolov3-spp-ultralytics.pt作为预训练模型;cmd中执行如下命令即可
python train.py --data data/vocTR.data --cfg cfg/yolov3-sppTR.cfg --weights weights/yolov3-spp-ultralytics.pt --epochs 300


在IDE中只需修改如下图的即可:


我这里默认300 epochs就需要6个小时,运行结果如下图

python detect.py --names data/vocTR.names --cfg cfg/yolov3-sppTR.cfg --weights weights/last.pt:推理检测结果:




 

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值