pytorch数据读取:提数据速度的设置+使用transfer后用torch.tensor转tensor报错

本文介绍了使用PyTorch进行高效训练的一些实用技巧,包括如何利用Dataloader的pin_memory选项加速数据加载,采用非阻塞方式转移数据到GPU,以及使用torchvision库中的transform进行图像预处理,并探讨了checkpoint技术在节省内存方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据加载方法

DataLoader参数pin_memory

Dataloader的pin_memory设置为True可以将Tensor放入到内存的锁页区,加快训练速度。

非阻塞(Non-Blocking)

target = target.cuda(non_blocking=True)

知乎:Pytorch有什么节省显存的小技巧?

torchvision-transform

https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-transform/

def transf(img):
    trans1 = transforms.Resize((640*3, 360*3))
    trans2 = transforms.ToTensor()
    img1 = trans1(img)
    return trans2(img1)

pytorch 的 checkpoint 是一个可以用时间换空间的技术,用来节省内存

from torch.utils.checkpoint import checkpoint

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值