drop_last=True

pytorch 中 drop_last与 nn.Parameter 在使用深度学习,pytorch 的DataLoader 中,drop_last=True :DataLoader 中的此设置会删除不完整的最后一批(如果它小于指定的批量大小)。这确保了训练期间处理的每个批次包含相同数量的样本。 阅读详情

drop_last=True
当你使用了batch normalization的时候,如果batch_size设置得不合适,又没有使用 drop_last = true,那么可能会遇到以下错误

Expected more than 1 value per channel when training, got input size torch.Size([1, 1024])

解决方案:

https://discuss.pytorch.org/t/about-the-relation-between-batch-size-and-length-of-data-loader/10510/4

train_iter = torch.utils.data.DataLoader(train_dataset, batch_size = batch_size, shuffle = True, num_workers = num_workers, drop_last=True)

test_iter = torch.utils.data.DataLoader(test_dataset, batch_size = batch_size, shuffle = True, num_workers = num_workers, drop_last=True)

使用了drop_last = True, 可能会有以下后果:

比如 test set中有229个数据, 如果batch size = 40, 那么就会有29个数据不会被使用。在每一个epoch中,就只有200个数据。229 - 40*5 = 29

再比如,batch size = 20, 那么就会有9个数据不会被使用。在每一个epoch中,就只有220个数据。 229 - 20*11 = 9

创龙 瑞芯微 RK3588 国产工业开发板—Qt交叉编译环境搭建与GPU图形渲染实战 本文详细介绍了在创龙RK3588国产工业开发板上搭建Qt交叉编译环境并利用GPU进行图形渲染的完整实战流程。文章从环境准备入手,讲解了交叉编译工具链的配置,并提供了命令行与Qt Creator两种编译方法。通过部署运行和自启动设置,确保程序在板卡上稳定运行。最后,通过OpenGL案例实战,展示了如何调用RK3588的GPU进行高效图形渲染,释放其图形处理潜力,适用于工业HMI、智能终端等高要求图形界面开发。 阅读详情

相关推荐

IAR9.4报错之编码方式

IAR9.40编码方式错误导致的报错

qq_36081075的博客 2626

drop_last设置为True

在很多情况下,当我们处理数据时,我们希望将数据分成批次进行处理。在PyTorch中,可以使用DataLoader来完成这个任务。DataLoader中有一个参数叫做drop_last,它的默认值是False,表示如果最后一个batch的数据不足一个batch_size大小,则保留该batch。如果将drop_last设置为True,则最后一个batch的数据将被舍弃,不足一个batch_size大...

weixin_42588877的博客 2854

一本集成电路静态时序设计经典之作(可下载)

本书全面深入探讨集成电路设计中关键技术的专著,涵盖了从基础知识到高级应用的各个方面。本书详细介绍了集成电路的发展历程、**静态时序分析的重要性、基本时序模型、时序信息库文件的构建、时序约束的设置、串扰噪声的影响及其控制方法**,并通过实战案例展示了如何进行有效的时序分析和优化。

nuoweishizi的博客 850

关于pytorch中drop_last的提醒,不同类别数据不均衡时使用drop_last=True会导致模型训练结果很差

项目场景: 我在使用pytorch进行图像分类的时候。 我的解决办法对于我而言很有效,你可以把我的结论当作一种参考 问题描述 遇到了这样的问题。一共16类,第15 16类的训练集数量是15、15,测试集分别为14、5。其他1-14类训练集分别有50个,测试集均为200左右。 当我在pytorch的dataloader中设置了drop_last=True时,无论怎么训练,使用怎么样的数据增强,第15 16类才测试集上的准确率永远为0. 原因分析: 当dataloader设置了drop_last=True时

qq_42940160的博客 9971

1.深入浅出:理解三极管截止、放大和饱和状态!——参考《模拟电子技术基础》清华大学华成英主讲

幼儿园水平理解三极管截止、放大和饱和状态!书上看不懂,听课听不懂的过来! 绕不开的三极管结构 以NPN为例,晶体三极管的结构,这是很多人不想看的,但是确实是非常重要的!不看结构是理解不了工作原理的! (这样记忆:N是negative,负,代表多子为电子;P是positive,正,代表多子为空穴) 注意观察三极管的结构,有助于理解工作时的状态。 两张图结合起来看,略作解释: 1.图中空心为空穴带正...

Hardware_harder的博客 4万+

华为昇腾910B3显卡实战:手把手教你部署DeepSeek 32B模型(含Bge-zh向量库配置)

本文详细介绍了在配备8张华为昇腾910B3显卡的服务器上,从零部署DeepSeek 32B大模型推理服务的完整实战方案。内容涵盖环境准备、模型配置、多卡负载分配,并集成了BGE中文向量模型与ChromaDB向量数据库,最终通过Open WebUI构建了可投入生产的企业级AI应用栈,为私有化大模型部署提供了具体参考。

weixin_29038345的博客 1709

nn.BatchNorm2d()

nn.BatchNorm2d() 这个函数在训练时只能输入batch size >1 的数据。 train 阶段 因此如果在最后一个Batch只有一个数据时应把该batch丢弃。 在torch.utils.data.Dataloader中设置参数: drop_last=True 不足batch大小的最后部分舍去 eval阶段 在评价模型时如果需要输入单张图片,可以在前面加上: net.eval ...

xdqiangdd的博客 492

一文入门Qwen-Agent【附实战代码】

Qwen-Agent 是一个开源框架,用于开发基于 Qwen 模型的 AI 智能体应用,一文带你入门使用

m0_55303420的博客 1874

PyTorch DataLoader的drop_last参数:一个不起眼设置如何避免你的训练在最后一步崩掉

