Facebook发布PyTorch Hub,用于重现AI模型结果
2019年06月11日 由 明知不问 发表
955344
0
可重现性是许多研究领域的基本要求,包括基于机器学习技术的研究领域。然而,许多机器学习出版物要么不可再现,要么难以复制。
为了支持人工智能模型的可重现性,Facebook发布了beta版的Pytorch Hub,这是用于支持研究可重现性技术的API和工作流程,为改善机器学习研究的可重现性提供了基本的构建模块。
PyTorch Hub包含一个经过预训练的模型库,专门用于促进研究的可重现性和新的研究。它还内置了对Colab的支持,与Papers With Code集成,目前包含一系列广泛的模型,包括分类和分段,生成,变换器等。
在模型发布后,PyTorch Hub可以访问将近20个模型,包括英伟达的模型。还有许多音频和生成模型,以及使用ImageNet数据库训练的计算机视觉模型。
Pytorch Hub无需下载模型,可以非常简单地用代码调用模型。
至于如何使用,分为两种情况:
对于发布者,Pytorch Hub可以通过添加hubconf.py文件快速将预训练模型发布到Github库,并使用Github pull请求发布模型。Pythorch Hub支持Google Colab和PaperswithCode中的模型。
最简单的案例:torchvision's hubconf.py:
# Optional list of dependencies required by the package
dependencies = ['torch']
from torchvision.models.alexnet import alexnet
from torchvision.models.densenet import densenet121, densenet169, densenet201, densenet161
from torchvision.models.inception import inception_v3
from torchvision.models.resnet import resnet18, resnet34, resnet50, resnet101, resnet152,\
resnext50_32x4d, resnext101_32x8d
from torchvision.models.squeezenet import squeezenet1_0, squeezenet1_1
from torchvision.models.vgg import vgg11, vgg13, vgg16, vgg19, vgg11_bn, vgg13_bn, vgg16_bn, vgg19_bn
from torchvision.models.segmentation import fcn_resnet101, deeplabv3_resnet101
from torchvision.models.googlenet import googlenet
from torchvision.models.shufflenetv2 import shufflenet_v2_x0_5, shufflenet_v2_x1_0
from torchvision.models.mobilenet import mobilenet_v2
在torchvision,模型具有以下属性:
- 每个模型文件都可以独立运行和执行
- 不需要PyTorch以外的任何包
- 不需要单独的入口点,因为模型在创建时可以无缝地开箱即用
对于用户,PyTorch Hub允许你按照几个简单的步骤执行以下操作:
- 探索可用的模型
- 加载模型
- 了解任何给定模型可用的方法
具体案例可参考官方博客。
随着研究出版物数量的持续增长,包括目前在ARXIV上发表的数万篇论文和提交给会议的高水平论文,研究的可重现性比以往都更重要。
团队表示,“我们的目标是策划高质量、易于复制、最大限度地有益于研究可重现性的模型。因此,我们可能会与大家合作,完善请求,在某些情况下,甚至拒绝一些低质量的模型发布。”
公开代码
这个消息是在加利福尼亚州长滩举行的国际机器学习会议(ICML)中发布的。今年,ICML首次鼓励研究人员在研究的同时提交代码,以证明研究结果。
大约提交的论文中的36%,以及通过的论文中的67%都公开了代码。2018年人工智能指数报告发现,在政府、学术和企业研究人员撰写的研究论文数量稳步增长的情况下,ICML是最受欢迎的年度人工智能会议之一。
科技型大学相关的研究人员相比公司或企业相关的研究人员更倾向公开代码,学术界提交的内容中90%包括代码,而只有27.4%的公司或企业相关研究人员公开了代码。
Kamalika Chaudhuri和Ruslan Salakhutdinov在会议上分享了ICML公开代码的结果,他表示:“我们希望未来的项目主席将继续并改进这一过程,使社区朝着即时代码发布和提高可重现性的文化迈进。”对于AI的发展来说,这也是相当有利的举措。
博客与示例:
pytorch.org/blog/towards-reproducible-research-with-pytorch-hub
测试版本:
pytorch.org/hub