土堆学习笔记——P15Dataloader

dataset数据集,表示数据在哪,可以知道第一个数据是谁
然而,把数据集中的数据加载到神经网络(手)中,怎么取,取多少都是通过设置dataloader的参数来决定。
在这里插入图片描述参数讲解:
batch_size每次抓几张牌
shuffle是否打乱,默认为false不打乱,如果设置为true,就表示每次抓完牌,在下次抓牌前打乱
num_workers采用单进程还是多进程加载数据,=0为只有一个主进程,如果报错BrokenPipeError可以考虑把它设置为0
drop_last假如有100张牌,每次取3张,取33次余1张,舍去不舍去,为True就是这个牌舍去。

代码例子

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

#准备测试的数据集
test_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor())
#command+鼠标左键CIFAR10,观察getitem返回什么,因为等下回返回到test_data[?]中


test_loader = DataLoader(dataset=test_data, batch_size=64, shuffle=True, num_workers=0, drop_last=False)

#测试数据集中第一张图片以及其target
img, target = test_data[0]
print(img.shape)
#输出torch.Size([3, 32, 32])通道数,高*宽
print(target) #输出3

writer = SummaryWriter("dataloader")
step=0
for data in test_loader:
    imgs, targets = data #注意这个循环这样data就是test_loader[?]了
    #print(imgs.shape)
    #输出torch.Size([4, 3, 32, 32]),[个数,通道数,高,宽].个数(因为第9行batch_size=4,每组四个,之后是通道数,高*宽)
    #print(targets)
    #输出tensor([9, 3, 8, 6]),batch_size=4这里会把每组的合并,四个人出现在一个tensor
    
    #改一下batch_size为64
    writer.add_images("test_data",imgs,step)
    step=step+1
    
writer.close()

观察TensorBoard,运行之后,在终端输入

tensorboard --logdir="dataloader"

logdir=什么,依赖于代码中writer = SummaryWriter(“dataloader”)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值