从图像中学习:区分鸟类和飞机
1. 图像数据处理
在处理图像数据时,我们首先要对图像进行一些基本的验证和转换操作。例如,验证图像的最小值和最大值:
# In[13]:
img_t.min(), img_t.max()
# Out[13]:
(tensor(0.), tensor(1.))
为了确保我们能正确显示图像,需要使用 permute 函数改变图像轴的顺序,使其符合 Matplotlib 的要求:
# In[14]:
plt.imshow(img_t.permute(1, 2, 0))
plt.show()
1.1 数据归一化
数据归一化是一个重要的步骤,它可以使每个通道具有零均值和单位标准差。这样做的好处是能让神经元更有可能具有非零梯度,从而更快地学习,同时也能确保通道信息可以使用相同的学习率进行更新。
以下是具体的操作步骤:
1. 计算每个通道的均值和标准差:
# 堆叠所有图像张量
# In[15]:
imgs = torch.stack([img_t for img_t, _ in tensor_cifar10], dim=3)
imgs.shape
# Out[15]:
torch.Size([3, 32, 32, 50000])
# 计算每个通道的均值
# In[16]:
imgs.
超级会员免费看
订阅专栏 解锁全文
1586

被折叠的 条评论
为什么被折叠?



