Dataloader的使用

文章目录

Dataloder官方文档
Dataloader的使用示例代码如下:

from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
import torchvision

# 准备的测试数据集
test_data = torchvision.datasets.CIFAR10(root="./CIFAR10",train=False,transform=torchvision.transforms.ToTensor(),download=True)
# 加载数据集准备工作
test_loader = DataLoader(dataset=test_data,batch_size=4,shuffle=True,num_workers=0,drop_last=False)
'''
batch_size:每次取多少个数据进行处理
shuffle:第二次循环取数据时,顺序是否打乱,True为打乱
num_workers:选用进程的数量
drop_last:是否将尾部多余的数据除去,True为除去
'''
# 测试数据集中的第一张图片及分类结果
img,target = test_data[0]
print(img.shape)
print(target)

writer = SummaryWriter("logs")
step = 0

# 前提batch_size=4
for data in test_loader:
    imgs,targets = data
    # 例:torch.Size([4, 3, 32, 32]) 4代表4张图片 3代表图片的通道数 大小为32*32的图片
    print(imgs.shape)
    # 例:tensor([3, 1, 9, 0]) 四张图片的类别
    print(targets)

    # 使用tensorboard进行可视化
    writer.add_images("test_data",imgs,step)   # 注意这里使用的是add_images而不是add_image哦,因为imgs是4个tensor数据类型图片的集合
    step+=1

writer.close()

上述代码运行结果在tensorboard可视化:
在这里插入图片描述
在这里插入图片描述
每步都是4张,这里也可以看出dataloader中batch_size参数的作用了吧!

在这里插入图片描述
dataloader中batch_size的作用就相当于将dataset打包,每次取整个被打包的部分进行后续操作,上图可以方便理解,将batch_size设置的值的图片数量(img)和分类结果(target)分别打包成imgs,targets。

上述代码中要注意的地方:

  • writer.add_images(“test_data”,imgs,step) # 注意这里使用的是add_images而不是add_image哦,因为imgs是4个tensor数据类型图片的集合
  • 学会看官方文档:Dataloder官方文档
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布兹学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值