batchsize大小对训练速度的影响

1.batchsize越大 是不是训练越快?

GPU :一块2080Ti
平台:pytorch cuda
图片数量:2700

batchsize一个图片处理时间GPU内存占用GPU算力使用一个epoch 所用时间
10.117s2.5G20%2700 * 0.0117 = 318s
50.516s8G90%2700 * 0.516/5 = 279s

batchsize大了之后,占用的资源多了,算力多了,但是速度没有提升,这样是不是太坑了
我们其实可以把 batchsize设置小点,然后把剩余的内存跑其他实验,而且再在同一张卡上跑一个新的实验,对之前的速度也没有影响。

结论:
1.本人实验 batchsize越大,训练速度提升不大
2.bachsize小点,多跑几个实验真香

完成每个epoch运算的所需的全部时间主要卡在:

  1. load数据的时间,
  2. 每个epoch的iter数量。
  3. 因此对于每个epoch,不管是纯计算时间还是全部时间,大体上还是大batch能够更节约时间一点,但随着batch增大,iter次数减小,完成每个epoch的时间更取决于加载数据所需的时间,此时也不见得大batch能带来多少的速度增益了。

2.batchsize大了,是不是结果会变好?

收集资料发现,确实是这样的,但是也不能太大了

在这里插入图片描述

  1. Batch_Size 太小,算法在 200 epoches 内不收敛。
  2. 随着 Batch_Size 增大,处理相同数据量的速度越快。
  3. 随着 Batch_Size 增大,达到相同精度所需要的 epoch 数量越来越多。
  4. 由于上述两种因素的矛盾, Batch_Size增大到某个时候,达到时间上的最优。
  5. 由于最终收敛精度会陷入不同的局部极值,因此 Batch_Size增大到某些时候,达到最终收敛精度上的最优。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535202.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytorch:加载预训练模型(多卡加载单卡预训练模型,多GPU,单GPU)

在pytorch加载预训练模型时,可能遇到以下几种情况。 分为以下几种在pytorch加载预训练模型时,可能遇到以下几种情况。1.多卡训练模型加载单卡预训练模型2. 多卡训练模型加载多卡预训练模型3. 单卡训练模型加载单卡预训练模型4. 单卡训练模型加载多卡预训…

知识蒸馏 knowledge distill 相关论文理解

Knowledge Distil 相关文章1.FitNets : Hints For Thin Deep Nets (ICLR2015)2.A Gift from Knowledge Distillation:Fast Optimization, Network Minimization and Transfer Learning (CVPR 2017)3.Matching Guided Distillation&#xff08…

模型压缩 相关文章解读

模型压缩相关文章Learning both Weights and Connections for Efficient Neural Networks (NIPS2015)Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding(ICLR2016)Learning both Weights and …

Latex 生成的PDF增加行号 左右两边

增加行号 \usepackage[switch]{lineno}\linenumbers \begin{document} \end{document}

Linux 修改用户名的主目录 家目录

首先root 登陆 sudo -i 输入密码然后 vim /etc/passwd 找到用户名 然后修改后面的路径即可

ubunt16.04 安装3090显卡驱动 cuda cudnn pytorch

安装驱动 需要的安装包 30系列显卡是新一代架构,新驱动不支持cuda9以及cuda10,所以必须安装cuda11、而pytorch现在稳定版为1.6,最高仅支持到cud10.2。所以唯一的办法就是使用上处于beta测试的1.7或1.8。这也是为啥一开始就强调本文的写作时…

测试项目:车牌检测,行人检测,红绿灯检测,人流检测,目标识别

本项目为2020年中国软件杯A组第一批赛题"基于计算机视觉的交通场景智能应用".项目用python实现,主要使用YOLO模型实现道路目标如人、车、交通灯等物体的识别,使用开源的"中文车牌识别HyperLPR&a…

linux 安装python3.8的几种方法

1.命令行搞定 git clone https://github.com/waketzheng/carstino cd carstino python3 upgrade_py.py2.离线安装 自己在官网下载安装包 https://www.python.org/ftp/python/3.8.0/ 解压: tar -zvf Python-3.8.0.tgz安装 cd Python-3.8.0 ./configure --prefix/u…

面试题目:欠拟合、过拟合及如何防止过拟合

