关于yolov5训练时参数workers和batch-size的理解

这篇具有很好参考价值的文章主要介绍了关于yolov5训练时参数workers和batch-size的理解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

yolov5训练命令

 python .\train.py --data my.yaml --workers 8 --batch-size 32 --epochs 100

yolov5的训练很简单,下载好仓库,装好依赖后,只需自定义一下data目录中的yaml文件就可以了。这里我使用自定义的my.yaml文件,里面就是定义数据集位置和训练种类数和名字。

workers和batch-size参数的理解

一般训练主要需要调整的参数是这两个:

  • workers
    指数据装载时cpu所使用的线程数,默认为8。代码解释如下
parser.add_argument('--workers', type=int, default=8, help='max dataloader workers (per RANK in DDP mode)')

一般默使用8的话,会报错~~。原因是爆系统内存,除了物理内存外,需要调整系统的虚拟内存。训练时主要看已提交哪里的实际值是否会超过最大值,超过了不是强退程序就是报错。
关于yolov5训练时参数workers和batch-size的理解
所以需要根据实际情况分配系统虚拟内存(python执行程序所在的盘)的最大值
关于yolov5训练时参数workers和batch-size的理解

  • batch-size
    就是一次往GPU哪里塞多少张图片了。决定了显存占用大小,默认是16。
parser.add_argument('--batch-size', type=int, default=16, help='total batch size for all GPUs, -1 for autobatch')

训练时显存占用越大当然效果越好,但如果爆显存,也是会无法训练的。我使用–batch-size 32时,显存差不多能利用完。
关于yolov5训练时参数workers和batch-size的理解

两个参数的调优

  1. 对于workers,并不是越大越好,太大时gpu其实处理不过来,训练速度一样,但虚拟内存(磁盘空间)会成倍占用。
    关于yolov5训练时参数workers和batch-size的理解workers为4时的内存占用
    关于yolov5训练时参数workers和batch-size的理解
    workers为8时的内存占用

我的显卡是rtx3050,实际使用中上到4以上就差别不大了,gpu完全吃满了。但是如果设置得太小,gpu会跑不满。比如当workers=1时,显卡功耗只得72W,速度慢了一半;workers=4时,显卡功耗能上到120+w,完全榨干了显卡的算力。所以需要根据你实际的算力调整这个参数。
关于yolov5训练时参数workers和batch-size的理解
2. 对于batch-size,有点玄学。理论是能尽量跑满显存为佳,但实际测试下来,发现当为8的倍数时效率更高一点。就是32时的训练效率会比34的高一点,这里就不太清楚原理是什么了,实际操作下来是这样。

总结

以上参数的调整能最大化显卡的使用效率,其中的具体数值和电脑的实际配置还有模型大小、数据集大小有关,需要根据实际情况反复调整。当然,要实质提升训练速度,还是得有好显卡(钞能力)~~~~文章来源地址https://www.toymoban.com/news/detail-412507.html

到了这里,关于关于yolov5训练时参数workers和batch-size的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 鲸鱼算法优化LSTM超参数-神经元个数-dropout-batch_size

    1、摘要 本文主要讲解:使用鲸鱼算法优化LSTM超参数-神经元个数-dropout-batch_size 主要思路: 鲸鱼算法 Parameters : 迭代次数、鲸鱼的维度、鲸鱼的数量, 参数的上限,参数的下限 LSTM Parameters 神经网络第一层神经元个数、神经网络第二层神经元个数、dropout比率、batch_size 开始

    2023年04月16日
    浏览(45)
  • 【零基础玩转yolov5】yolov5训练自己的数据集(CPU训练+GPU训练)

     博主也是最近开始玩yolov5的,甚至也是最近开始使用python的,很多东西都没有接触过,因此训练自己的数据集花了不少时间,所以想写篇博客记录一下,希望同样是零基础的小伙伴们可以更加轻松的上手。同时大家如果发现了错误和理解偏差,欢迎指正。 参考资料: Yolo

    2024年02月06日
    浏览(70)
  • yolov5ds-断点训练、继续训练、先终止训练并调整最终epoch(yolov5同样适用)

    🍀yolov5 继续训练 🍅yolov5ds:Yolov5同时进行目标检测和分割分割(yolov5ds作者的博客介绍) github地址:👉yolov5ds 训练yolov5ds案例:用YOLOv5ds训练自己的数据集——同时检测和分割 两种情况: 训练过程中中断了,继续训练 训练完了,但是未收敛,在这个基础上,还想用这个权

    2024年01月21日
    浏览(89)
  • yolov5——训练策略

    yolov5的训练策略big big丰富,这也是yolov5涨分厉害的reason,目前yolov5的使用量也是非常大的,官网的star已经23.5k了,无论是在迁移学习还是实际场景的应用都是非常广泛的。之前参加比赛,发现好几页的选手都在使用yolov5,确实有必要梳理一下,yolov5的训练策略。感觉这些策略

    2024年02月08日
    浏览(34)
  • YOLOV5 训练

    windows上安装可以参考这篇知乎文章 自己准备数据集 可以使用 labelImg 工具,直接 pip install labelimg 就可以安装了。 命令行中输入 labelImg 就可以运行 标注数据的输出结果有多种过格式,VOC 、COCO 、YOLO等。 数据组织 先放目录树,建议先按照下面的目录格式,准备数据集。 我们

    2024年02月08日
    浏览(47)
  • yolov5训练结果解析

    yolov5训练结果的文件解析 1、weights训练好的模型,一般使用best.pt去进行推理 2、confusion_matrix.png 混淆矩阵以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。其中矩阵的行表示真实值,矩阵的列表示预测值。 TP(True Positive): 将正类预

    2024年02月06日
    浏览(63)
  • yolov5解读,训练,复现

    小白的第一篇csdn...最近在准备小论文,大概率是目标检测方向了,没经验,慢慢学,本文只是跟着b站的天才up主一起训练和复现,这里只是我记录yolov5的学习历程,都是大白话,没有专业术语,肯定也会说错很多东西,但是我都想记录在这里,这样就不会忘记啦,如果有幸被

    2024年02月10日
    浏览(56)
  • yolov5训练自己的数据集

    1.YOLOv5为开源代码,直接从github上下载,首先打开github官网,下载。 下载使用pycharm打开,有图中这些文件,   其中 data:主要是存放一些超参数的配置文件(这些文件(yaml文件)是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称)

    2024年02月07日
    浏览(120)
  • 【机器学习】yolov5训练结果分析

    yolov5模型训练后的结果会保存到当前目录下的run文件夹下里面的train中 下面对训练结果做出分析 在yolov5的训练结果中,confusion_matrix.png文件是一个混淆矩阵的可视化图像,用于展示模型在不同类别上的分类效果。混淆矩阵是一个n×n的矩阵,其中n为分类数目, 矩阵的每一行代

    2024年02月01日
    浏览(53)
  • YoloV5 训练长方形图像

    官方的源代码中,训练的时候将rect开启,即可进行长方形训练同时也会进一步降低训练时的显存。  Imagesz只需要设置图像最大尺寸即可,在dataload中,读取图像时候会进行判断处理,  在load_image过程中,会将图像等比例缩放 比如原图为1280*640。 输入的imagesize为1280的话,则读

    2024年02月11日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包