One-YOLOv5 v1.1.0发布

电子说

1.3w人已加入

描述

one-yolov5 v1.1.0 发布

本文的某些链接可能不能正常显示,完整版本Release Note请看:https://github.com/Oneflow-Inc/one-yolov5/releases/tag/v1.1.0

feature

 01 完善代码仓库的示例文档 02  RTX 3090 FP32 YOLOv5s的训练速度提升了近20%,其它网络均有不同程度的加速 所有的优化都集中于 `bbox_iou_optim` 和 `multi_tensor_optimizer` 这两个扩展的 Flag,只要我们训练的时候打开这两个Flag就可以享受到 [消费级显卡的春天,RTX 3090 YOLOv5s单卡完整训练COCO数据集缩短11.35个小时](https://mp.weixin.qq.com/s/Qh3JCAaPox3TUB0a6Lb_ug) 这里提到的所有优化了。其他的运行命令和 One-YOLOv5 原版本没有变化,以 One-YOLOv5 在 RTX 3090  上使用 COCO 数据集训练 yolov5s 为例,  命令为: 
单卡 amp epoch gpu batch 网络结构文件 time(min)
OneFlow False 1 1 8 yolov5s.yaml 14:53
PyTorch False 1 1 8 yolov5s.yaml 25:10
OneFlow False 1 1 16 yolov5s.yaml 12:11
PyTorch False 1 1 16 yolov5s.yaml 14:38
OneFlow False 1 1 8 hub/yolov5x6.yaml 122
PyTorch False 1 1 8 hub/yolov5x6.yaml 129
测试指令
python train.py --batch  16 --cfg models/hub/yolov5x6.yaml --weights '' --data coco.yaml --img 640 --device 0 --epoch 1 --bbox_iou_optim --multi_tensor_optimize

#
python train.py --batch  16 --cfg models/hub/yolov5x6.yaml --weights '' --data coco.yaml --img 640 --device 0 --epoch 1

#
python train.py --batch  8 --cfg models/hub/yolov5x6.yaml --weights '' --data coco.yaml --img 640 --device 0 --epoch 1  --hyp data/hyps/hyp.scratch-high.y --noautoanchor  --bbox_iou_optim --multi_tensor_optimizer

#
python train.py --batch  8 --cfg models/hub/yolov5x6.yaml --weights '' --data coco.yaml --img 640 --device 0 --epoch 1  --hyp data/hyps/hyp.scratch-high.y --noautoanchor
03 支持使用 wandb 对实验跟踪和可视化功能 使用coco128数据集 对 wandb 集成可视化测试示例        
    操作指南 04 oneflow_hub_support_pilimage 操作指南 05 为每个batch的compute_loss部分减少一次h2d和cpu slice_update操作 pr: optim_slice_update_in_compute_loss 06 优化 bbox_iou 函数和模型滑动平均部分,大幅提升训练性能 消费级显卡的春天,GTX 3090 YOLOv5s单卡完整训练COCO数据集缩短11.35个小时 07 兼容FlowFlops,训练时可以展示模型的FLOPs 基于 Flowflops 详解深度学习网络的 FLOPs 和 MACs 计算方案 08 模型权重发布ONNX版本,方便用户直接部署验证

bug fix

 01 解决memory和loss显示错位问题  02 无法自动下载权重问题  03 修复单独运行yolo.py脚本ModuleNotFoundError 04 修复通过追加保存模型的方式

one-yolov5 文档更新

发布了的文章

  • 0. one-yolov5特点解析
  • 1. 消费级显卡的春天,GTX 3090 YOLOv5s单卡完整训练COCO数据集缩短11.35个小时
  • 2. YOLOv5 网络结构解析
  • 3. 如何准备yolov5模型训练数据
  • 4. 快速开始
  • 5. 从OneFlow Hub 加载YOLOv5
  • 6. 测试时增强 (TTA)
  • 7. 模型融合 (Model Ensembling)
  • 8. 数据增强
  • 9. 矩形推理
  • 10. IOU深入解析
  • 11. 模型精确度评估
  • 12. 计算mAP用到的numpy函数
  • 13. ONNX模型导出
  • 14. train.py源码解读

持续新增中...

已开发待发布的教程和源码解读

  • tutorial.ipynb
  • tutorials/03_chapter/intro_to_wandb.md
  • source_code_interpretation/augmentations.py
  • source_code_interpretation/dataloaders.py
  • source_code_interpretation/downloads.py
  • source_code_interpretation/general.py
  • source_code_interpretation/plots_py.md
  • source_code_interpretation/callbacks_py.md
  • source_code_interpretation/detect_py.md
  • source_code_interpretation/val_py.md
  • source_code_interpretation/utils/loss_py

FAQ

训练前,请先阅读 本文的FAQ总结的一些常见问题  !(这可以节省您的时间)

注意:

  • oneflow目前不支持windows平台
  • 目前OneFlow 需要安装 nightly 版本,等OneFlow后续新版本发布后可以安装稳定版。
  • --batch 必须是GPU数量的整数倍。
  • ddp模式训练时,GPU 0 将比其他GPU占用略多的内存,因为它维护EMA并负责检查点等。

展望

下个版本我们将继续优化YOLOv5的单卡和DDP性能,更为重要的是我们将尽力支持好Eager AMP的训练进一步扩大我们相对于官方 YOLOv5 的性能优势。


审核编辑 :李倩

 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分