• 1、获取更多的数据
  • 2、数据增广
  • 3、输入分辨率
  • 4、使用预训练pretrained模型
  • 5、选择合适的模型尺寸和架构
  • 6、继续之前的训练
  • 7、选择最好的模型
  • 8、模型评估
  • 9、导出模型
  • 10、优化推理速度

1、获取更多的数据

改进目标检测模型的最佳方法是收集更有代表性的数据,YOLO v4也不例外。
特斯拉人工智能高级总监安德烈•卡帕西在解释特斯拉如何让汽车停下来时表示:数据集是活的,标签一直在变化。你需要一直管理和更改数据集。

2、数据增广

收集和标记更多的数据需要代价。可以通过数据增广来扩展训练集。
YOLO v4的训练过程会自动进行数据增广(文章)。

3、输入分辨率

输入分辨率决定了将被传递到模型中学习和预测的像素数。
高分辨率可以提高准确性,帮助检测小物体,但代价是时间慢。YOLO的输入分辨率必须为32的倍数。默认是416x416。在cfg文件夹中更改宽度和高度。

4、使用预训练pretrained模型

一般,我们在预训练模型上进行微调。(yolo v4预训练模型)
预训练模型是在COCO数据集上进行了预先训练,该数据集包括人、自行车和汽车这样的常见对象。一般来说,如果你的训练任务中的目标和COCO数据集相似,从预训练模型微调是一个好主意。

darknet.exe detector train data/your.data cfg/your.cfg yolov4.conv.137

然而,如果你的训练任务中的目标和COCO数据集大相径庭,不如从头开始训练。

darknet.exe detector train data/your.data cfg/your.cfg

可以两者都试一试,比较哪个模型更好。

5、选择合适的模型尺寸和架构

如果你更关心推理速度,那么选择较小的模型YOLOv4-tiny。
查看cfg文件夹,并尝试更改网络架构和层,配置网络结构。
如果如果你的训练任务中的目标形状与COCO数据集差别很大,那么需要考虑实现自定义锚框,在cfg文件夹中更改anchors。

6、继续之前的训练

类似于使用预训练模型,您可以从继续之前的训练,或将从其他数据集学到的模型学习应用到新的数据集。

darknet.exe detector train data/your.data cfg/your.cfg your.weights

7、选择最好的模型

Darknet模型权重保存在backup文件夹中,基于验证集自动为你保存最好的模型_best.weights。
同时也会保存你训练时的最后权重_last.weights。

8、模型评估

在数据集和模型结构进行各种调整时,对结果进行跟踪是很有用的,这样您就可以看到怎么样组合对你的数据集最有效。
Darknet可以计算模型的mAP,这是一个主要指标。
另一个指标是推理的速度。

9、导出模型

Darknet的模型格式为*.weights。
可以通过一些方法将其转成其他框架比如TensorFlow支持的格式。

10、优化推理速度

减少模型推理时间的主要方法是使用更小的模型,如YOLOv4-tiny。
也可以通过提高硬件配置来实现,比如GPU或在Intel VPU上使用OpenVino进行推理。对于GPU,建议使用YOLOv4 TensorRT框架进行部署。