本文深入探讨了PyTorch DataLoader中drop_last参数的重要性,解释了如何通过这一设置避免训练过程中因最后一个不完整batch导致的CUDA错误和训练崩溃。文章详细分析了不完整batch引发的典型问题,如Batch Normalization失效和特定损失函数的数值问题,并提供了drop_last=True的解决方案与适用场景评估,帮助开发者确保训练稳定性。

weixin_30631587的博客 370

《网络安全自学教程》- 802.1x协议

802.1x协议架构,工作原理/认证流程,认证方式,MAB认证,触发认证的三种方式,EAP报文格式,EAPOL报文格式

wangyuxiang946的博客 2万+

由ip地址和子网掩码求网络号、主机号、广播地址(超详细)

1、用二进制数表示IP地址   在进行计算之前,我们首先要学会十进制的IP地址怎么转换为二进制的IP地址。   给出一个例子: 十进制:172.16.25.3 二进制:10101100.00010000.00011001.00000011 1、如果两台主机的网络号相同,我们就说它们是同一网段 2、主机号的意义 - 1)主机号部分全变成1,即为该网段的广播地址 - 2)主机号部分全变成0,即为该网段的网路地址(网络号) 3、如果主机号部分为x位,则该网络能容纳最大主机数为: 2的x次方-2。减2

爱吃雪糕的小布丁的博客 9万+

深度学习Pytorch快速入门我是土堆,P15DataLoader的使用

最后土堆还写了drop_last=True的情况,也就是不需要最后剩余的图片了。

qq_59468085的博客 470

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Pytorch遇到报错Expected more than 1 value per channel when training, got input size torch.Size

Pytorch遇到 Expected more than 1 value per channel when training, got input size torch.Size([1, 256, 1, 1]) 楼主遇到这个报错,通过pycharm定位到断言的位置 def _verify_batch_size(size: List[int]) -> None: # XXX: JIT script does not support the reduce from functools, and m

hjxu2016的博客 3万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

多GPU训练allreduce超时

问题描述:在多gpu训练时,会出现卡在某个周期的最后。使用单个gpu训练就没有这个问题。解决方法:找到drop_last的配置设置为打开drop_last=True。

adjest的博客 302

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

pytorch——DataLoader

Datasetint可选1bool可选int可选bool可选。

m0_67855350的博客 1224

【深度学习】minist 手写体训练学习torch过程中遇到的问题

drop_last=True 和last_batch=rollover都很好用,能保证最后一个batch不够的问题。last_batch:如果batch_size没有被均匀分割,如何处理最后一批len(数据集)。丢弃——如果最后一批不完整,则丢弃。滚动-其余的样本被滚动到下一个纪元。保存-返回比前一批少的样品。

weixin_40293999的博客 408

CUDA error: device-side assert triggered

报错: CUDA error: device-side assert triggered 详见博客:https://blog.youkuaiyun.com/qq_31049727/article/details/90671689 里面一条评论解决了我的问题: 我的drop_last没有设置对,因为你的训练数据总数可能不能被batchsize整除,最后一个batch会相比其他batch少一些sample,造成错误。解决方法是在training dataset设置的时候把drop_last设置为true trainloa

qq_35037684的博客 1020

RuntimeError: mat1 and mat2 shapes cannot be multiplied

RuntimeError: mat1 and mat2 shapes cannot be multiplied

枫的博客 1万+

noise = noise.data.reshape(data.size()[0],input_dim,1,1).normal_(0,1) RuntimeError: shape '[32, 100,

pytorch 报错noise =noise.data.reshape(data.size()[0],input_dim,1,1).normal_(0,1)RuntimeError: shape ‘[32, 100, 1, 1]’ is invalid for input of size 6400 原因: 维度写错了 解决办法: 由于我是dataloader加载的数据,所以加上属性drop_las...

skywf的博客 1859

RuntimeError: The size of tensor a (16) must match the size of tensor b (9) at non-singleton

原因: BATCHSIZE=16 有一个数据集大小为697 697➗16=43……9 解决方案: 设置Dataloader的drop_last为True,drop_last决定不足一个batch_size的数据是否保留。

weixin_40522580的博客 9578

ValueError: Expected more than 1 value per channel when training, got input size ...

ValueError: Expected more than 1 value per channel when training, got input size… pytorch 在训练时使用多卡,会出现ValueError: Expected more than 1 value per channel when training, got input 这个错误 由于batchnorm层需要大于一个样本去计算其中的参数,解决方法是将dataloader的一个丢弃参数设置为true trainloader =

taxuewuhenxiaoer 1万+

pytorch6->dataloader的简单应用

test_loader:有10000张图,在dataloader中用 batch_size=64,每64个图片分成了一组,而且标上了序号一共157组。imgs, targets = data,imgs里有64张图片,如果你看imgs.shape,它是四维的[64,3,32,32],dataset=test_data,dataset只是个参数名,和路径没关系,不写也可以,比如第一行只写个test_data,shuffle=True,打乱顺序,每轮训练前打乱数据顺序,防止模型记住顺序,让模型学得更好。

dertgh的博客 155

报错:ValueError_ Expected more than 1 value per channel when training, got input size torch.Size

记录报错解决方案

一只努力学习的小碗~ 386

P15 DownLoader的使用

dataloader从dataset中取数据,取多少怎么取,可以通过设置参数。shuffle=False,两个epoch每一步取得照片是一样的,drop_last=True时,舍去了后面未能取尽的照片。

m0_67800189的博客 158

PyTorch——DataLoader的使用

batch_size, drop_last 的用法。在第156step顺序一致。各批次训练的图像不一样。

qq_56238664的博客 487
上一篇: Transformer与attention
下一篇: TensorDataset和DataLoader使用
fdt丶
博客等级 码龄9年 68粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值