主要利用lLoader进行展示多幅图片,并初步了解到神经网络传输的简单内容。
import torchvision.datasets
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
"""
用处就是去数据集取出所要的内容
主要参数功能解释
dataset 传入数据集
batch_size 每次抓取的个数
img0+target0=data_set0
img1+target1=data_set1
img2+target2=data_set2
img3+target3=data_set3
一个loader就会存储4个img 所以大小变成了torch.Size([4, 3, 32, 32]) 4图片3通道32*32
存储四个图片的标签就会变成 tensor([9, 2, 1, 5]) 第一幅类型9,第二幅图类型延续下去
shuffle 重复遍历数据集结果是否一样。False则两轮遍历相同,True则不同默认
num_workers 是否采用多进程加载。0则为主进程加载
drop_last True会舍去不满足batch_size整数倍的图片。False则不会
"""
# 准备测试集
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)
# 借助tensorboard进行一个展示索取出的一个图像集
writer = SummaryWriter("dataloader")
step = 0
for data in test_loader:
imgs, target = data
# print(img.shape) # print(target)
# 此时的img不在是一张图片,个数为你的batch_size的大小使用images
writer.add_images("drop_last", imgs, step)
step += 1
writer.close()