跟着小土堆学习pytorch(五)——dataloader
文章目录
- 零、什么是dataloader
- 一、官方文档
- 二、代码解析
零、什么是dataloader
dataset是数据集的获取,dataloader就是决定如何对数据集进行分类和整理
一、官方文档
关于dataloader的链接:https://pytorch.org/docs/stable/data.html#torch.utils.data.DataLoader
下拉找到这里
(注意:是torch.utils.data.DataLoader这个关键词下)
这里解释下这些参数
dataset:路径地址
batch_size:步长(一次取多少张图片)
shuffle:(大循环)两次(是否再次打乱,True就是不一样,被打乱,Fales就是一样的,不打乱)
num_workers:多进场(0
的话就是主进程,大于0的话,可能就会出错)
drop_last:到最后取不尽的时候,最后的余数是保留,还是剔除
二、代码解析
import torchvisionfrom 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(datasets = test_data,batch_size=64,shuffle=True,num_workers=0,drop_last=True)img,target = test_data[0]
print(img.shape)
print(target)
writer = Summarywriter("dataloader")
for epoch in range(2):step = 0for data in test_loader:imgs,targets = data#pr1nt(imgs,shape】#print(torgets)writer.add_images("Epoch:()"format(epoch),imgs,step)step = step+1
writer.close()
看返回类型时候,看的是__getitem__类的返回(相当于函数的使用)
打包成imgs、targets