【pytorch】DataLoader的使用

 DataLoader 是 PyTorch 中用于加载数据的工具,它能够方便地对数据进行批量加载、洗牌和并行处理等操作。通常情况下,我们会将数据集通过 Dataset 对象传入 DataLoader 中,然后在模型训练过程中使用 DataLoader 来迭代加载数据。

DataLoader 时,可以通过设置一系列参数来控制数据加载的方式,常用的参数包括:

dataset:要加载的数据集,通常是一个 Dataset 对象。
batch_size:每个批次中的样本数量。
shuffle:是否在每个 epoch 之后对数据进行洗牌,默认为 False。
num_workers:用于数据加载的子进程数目,可以加速数据加载过程。
drop_last:如果数据集大小不能被批量大小整除,是否丢弃最后一批数据,默认为 False。
pin_memory:是否将数据加载到 CUDA 的固定内存中,对于 GPU 加速训练有帮助。

import torchvision
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
test_data = torchvision.datasets.CIFAR10(root='./dataset',train=False,transform = torchvision.transforms.ToTensor())#测试数据集
test_loader = DataLoader(dataset = test_data,batch_size = 64,shuffle=True,num_workers=0,drop_last=False)
#drop_last=Ture时,因为此时batch_size = 64不能整除最后一个不完整的batch,因此会被舍去
#drop_last=False时,则会进行保留
#shuffle Ture随机重排 False按照原序列

img, target=test_data[0]
print(img.shape)#torch.Size([3, 32, 32])   3 个通道(红、绿、蓝),32,32表示高度和宽度
print(target)
step = 0
writer = SummaryWriter('dataloader')
for data in test_loader:
    imgs,targets = data
    # print(imgs.shape)
    # print(targets)
    writer.add_images('test_data',imgs,step)
    step = step+1
writer.close()

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值