Deep-Learning-with-PyTorch

Deep-Learning-with-PyTorch-2.1 一

2020-08-10  本文已影响0人  追求科技的足球

2.1 一个可以识别图像的主题的预训练的网络

作为我们首次涉足深度学习,我们将运行一个最先进的深度神经网络,该网络预先进行了对象识别任务的训练。 可以通过源代码存储库访问许多经过预训练的网络。 研究人员通常将其源代码与论文一起发布,并且该代码通常带有权重,这些权重是通过在参考数据集上训练模型而获得的。 例如,使用这些模型中的一种可以使我们能够非常轻松地为我们的下一个Web服务配备图像识别功能。

我们将在此处探索的经过预训练的网络是在ImageNet数据集(http://imagenet.stanford.edu)的子集上进行训练的。 ImageNet是一个非常庞大的数据集,包含斯坦福大学维护的超过1400万张图像。 所有图像都标有来自WordNet数据集(http://wordnet.princeton.edu)的名词层次,该数据集又是英语的大型词汇数据库。

与其他几个公共数据集一样,ImageNet数据集起源于学术竞赛。 传统上,竞赛是机构和公司研究人员经常相互挑战的主要竞争领域。 自2010年成立以来,ImageNet大规模视觉识别挑战赛(ILSVRC)便广受欢迎。这项特殊竞赛基于一些任务,这些任务每年都会变化,例如图像分类(告诉图像包含哪些对象类别),对象定位(识别对象在图像中的位置),对象检测(识别并标记图像中的对象),场景分类(对图像中的情况进行分类)和场景解析(将图像细分为与语义类别关联的区域,例如牛,房子,奶酪,帽子)。 尤其是,图像分类任务包括获取输入图像并从1,000个总类别中生成5个标签的列表,这些列表按置信度排序,来描述图像的内容。

ILSVRC的训练集包括120万幅图像,这些图像用1,000个名词之一(例如“ dog”)标记,称为图像类别。 从这个意义上讲,我们将互换使用术语标签和类。 我们可以看一下图2.1中ImageNet的图像。

图2.1 ImageNet图像中的一些示例

我们最终将能够拍摄自己的图像并将其输入到我们预先训练的模型中,如图2.2所示。 这将产生该图像的预测标签列表,然后我们可以检查该列表以查看模型认为我们的图像是什么。 有些图像的预测准确,而另一些则不然!

图2.2 处理过程

首先将输入图像预处理为多维数组类torch.Tensor的实例。 它是具有高度和宽度的RGB图像,因此该张量将具有三个维度:三个颜色通道,以及两个特定大小的描述空间图像的维度。 (我们将在第3章中详细了解张量是什么,但是现在,将其视为像矢量或浮点数矩阵一样。)我们的模型将获取经过处理的输入图像,并将其传递到预先训练的网络中,以获取每个类别的分数。 根据权重,最高分对应于最可能的类别。 然后将每个类一对一地映射到类标签上。 该输出包含在具有1,000个元素的torch.Tensor中,每个元素代表与该类别相关的分数。

在完成所有操作之前,我们需要获取网络本身,深入了解网络的结构,并了解如何在模型使用之前准备我们的数据。

上一篇 下一篇

猜你喜欢

热点阅读