PyTorch Hub

计算机视觉、自然语言处理领域经典模型的聚合中心
授权协议 未知
开发语言 Python
所属分类 神经网络/人工智能、 计算机视觉库/人脸识别
软件类型 开源软件
地区 不详
投 递 者 岑炯
操作系统 跨平台
开源组织 Facebook
适用人群 未知
 软件概览

Facebook宣布推出PyTorch Hub,一个包含计算机视觉、自然语言处理领域的诸多经典模型的聚合中心,让你调用起来更方便。

PyTorch Hub是一个简易API和工作流程,为复现研究提供了基本构建模块,包含预训练模型库

并且,PyTorch Hub还支持Colab,能与论文代码结合网站Papers With Code集成,用于更广泛的研究。

发布首日已有18个模型“入驻”,获得英伟达官方力挺。而且Facebook还鼓励论文发布者把自己的模型发布到这里来,让PyTorch Hub越来越强大。

PyTorch Hub的使用简单到不能再简单,不需要下载模型,只用了一个torch.hub.load()就完成了对图像分类模型AlexNet的调用。

PyTorch Hub允许用户对已发布的模型执行以下操作:

1、查询可用的模型;
2、加载模型;
3、查询模型中可用的方法。

下面让我们来看看每个应用的实例。

1、查询可用的模型

用户可以使用torch.hub.list()这个API列出repo中所有可用的入口点。比如你想知道PyTorch Hub中有哪些可用的计算机视觉模型:

>>> torch.hub.list('pytorch/vision')
>>>
['alexnet',
'deeplabv3_resnet101',
'densenet121',
...
'vgg16',
'vgg16_bn',
'vgg19',
 'vgg19_bn']

2、加载模型

在上一步中能看到所有可用的计算机视觉模型,如果想调用其中的一个,也不必安装,只需一句话就能加载模型。

model = torch.hub.load('pytorch/vision', 'deeplabv3_resnet101', pretrained=True)

至于如何获得此模型的详细帮助信息,可以使用下面的API:

print(torch.hub.help('pytorch/vision', 'deeplabv3_resnet101'))

如果模型的发布者后续加入错误修复和性能改进,用户也可以非常简单地获取更新,确保自己用到的是最新版本:

model = torch.hub.load(..., force_reload=True)

对于另外一部分用户来说,稳定性更加重要,他们有时候需要调用特定分支的代码。例如pytorch_GAN_zoo的hub分支:

model = torch.hub.load('facebookresearch/pytorch_GAN_zoo:hub', 'DCGAN', pretrained=True, useGPU=False)

3、查看模型可用方法

从PyTorch Hub加载模型后,你可以用dir(model)查看模型的所有可用方法。以bertForMaskedLM模型为例:

>>> dir(model)
>>>
['forward'
...
'to'
'state_dict',
]

如果你对forward方法感兴趣,使用help(model.forward) 了解运行运行该方法所需的参数。

>>> help(model.forward)
>>>
Help on method forward in module pytorch_pretrained_bert.modeling:
forward(input_ids, token_type_ids=None, attention_mask=None, masked_lm_labels=None)
...

PyTorch Hub中提供的模型也支持Colab。

进入每个模型的介绍页面后,你不仅可以看到GitHub代码页的入口,甚至可以一键进入Colab运行模型Demo。

介绍内容来自量子位

  • Facebook官方博客表示,PyTorch Hub是一个简易API和工作流程,为复现研究提供了基本构建模块,包含预训练模型库。并且,PyTorch Hub还支持Colab,能与论文代码结合网站Papers With Code集成,用于更广泛的研究。发布首日已有18个模型“入驻”,获得英伟达官方力挺。而且Facebook还鼓励论文发布者把自己的模型发布到这里来,让PyTorch Hub越来越强大。

  • 从PyTorch Hub加载YOLOv5运行推理 教程:https://github.com/ultralytics/yolov5/issues/36 import torch # Model # model = torch.hub.load('ultralytics/yolov5', 'yolov5s') # or yolov5n - yolov5x6, custom 加载官网训练好的模型

  • PyTorch Hub的使用简单到不能再简单,不需要下载模型,只用了一个torch.hub.load()就完成了对图像分类模型AlexNet的调用。 import torch model = torch.hub.load('pytorch/vision', 'alexnet', pretrained=True) model.eval() 下面让我们来看看每个应用的实例。 1、查询可用的模型 用户

 相关资料
  • 很长一段时间,核心NLP技术主要是机器学习方法,它们使用线性模型(如支持向量机或逻辑回归),通过非常高维但非常稀疏的特征向量进行训练。

  • 主要内容 前言 课程列表 推荐学习路线 数学基础初级 程序语言能力 机器学习简介 自然语言学习初级 数学和机器学习知识补充 自然语言处理中级 自然语言处理专项领域学习 前言 我们要求把这些课程的所有Notes,Slides以及作者强烈推荐的论文看懂看明白,并完成所有的老师布置的习题,而推荐的书籍是不做要求的,如果有些书籍是需要看完的,我们会进行额外的说明。 课程列表 课程 机构 参考书 Notes

  • 深圳 一面挂 基础知识: 1、transformer的位置编码了解吗,有什么位置编码? 2、注意力机制有哪些变种? 3、tranformer的改进。 4、对其他推理有没有了解? 场景题:给一个一千万的文档和一百万个词,在每个文档中匹配出存在的单词,怎么做? 对hadoop和mapreduce有了解吗? 手撕代码:递归二分查找 北京 一面 介绍transformer、我的论文聚类算法用的哪一种、有没

  • 知识图谱 接口: nlp_ownthink 目标地址: https://ownthink.com/ 描述: 获取思知-知识图谱的接口, 以此来查询知识图谱数据 限量: 单次返回查询的数据结果 输入参数 名称 类型 必选 描述 word str Y word="人工智能" indicator str Y indicator="entity"; Please refer Indicator Info

  • PyTorch 自然语言处理(Natural Language Processing with PyTorch 中文版)

  • 这是一本关于自然语言处理的书。所谓“自然语言”,是指人们日常交流使用的语言,如英语,印地语,葡萄牙语等。

  • 一面: 自我介绍 项目介绍 八股文: 1. GBDT 2. xgboost 3.逻辑回归,svm,决策树的优缺点,适用场景 4.决策树和随机森林的区别 5.是否了解attention,transform的kqv 6.用过的loss函数,是否了解triplet loss之类的,好几个没听过的loss,没记住 7.batchnorm的参数是否可训练,b*c*w*h有多少个参数 8.如何进行上采样,上采

  • base 西安 一面(30min): 第一个面试官: (1) 英文自我介绍 英文说我的家乡和陕西的不同 (2) 介绍一个自己的项目 问了下模型的数据量 (3) 介绍一下模型训练的流程 (4) 完成括号匹配需要使用什么数据结构,讲一下怎么实现 (5) 主要使用的语言:python 了解c++吗:本科用过,但现在不熟 ×(6) 指针和引用有什么区别:我知道指针是啥...但是引用想成了python里的引