无论 ResNet,BERT,GPT,VGG,PGAN, 还是 MobileNet, 只需一行代码轻松复现!
"
图灵奖得主 Yann LeCun 强烈推荐
. 关于 PyTorch Hub .
可复现性是许多研究领域的基本要求, 包括基于机器学习技术的研究领域. 然而, 许多机器学习出版物要么不可复现, 要么难以复现. 随着研究出版物数量的持续增长, 包括目前在 arXiv 上的数万份论文以及历史大会投稿, 研究的可复现性比以往重要得多. 虽然其中很多出版物都附上了有用的代码以及训练有素的模型, 但仍为用户留下了一些需要自行解决的步骤.
所以 PyTorch 团队推出了 PyTorch Hub: 一个简单的 API 和工作流程, 为机器学习研究的复现提供了基础的构建模块. 它由一个经过预先训练的模型存储库组成, 专门设计用于协助研究的可复现性并实现新的研究. 它还内置了支持 Colab, 集成 Papers With Code 网站, 目前已有一组预训练模型, 包括 Classification,Segmentation,Generative 和 Transformer 等等.
. [所有者] 发布模型 .
PyTorch Hub 可通过添加一个简单的 hubconf.py 文件, 实现将预训练模型 (模型定义和预训练权重) 发布到 GitHub 存储库. 这提供了所支持模型的枚举以及运行模型所需的依赖项列表. 用户可以在 torchvision,huggingface-bert 和 gan-model-zoo 存储库中找到示例.
最简单的案例: torchvision s hubconf.py:
在 torchvision, 模型具有以下属性:
每个模型文件都可以独立正常执行
无需要除 PyTorch 以外的任何包 (在 hubconf.py 中: dependencies[ torch ])
无需单独模型入口, 因为模型一旦创建, 即可无缝提取使用
将包依赖最小化, 可减少用户导入模型后需要立即进行实验时出现的各类问题. 一个更直观的案例是 HuggingFace s BERT 模型, 其 hubconf.py 文件如下:
每个模型都需要创建一个模型入口, 下面是一个代码段, 指定了 bertForMaskedLM 模型入口, 并返回预先训练的模型权重.
这些模型入口可以作为复杂模型的包装器, 它们可以提供注释文档或其他帮助函数, 具有支持下载预训练权重的功能 (例如通过 pretrained=True), 或者具有其他特定功能, 如可视化.
有了 hubconf.py, 研究者就可以去 PyTorch Hub 的 GitHub 页发送拉取请求. 若该模型符合高质量, 易复现, 最有益的要求, Facebook 官方将会与你合作; 若模型质量较低, 也有被拒绝发布的可能. 但拉取请求一旦被接受, 该模型将很快出现在 PyTorch Hub 官方网页上, 供所有用户浏览.
. [用户] 流程 .
PyTorch Hub 允许用户对已发布的模型执行以下操作:
1, 查看可用的模型
用户可以使用 torch.hub.list() API 查看存储库内所有可用的模型入口.
PyTorch Hub 还允许使用除预训练模型的其它辅助模型, 例如在 BERT 模型中进行预处理时加入 bertTokenizer, 这会使工作流更顺畅.
2, 加载模型
已知了其中提供的模型, 用户可以使用 torch.hub.load()API 加载模型入口. 这只需要一个命令, 而不需要安装其它的 wheel. 此外, torch.hub.help()API 可以提供有关如何使用预训练模型演示的有用信息.
模型发布者通常后续也会不断添加错误修复和性能改进, 用户通过调用也可以非常简单地获取更新, 确保自己用到的是最新版本:
这将有助于减轻模型发布者重复发布包的负担, 从而使他们更加专注于研究. 同时它还可确保, 作为用户获得的是最新的可用模型.
而另一方面如果用户更在意稳定性, 模型发布者则会提供一些特定的分支或标记 (而不是主分支), 以确保代码的稳定性. 例如 pytorch_GAN_zoo 的 hub 分支:
3, 了解模型可用方法
加载了模型后, 可以使用 dir(model) 找出该模型所支持的可用方法, 以 bertForMaskedLM 模型为例:
help(model.forward) 则可提供运行该方法所需的参数, 帮助用户进行更深入的了解.
. 其他 .
PyTorch Hub 中提供的模型也支持 Colab, 并直接链接在 Papers With Code 中, 用户可以一键进入 Colab 运行模型 Demo.
想要获取更多人工智能方面的资料
可以加 V,, 信: hcgx0904(备注 "人工智能")
点击《深度学习 & 计算机视觉精讲》, 开始学习吧!
来源: http://www.bubuko.com/infodetail-3099975.html