pytorch dataloader_简单两步加速PyTorch里的Dataloader

本文介绍了两种提升PyTorch Dataloader速度的方法:使用jpeg4py库加速jpg图片读取,以及预取下一次迭代所需数据。实测表明,这些技巧能显著减少数据加载时间,从而避免GPU空闲等待。
摘要由CSDN通过智能技术生成

PyTorch中通过Dataloader加载图片,使用十分方便。但当加载图片较多并且需要做较多变换时,加载的速度很慢,会出现加载数据过慢(即使已经使用了多个worker),GPU空闲等待数据加载的情况。这篇文章就和大家分享一下怎么给Dataloader提提速。

1、读取jpg图片加速

加载数据慢的一个很重要的原因的读取图片本身就比较慢,尤其是jpg图片解码更是耗时。如果你是读取jpg图片的话建议使用jpeg4py进行读取,只需要替换一行代码就搞定了。

具体的使用例子:

import jpeg4py as jpeg
import cv2

if __name__ == "__main__":
    img_path = '1.jpg'
    img = jpeg.JPEG(img_path).decode()
    cv2.imshow('img', img)
    cv2.waitKey(0)

解码出来的直接就是numpy数组,可以直接用opencv显示并进行相应的操作,但需要注意的是通道顺序是RGB,opencv默认的BGR。

自己在小数据上测试了一下,使用opencv读取一个epoch需要7.5s,使用jpeg4py只需要3~4s,提速了近一倍。

ajkxyz/jpeg4py​github.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值