预训练网络
本篇内容中我们主要探讨3种常用的预训练模型:一种可以根据内容对图像进行分类的模型,一种可以从真实图像中生成新图像的模型,还有一种可以使用合适的英语来描述图像内容的模型。以及一组工具:PyTorch Hub。
一个识别图像主体的预训练网络
我们这里所说的预训练网络已经是在ImageNet数据集的子集上训练过的。ImageNet是一个包含1400多万张图像的数据集。所有的图像都用来自WordNet数据集的名词层次结构标记,而WordNet数据集又是一个大型的英语词汇数据库。
ILSVRC的训练集由120万张图像组成,每张图像用1000个名词中的一个来标记,如“dog”,这些名词被称为图像的类(class)从这个意义上讲,我们将交替使用术语标签(lable)和类。
具体来说,图像分类任务包括获取一个输入图像,并从1000个类别中生成5个标签的列表,列表按置信度排序,描述图像的内容。
输人的图像将首先被处理成一个多维数组类torch.Tensor的实例。它是一个县有高度和宽度的RGB图像,因此这个张量将有3个维度:RGB通道和2个特定大小的空间图像维度。我们可以把它想象成一个浮点数字类型的向量或矩阵。我们的模型将把处理过的输入图像传入预训练网络中,以获得每个类的分数。根据权重,最高的分 数对应最可能的类。然后将每个类一对一地映射到标签上。该输出被包含在一个含有1000个元素的 torch.Tensor 张量中,每个元素表示与该类相关的分数。
获取一个用于图像识别的预训练网络
我们加载并运行2个网络:首先是AlexNet,它是在图像识别方面早期具有突破性的网络之一;然后是残差网络,简称 ResNet,它在2015年的ILSVRC中获胜。