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、查询模型中可用的方法。
下面让我们来看看每个应用的实例。
用户可以使用torch.hub.list()这个API列出repo中所有可用的入口点。比如你想知道PyTorch Hub中有哪些可用的计算机视觉模型:
>>> torch.hub.list('pytorch/vision')
>>>
['alexnet',
'deeplabv3_resnet101',
'densenet121',
...
'vgg16',
'vgg16_bn',
'vgg19',
'vgg19_bn']
在上一步中能看到所有可用的计算机视觉模型,如果想调用其中的一个,也不必安装,只需一句话就能加载模型。
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)
从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里的引