对于深度学习或机器学习模型而言,我们不仅要求它对训练数据集有很好的拟合(训练误差),同时也希望它可以对未知数据集(测试集)有很好的拟合结果(泛化能力),所产生的测试误…

LaTeX:equation, aligned 书写公式换行,顶部对齐

使用aligined 函数,其中aligned就是用来公式对齐的,在中间公式中,\ 表示换行, & 表示对齐。在公式中等号之前加&,等号介绍要换行的地方加\就可以了。 \begin{equation} \begin{aligned} L_{task} &\lamb…

Latex: 表格中 自动换行居中

1、在导言区添加宏包: \usepackage{makecell}2、环境:tabular 命令: \makecell[居中情况]{第1行内容 \\ 第2行内容 \\ 第3行内容 ...} \makecell [c]{ResNet101\\ (11.7M)}参数说明: [c]是水平居中,[l]水平左居中&am…

在服务器上远程使用tensorboard查看训练loss和准确率

本人使用的是vscode 很简单 from torch.utils.tensorboard import SummaryWriter writer SummaryWriter(./logs)writer.add_scalar(train_loss,loss.val(),iteration) # 名字,数据,迭代次数训练的过程中会产生一个./logs的文件夹,里面存放的…

pytorch:固定部分层参数,固定单个模型

文章目录固定部分层参数固定指定层的参数不同层设置不同的学习率固定部分层参数 class RESNET_attention(nn.Module):def __init__(self, model, pretrained):super(RESNET_attetnion, self).__init__()self.resnet model(pretrained) # 这个model被固定for p in self.parame…

各种损失损失函数的使用场景和使用方法:KL散度

KL 散度的使用场景 KL散度( Kullback–Leibler divergence),又称相对熵,是描述两个概率分布 P 和 Q 差异的一种方法 torch.nn.functional.kl_div(input, target, size_averageNone, reduceNone, reductionmean) torch.nn.KLDivLoss(input, target, si…

RNN,LSTM,GRU的理解

RNN x 为当前状态下数据的输入, h 表示接收到的上一个节点的输入。 y为当前节点状态下的输出,而h′h^\primeh′为传递到下一个节点的输出. LSTM #定义网络 lstm nn.LSTM(input_size20,hidden_size50,num_layers2) #输入变量 input_data Variable(tor…

常用的loss函数,以及在训练中的使用

文章目录KL 散度L2 loss做标准化处理CElossCTCLossAdaptiveAvgPool2dKL 散度 算KL散度的时候要注意前后顺序以及加log import torhch.nn as nn d_loss nn.KLDivLoss(reductionreduction_kd)(F.log_softmax(y / T, dim1),F.softmax(teacher_scores / T, dim1)) * T * T蒸馏lo…

windows, 放方向键设置为vim格式,autohotkey-windows

安装 Autohotkey https://www.autohotkey.com/download/ 设置快捷键 随便找个目录,鼠标右键新建一个autohotkey的脚本。 映射一个键——上左下右 经常打字的人都知道,我们编辑文本时要上下左右移动光标,难免要将手移到方向键再移回来打字。对我这样的懒癌后期患者,这简直不能…

Hbase数据模型及Hbase Shell

目录 1 数据模型 1.1 相关名词概念 1.2 模型分析 2 Hbase Shell操作 2.1 命名空间 2.2 表操作 2.2.1 创建表 2.2.2 更改表结构 2.2.3 表的其他操作 2.3 数据操作 2.3.1 添加数据(put) 2.3.2 删除数据(delete) 2.3.3 获取数据(get|scan) 3 过滤器 3.1 比较运算符…

非关型数据库之Hbase

目录 1 Hbase简介 1.1 初识Hbase 1.2 Hbase的特性 2 HDFS专项模块 2.1 HDFS的基本架构 2.1.1 HDFS各组件的功能: 2.2 HFDFS多种机制 2.2.1 分块机制 2.2.2 副本机制 2.2.3 容错机制 2.2.4 读写机制 3 Hbase组件及其功能 3.1 客户端 3.2 Zookeeper 3.3 …

MongoDB Shell操作

目录 1 数据库操作 2 集合操作 3 文档操作 3.1 插入文档(insert|insertOne|insertMany) 3.2插入、删除的循环操作 3.2 删除文档(remove|deleteOne|deleteMany) 3.3 更新文档(update|save) 3.4 查询文档(find) 4 游标 5 索引 6 聚合 1 数据库操作 当新创建的数据库里…