pytorch学习笔记-DataLoader

DataLoader是一个读取数据的接口,该接口的目的是根据batchsize的大小,是否shuffle等封装成一个Batch Size大小的Tensor,用于后面的训练。
官方给出的声明是:DataLoader是:数据加载,由数据集和采样器组成,根据你设置好的参数,DataLoader这个类就会开始对数据进行初始化操作,在传参的同时实例化对象,如下:

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

至于DataLoader类里面的参数怎么设置,以及意义,可以上网查询
然后这里记录一个小程序,参考学习;

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())
test_loader=DataLoader(dataset=test_data,batch_size=64,shuffle=True,num_workers=0,drop_last=True)
#测试数据集第一张图片
img,target=test_data[0]
print(img.shape)#打印结果是torch.Size([3, 32, 32]),3通道大小是32x32的图片
print(target)
write=SummaryWriter('nono')
step=0
for data in test_loader:
    imgs,targets=data
   # print(imgs.shape)
   # print(targets)
    write.add_images('test_data_last',imgs,step)#注意:add_images和add_image是不同的两个函数,
    #add_image是只能接收单一的图像,而现在是给它传入一个batch的数据自然是不性的,用add_images替换add_image就行了
    step=step+1
write.close()

你可能感兴趣的:(pytorch学习笔记)