pytorch加载Mnist数据集以及batch可视化
写在前面
当自己只是看别人的代码时,觉得自己好像都懂,等到自己动手,连Mnist数据集都不能很好地导入,哭/(ㄒoㄒ)/~~
1.通道中数值的归一等
transforms.ToTensor()
# 会使通道数值变为[0,1]
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
# 相当于在3个通道进行均值为0.5,标准差为0.5的归一化,归一化之后[-1,1]
plt.imshow()
# 在使用imshow()时,其数据应该为[0,1]的浮点数,因此必须在上述基础上进行以下操作
img = img / 2 + 0.5
# 将[-1,1]的取值范围,转为[0,1],以供imshow
2.将灰度图转化为RGB图
transforms.Lambda(lambda x: x.repeat(3, 1, 1))
# 复制一个通道的数据到三个通道
3.从img数据到imshow可以输出数据
plt.imshow(np.transpose(npimg, (1, 2, 0)))
# (1,2,0)是指将原来1维数据放在现在的0维,以此类推
在plt.imshow在现实的时候输入的是(imagesize,imagesize,channels),而参数img的格式为(channels,imagesize,imagesize),两者的格式不一致,需要调用np.transpose函数进行格式转化。
4.查看Dataloader加载后的一个batch数据
images,