中心内容:torchvision中数据集的使用以及如何将数据集与transforms结合使用
代码实战:
import torchvision
from torchvision import transforms
from torch.utils.tensorboard import SummaryWriter
# 将照片从PIL类型转化为tensor类型方法
tensor_trans = transforms.ToTensor()
# 标准化照片
nor_trans = transforms.Normalize([0.5,0.5,0.5],[1,1,1])
# 设置照片的尺寸
size_trans = transforms.Resize([1000,1000])
# 将所有功能放入compose函数中形成一个流水线
transforms_trans = transforms.Compose([size_trans,tensor_trans,nor_trans])
# 训练torchvision自带的数据集
train_set = torchvision.datasets.CIFAR10(root = "./dataset2",train = True,transform = transforms_trans,download = True)
# root: 数据集存储的位置
# train: 设置为Tru,则为训练数据集,如果设置为False,则为测试训练集
# transforms:设置照片的转化格式,将数据集中的每张照片都按照此格式转化
# download:设置为True时,如果目录中没有此数据集,则会从网上自动下载此数据集,如果为False,则不会自动下载
# 测试数据集,此时train参数为False
test_set = torchvision.datasets.CIFAR10(root = "./dataset2",train = False,transform = transforms_trans,download = True)
writer = SummaryWriter("glo")
for each in range(10):
img,target = test_set[each] # 数据集中包含每个照片的地址和其在数据集中的位置,因此需要两个参数接收
writer.add_image("test",img,each)
writer.close()
# # 查看测试数据集中的的一个
# print(test_set.classes)
# # 查看数据集中的第一个中的所有的类别
#
# # img,target = test_set[0]
# # print(img) # 图片
# # print(target) # 编号
# # img.show() # 查看图片