笔者在使用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操作耗费时间太久,该如何解决?相关推荐

  1. pytorch 驱动不兼容_解决Pytorch 加载训练好的模型 遇到的error问题

    这是一个非常愚蠢的错误 debug的时候要好好看error信息 提醒自己切记好好对待error!切记!切记! -----------------------分割线---------------- py ...

  2. pytorch 加载训练好的模型后测试得到的结果不一样

    1.训练模型,在模型train模式下,运行测试图片,得到结果正确:5200240905064,保存此模型, 2.加载训练好的pth模型,调用model.eval(),在eval模式下,去测试我下载的一 ...

  3. pytorch加载自己的图片数据集的两种方法

    目录 ImageFolder 加载数据集 使用pytorch提供的Dataset类创建自己的数据集. Dataset加载数据集 接下来我们就可以构建我们的网络架构: 训练我们的网络: 保存网络模型(这 ...

  4. 目标检测(3)—— 如何使用PyTorch加载COCO类型的数据集

    一.如何使用PyTorch加载COCO数据集 打开pytorch的官网 可以看到COCO数据集不提供下载 回顾json文件里面都有什么:"annotations"里面有" ...

  5. 使用pytorch自定义DataSet,以加载图像数据集为例,实现一些骚操作

    使用pytorch自定义DataSet,以加载图像数据集为例,实现一些骚操作 总共分为四步 构造一个my_dataset类,继承自torch.utils.data.Dataset 重写__getite ...

  6. pytorch加载自己的数据集,数据集载入-视频合集

    pytorch加载数据主要学习了两种:只有图片的数据集和有scv保存标签的数据集 而第一种只有图片的数据集的加 载又分为两种:标签在文件夹上的和标签在图片名上的 1.第一种标签在文件夹上的数据加载方法 ...

  7. pytorch加载语音类自定义数据集

    pytorch对一下常用的公开数据集有很方便的API接口,但是当我们需要使用自己的数据集训练神经网络时,就需要自定义数据集,在pytorch中,提供了一些类,方便我们定义自己的数据集合 torch.u ...

  8. Pytorch加载数据集的方式总结

    Pytorch加载数据集的方式总结 一.自己重写定义(Dataset.DataLoader) 二.用Pytorch自带的类(ImageFolder.datasets.DataLoader) 2.1 加 ...

  9. 记录--深度学习加载大数据集遭遇内存和磁盘io瓶颈的问题

    1--问题描述 在最近的一个课题中,需要加载接近1T的数据集.由于内存的限制,无法一次加载整个数据集到内存中. 想到的一个解决方案是,将大数据集处理为单个样本,根据DataLoader随机产生的索引i ...

最新文章

  1. 带有JSON的杰克逊:无法识别的字段,未标记为可忽略
  2. 获取后台数据-Http
  3. 项目经理应该把30%的时间用在编程上
  4. 单调栈之Next Greater Number
  5. linux下面使用飞书个人版预览doc
  6. 天地图专题五:在天地图上绘制电子区域并保存数据
  7. 要用linux,不会shell 基本语法搞不来~
  8. 首席架构师白鳝:运维的进阶与哲学之道
  9. W3school练习
  10. linux ps命令详细解读
  11. 图形B=B≌B凸显中学数学有一系列重大错误(更新稿) ——合同图形概念让5000年无人能识的自然数一下子浮出水面
  12. Safe Browsing API
  13. 【Python爬虫】爬取豆瓣电影Top 250
  14. 数据分析行业的发展前景怎么样? 未来关于十年数据分析行业的5种预测
  15. 7号球衣的故事:重要的不是号码,而是穿着它的人
  16. 网络文件共享服务 - Samba详解
  17. [置顶]开源:Taurus.MVC 框架
  18. Flutter中Drat虚拟机服务介绍 --- VmService
  19. 记忆化结果再利用 进一步探讨递推关系
  20. 【单调队列】[CQBZOJ2436]Zj 之 XX 洗浴

热门文章

  1. 块存储、文件存储、对象存储这三者的差别
  2. PS CS6视频剪辑基本技巧(一)CS6可以实现的视频剪辑功能
  3. MySQL怎么用x28改变颜色_MySQL SELECT练习题*28
  4. Word UVA - 517 状态压缩 暴力搜索
  5. 如何使用eclipse开发android
  6. Python读取zip文件中的图片(无需解压)
  7. MATLAB 车牌识别程序介绍 SVM、神经网络[毕业设计]
  8. Quartus II 的下载及安装
  9. Secure Socket Tunneling Protocol Service服务无法启动(win7)
  10. Failed to download repo mpvue/mpvue-quickstart:tunneling socket co uld not be established