2 预训练网络
2.0 简介
我们结束了第一章,承诺在这一章中揭示令人惊奇的东西,现在该交付内容了。 出于多种原因,计算机视觉无疑是深度学习的到来影响最大的领域之一。 存在对自然图像的内容进行分类或解释的需求,可以使用非常大的数据集,并且发明了诸如卷积层之类的新结构,并可以在GPU上以前所未有的精度快速运行。 所有这些因素,加上互联网巨头渴望了解由数百万用户使用其移动设备拍摄并在所述巨头平台上进行管理的照片。完美的风暴。
我们将通过下载和运行非常有趣的模型来学习如何利用该领域最好的研究人员的工作,这些模型已经在开放的大规模数据集中进行了训练。 我们可以认为预训练的神经网络类似于接受输入并生成输出的程序。 这样的程序的行为是由神经网络的体系结构以及它在训练过程中看到的示例所决定的,这些示例是所需的输入-输出对或输出应满足的所需属性。 使用现成的模型可能是启动深度学习项目的快速方法,因为它利用了设计模型的研究人员的专业知识以及训练权重所需的计算时间。
在本章中,我们将探讨三种流行的预训练模型:可以根据图像内容标记图像的模型,可以从真实图像中伪造新图像的模型以及可以使用适当的英语句子描述图像内容的模型 。 我们将学习如何在PyTorch中加载和运行这些经过预训练的模型,并且我们将介绍PyTorch Hub,这是一套工具,通过这些工具,可以通过统一的界面轻松地提供PyTorch模型(如我们将讨论的经过预训练的模型)。 在此过程中,我们将讨论数据源,定义标签等术语,并参加斑马牛仔竞技表演。
如果您是从另一个深度学习框架进入PyTorch的,而您又直接学习了PyTorch的要点,则可以跳到下一章。 我们将在本章中介绍的内容比基础知识更有趣,并且与任何特定的深度学习工具无关。 这并不是说它们不重要! 但是,如果您在其他深度学习框架中使用了预训练的模型,那么您已经知道它们可以提供多么强大的工具。 而且,如果您已经熟悉了生成对抗网络(GAN)游戏,则无需我们向您解释。
但是,我们希望您继续阅读,因为本章在有趣之外藏着一些重要技能。 学习如何使用PyTorch运行预训练的模型是一项有用的技能。 如果模型是在大型数据集上训练的,那么将特别有用。 我们将需要习惯于在现实数据上获取和运行神经网络,然后可视化和评估其输出的机制,无论我们是否进行了训练。
网友评论