pytorch加载训练数据集dataloader操作耗费时间太久,该如何解决?
笔者在使用pytorch加载训练数据进行模型训练的时候,发现数据加载需要耗费太多时间,该如何缩短数据加载的时间消耗呢?经过查询相关文档,总结实际操作过程如下:
1、尽量将jpg等格式的文件保存为bmp文件,可以降低解码时间;
2、dataloader函数中增加num_workers参数,该参数表示加载数据的线程数,建议设置为该系统中的CPU核心数,若CPU很强劲,而且内存很大,也可以考虑将该数值设置的更大一些。
train_loader=torch.utils.data.DataLoader(dataset=train_dataset,batch_size=batch_size,shuffle=True)
修改为:
train_loader=torch.utils.data.DataLoader(dataset=train_dataset,batch_size=batch_size,shuffle=True,num_workers=multiprocessing.cpu_count())
虽然使用dataloader达到了iter(Dataset)的读取并行,但是没有实现在GPU运算时异步读取数据,可以考虑使用non_blocking实现。
dataloader = data.Dataloader(dataset, batch_size = batch_size, num_workers = workers)
for epoch in range(epochs):for batch_idx, (images, labels) in enumerate(dataloader):images = images.to(device)labels = labels.to(device)
改为:
dataloader = data.Dataloader(dataset, batch_size = batch_size, num_workers = workers, pin_memory = True)
for epoch in range(epochs):for batch_idx, (images, labels) in enumerate(dataloader):images = images.to(device, non_blocking=True)labels = labels.to(device, non_blocking=True)
需要注意的是:只有pin_memory=True并且num_workers>0时non_blocking才会有效。
-------------------- 正文到此结束------------------------
推荐一个公众号:健哥聊量化,会持续推出股票相关基础知识,以及python实现的一些基本的分析代码。欢迎大家关注,二维码如下:
相关文章列表如下:
股票基础知识----- K线形态
股票K线形态 ----早晨之星
“早晨之星”实际操作篇---通达信软件为例
牛刀小试----python+tushare进行股票分析
股票K线形态----黄昏之星
股票K线形态-----墓碑线
股票K线形态-----多方炮
股票K线形态-----红三兵
股票K线形态----三只乌鸦
股票K线形态-----锤头线、吊颈线、倒锤头线
pytorch加载训练数据集dataloader操作耗费时间太久,该如何解决?相关推荐
- pytorch 驱动不兼容_解决Pytorch 加载训练好的模型 遇到的error问题
这是一个非常愚蠢的错误 debug的时候要好好看error信息 提醒自己切记好好对待error!切记!切记! -----------------------分割线---------------- py ...
- pytorch 加载训练好的模型后测试得到的结果不一样
1.训练模型,在模型train模式下,运行测试图片,得到结果正确:5200240905064,保存此模型, 2.加载训练好的pth模型,调用model.eval(),在eval模式下,去测试我下载的一 ...
- pytorch加载自己的图片数据集的两种方法
目录 ImageFolder 加载数据集 使用pytorch提供的Dataset类创建自己的数据集. Dataset加载数据集 接下来我们就可以构建我们的网络架构: 训练我们的网络: 保存网络模型(这 ...
- 目标检测(3)—— 如何使用PyTorch加载COCO类型的数据集
一.如何使用PyTorch加载COCO数据集 打开pytorch的官网 可以看到COCO数据集不提供下载 回顾json文件里面都有什么:"annotations"里面有" ...
- 使用pytorch自定义DataSet,以加载图像数据集为例,实现一些骚操作
使用pytorch自定义DataSet,以加载图像数据集为例,实现一些骚操作 总共分为四步 构造一个my_dataset类,继承自torch.utils.data.Dataset 重写__getite ...
- pytorch加载自己的数据集,数据集载入-视频合集
pytorch加载数据主要学习了两种:只有图片的数据集和有scv保存标签的数据集 而第一种只有图片的数据集的加 载又分为两种:标签在文件夹上的和标签在图片名上的 1.第一种标签在文件夹上的数据加载方法 ...
- pytorch加载语音类自定义数据集
pytorch对一下常用的公开数据集有很方便的API接口,但是当我们需要使用自己的数据集训练神经网络时,就需要自定义数据集,在pytorch中,提供了一些类,方便我们定义自己的数据集合 torch.u ...
- Pytorch加载数据集的方式总结
Pytorch加载数据集的方式总结 一.自己重写定义(Dataset.DataLoader) 二.用Pytorch自带的类(ImageFolder.datasets.DataLoader) 2.1 加 ...
- 记录--深度学习加载大数据集遭遇内存和磁盘io瓶颈的问题
1--问题描述 在最近的一个课题中,需要加载接近1T的数据集.由于内存的限制,无法一次加载整个数据集到内存中. 想到的一个解决方案是,将大数据集处理为单个样本,根据DataLoader随机产生的索引i ...
最新文章
- 带有JSON的杰克逊:无法识别的字段,未标记为可忽略
- 获取后台数据-Http
- 项目经理应该把30%的时间用在编程上
- 单调栈之Next Greater Number
- linux下面使用飞书个人版预览doc
- 天地图专题五:在天地图上绘制电子区域并保存数据
- 要用linux,不会shell 基本语法搞不来~
- 首席架构师白鳝:运维的进阶与哲学之道
- W3school练习
- linux ps命令详细解读
- 图形B=B≌B凸显中学数学有一系列重大错误(更新稿) ——合同图形概念让5000年无人能识的自然数一下子浮出水面
- Safe Browsing API
- 【Python爬虫】爬取豆瓣电影Top 250
- 数据分析行业的发展前景怎么样? 未来关于十年数据分析行业的5种预测
- 7号球衣的故事:重要的不是号码,而是穿着它的人
- 网络文件共享服务 - Samba详解
- [置顶]开源:Taurus.MVC 框架
- Flutter中Drat虚拟机服务介绍 --- VmService
- 记忆化结果再利用 进一步探讨递推关系
- 【单调队列】[CQBZOJ2436]Zj 之 XX 洗浴
热门文章
- 块存储、文件存储、对象存储这三者的差别
- PS CS6视频剪辑基本技巧(一)CS6可以实现的视频剪辑功能
- MySQL怎么用x28改变颜色_MySQL SELECT练习题*28
- Word UVA - 517 状态压缩 暴力搜索
- 如何使用eclipse开发android
- Python读取zip文件中的图片(无需解压)
- MATLAB 车牌识别程序介绍 SVM、神经网络[毕业设计]
- Quartus II 的下载及安装
- Secure Socket Tunneling Protocol Service服务无法启动(win7)
- Failed to download repo mpvue/mpvue-quickstart:tunneling socket co uld not be established