英雄联盟马匹查询器啥意思 英雄联盟怎么玩的( 八 )




我们想强调的是, 像这样的东西, 在深度学习出现之前是很难实现的, 现在我们可以用不到一千行代码, 一个对马或斑马一无所知的通用架构, 一个图像和它们的描述的语料库(在本例中是MS COCO数据集)就能完成 。 没有硬编码的标准或语法, 所有的东西, 包括句子, 都是从数据中的模式中产生的 。


最后一个例子中的网络架构, 在某种程度上, 比我们之前看到的更复杂, 因为它包括两个网络 。 其中一个是循环神经网络, 但它是用相同的构建块构建的, 所有这些都是由PyTorch提供的 。


在撰写本文的时候, 像这样的模型更多的是作为应用研究或创新项目而存在, 而不是有明确的具体用途 。 结果虽然有希望, 但还不够好用 。 随着时间的推移(以及额外的训练数据), 我们应该期望这类模型能够向视力受损的人描述世界, 从视频中转录场景, 并执行其他类似的任务 。












在寻找有趣的预训练模型的过程中, 我们现在可以搜索包含hubconf.py的GitHub存储库, 我们马上就会知道可以使用torch.hub模块加载它们 。 让我们看看在实践中是如何做到的 。 为此, 我们将回到TorchVision, 因为它提供了一个如何与Torch Hub交互的清晰示例 。




现在我们知道了repo、入口点和一个有趣的关键字参数, 这就是使用torch.hub加载模型所需的全部内容, 甚至不需要克隆repo 。 没错, Pytorch会帮我们处理的:


它设法将pytorch/vision repo的主分支的快照以及权重下载到本地目录(在我们的主目录中默认为.torch/hub)并运行resnet18入口点函数, 该函数返回实例化的模型 。 根据环境的不同, Python可能会提示缺少一个模块, 比如PIL 。 Torch Hub不会安装缺失的依赖项, 但它会将它们报告给我们, 以便我们采取行动 。


与前面的方法相同, 此时, 我们可以使用经过适当的参数调用返回的模型, 然后对其运行前向传播 。 非常好的一点是, 现在通过这一机制发布的每一个模型都将使用相同的模式供我们使用, 而且数量远远超出我们的想象 。


注意, 入口点应该返回模型;但是, 严格地说, 他们不是被动返回的 。 例如, 我们可以有一个输入转换的入口点, 另一个输入点用于将输出概率转换为文本标签 。 或者我们可以有一个仅用于模型的入口点, 另一个入口点包括模型以及预处理和后处理步骤 。 通过开放这些选项, PyTorch开发人员为社区提供了足够的标准化和很大的灵活性 。 我们将看看这个机会将产生什么样的模式 。








我们还将看到如何使用相同的构建块来构建处理不同类型数据上的不同问题的模型 。 PyTorch做得特别正确的一件事是, 以基本工具集的形式提供这些构建块, 从API的角度来看, PyTorch并不是一个非常大的库, 尤其是与其他深度学习框架相比 。


这本书并没有集中讨论完整的pytorch api或者回顾深度学习架构;相反, 我们将建立这些构件的实际知识 。 这样, 你就可以在一个坚实的基础上使用优秀的在线文档和知识库 。


从下一章开始, 我们将开始一段旅程, 这段旅程将使我们能够使用PyTorch从头开始教授我们的计算机技能, 就像本章所描述的那样 。 我们还将了解到, 从预先训练好的网络开始, 在新数据上对其进行微调, 而不必从头开始, 这是在我们拥有的数据点不是特别多的情况下解决问题的有效方法 。 更进一步的原因在于, 对深度学习从业者来说, 预训练网络是一个重要的工具 。 现在, 是时候学习第一个基本构件“张量”了 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。