训练yolo V4模型调优的十个建议相关推荐

  1. Yolov5自定义图片训练测试及模型调优(详细过程)

    Yolov5自定义图片训练测试及模型调优(详细过程) 1. 图像数据获取.标注 2. 数据集划分及准备 3. 配置训练参数,准备训练: 3.1 修改data/训练配置xxx.yaml文件: 3.2 修 ...

  2. 深度学习入门知识整理-训练技巧以及模型调优

    目录 网络模型先简单后复杂 确认模型损失 检查中间输出和连接 关于可视化神经网络的主要方法,Faizan Shaikh 举出了三个例子: 超参数的选择 学习率范围侧视图Colab Notebook N ...

  3. 训练YOLO v4模型时,xml格式转txt格式

    YOLO训练时需要的标签数据是txt格式的 而以前做Faster-RCNN的时候,标签文件是xml格式的 特别当下载别人标记好的数据集时,很有可能提供的是xml格式的文件,那么如何将xml格式转为tx ...

  4. ML:通过数据预处理(分布图/箱型图/模型寻找异常值/热图/散点图/回归关系/修正分布正态化/QQ分位图/构造交叉特征/平均数编码)利用十种算法模型调优实现工业蒸汽量回归预测(交叉训练/模型融合)之详

    ML之LightGBM:通过数据预处理(分布图/箱型图/模型寻找异常值/热图/散点图/回归关系/修正分布正态化/QQ分位图/构造交叉特征/平均数编码)利用十种算法模型调优实现工业蒸汽量回归预测(交叉训 ...

  5. R语言机器学习Caret包(Caret包是分类和回归训练的简称)、数据划分、数据预处理、模型构建、模型调优、模型评估、多模型对比、模型预测推理

    R语言机器学习Caret包(Caret包是分类和回归训练的简称).数据划分.数据预处理.模型构建.模型调优.模型评估.多模型对比.模型预测推理 目录

  6. 笔记 | 百度飞浆AI达人创造营:深度学习模型训练和关键参数调优详解

    笔记 | 百度飞浆AI达人创造营:深度学习模型训练和关键参数调优详解 针对特定场景任务从模型选择.模型训练.超参优化.效果展示这四个方面进行模型开发. 一.模型选择 从任务类型出发,选择最合适的模型. ...

  7. 深度学习模型训练和关键参数调优详解

    深度学习模型训练和关键参数调优详解 一.模型选择 1.回归任务 人脸关键点检测 2.分类任务 图像分类 3.场景任务 目标检测 人像分割 文字识别 二.模型训练 1.基于高层API训练模型 加载数据集 ...

  8. 机器学习模型调优总结!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Xiaoyou Wang,编译:机器之心 无论是 Kaggle 竞 ...

  9. 收藏 | 机器学习模型调优3大策略

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 无 ...

最新文章

  1. Windows Mobile 设备中心 for vista 一览
  2. Linux分支代码必须公开吗,linux – 当拉出不同的分支时,让“git pull”请求确认...
  3. Sentinel介绍和Windows下安装Sentinel-dashboard
  4. 华软计算机网络技术,[计算机硬件及网络]计算机网络技术专业自评报告华软.doc...
  5. RHEL6 安装ipvsadm-1.26
  6. IO流-LineNumberReader
  7. 合成孔径成像算法与实现_(转)解读:为什么热成像测体温有时会显示35度以下?...
  8. 0—1背包问题,回溯实现
  9. 3.2.3节:特权级(转载)
  10. db2 linux 64位下载,Redhat6.2 64位 安装DB2V10.5
  11. SWA(随机权重平均)
  12. c语言 常量表达式,常量表达式(什么叫常量表达式)
  13. java closed_有关Java中isClosed()和isConnected()的一些误解
  14. java安装 2203_高手分析win7系统无法安装java程序提示“内部错误2203”的处理
  15. uipath工具介绍
  16. C#时间/日期格式大全
  17. 史诗级Java资源大全中文版
  18. impala shell
  19. 想练习黑客技术的,这16个网站也许可以帮到你
  20. 狂神。Mybatis学习。

热门文章

  1. C语言简单的日期校验函数
  2. 卸载利器IObit Uninstaller Portable v9.4.0.20绿化版
  3. 文档预览 OfficeWebViewer:在浏览器中查看Office文档
  4. 容器编排技术 -- Kubernetes kubectl create service externalname 命令详解
  5. js关于浅拷贝、深拷贝,数组的深拷贝
  6. 封装 Vue.js 组件库
  7. 【C语言】利用递归函数求n的阶乘
  8. 黑猫警长 stl_如何使用当地警长保护您的信息
  9. alan turing_Turing Machine交互式模拟器如何帮助您理解算法
  10. ibm cloud怎么使用_使用VueJS,FeathersJS和GraphQL快速入门IBM Cloud