请选择 进入手机版 | 继续访问电脑版

湖北纺织服装网-纺织服装行业门户网站

 找回密码
 立即注册
查看: 691|回复: 0

梦三国演播厅 剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型 天生神医全文阅读

发表于 2019-6-11 14:00 | 6910 显示全部楼层 |阅读模式

[复制链接]

53

主题

223

帖子

325

积分

等待验证会员

积分
325
发表于 2019-6-11 14:00 | 显示全部楼层 |阅读模式
这是写在帖子头部的内容
典范预练习模子、新型前沿研讨模子能否是比力难挪用?PyTorch 团队明天公布了模子挪用神器 PyTorch Hub,只需一行代码,BERT、GPT、PGAN 等最新模子都能玩起来。
项目地址:https://pytorch.org/hub
机械进修范畴,可复现性是一项重要的需求。可是,很多机械进修出书功效难以复现,甚至没法复现。随着数目上逐年增加的出书功效,包括数以万计的 arXiv 文章和大会投稿,对于研讨的可复现性比以往加倍重要了。虽然很多研讨都附带了代码和练习模子,虽然他们对利用者有所帮助,但仍然需要利用者自己去研讨若何利用。
明天,PyTorch 团队公布了 PyTorch Hub,一个简单的 API 和工作流代码库,它为机械进修研讨的复现供给了根本构建单元。PyTorch Hub 包括预练习模子库,专门用来帮助研讨的复现、辅佐新研讨的展开。它同时内置支持 Colab,集成 Papers With Code 网站,并已经有普遍的一套预练习模子,包括分类器、朋分器、天生器和 Transformer 等等。
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



研讨者公布模子
PyTorch Hub 支持在 GitHub 上公布预练习模子(界说模子结构和预练习权重),这只需要增加一个简单的 hubconf.py 文件。该文件会罗列所支持的模子,以及模子需要的依靠项。
用户可以从以下代码仓库找到利用案例:

  • https://github.com/pytorch/vision/blob/master/hubconf.py
  • https://github.com/huggingface/pytorch-pretrained-BERT/blob/master/hubconf.py
  • https://github.com/facebookresearch/pytorch_GAN_zoo


现在,我们可以看看最简单的案例,torchvision 的 hubconf.py:
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



在 torchvision,模子有以下几部分:

  • 每个模子文件都可以自力的履行
  • 这些模子不依靠 PyTorch 之外的包(在 hubconf.py 中以及集成了相关依靠:dependencies['torch'])
  • 这些模子不需要零丁的模子进口(entry-point),由于这些模子一经建立,便可以无缝地提取利用


削减包的依靠可以削减用户导入模子时出现的各类题目,而且这类导入能够只是姑且的挪用。一个直观的例子是 HuggingFace's BERT 模子。其 hubconf.py 文件以下:
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



每个模子都需要建立一个模子进口,以下指定了 bertForMaskedLM 模子进口,并希望获得预练习模子权重:
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



这些进口可以作为复杂模子的包装器,我们能供给正文文档或额外的帮助函数。最初,有了 hubconf.py,研讨者就能发送 pull 请求。当 PyTorch 接管了该请求后,研讨者的模子就会出现在 PyTorch Hub 页面上。
用户工作流
PyTorch Hub 答利用户只用简单的几步就完成很多使命,例如 1)摸索可用模子;2)加载预练习模子;3)了解加载模子的方式与运转参数。下面让我们经过一些案例体味体味 PyTorch Hub 的便利吧。
摸索可用模子
我们可以利用 torch.hub.list() API 检察仓库内一切可用的模子。
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



留意,PyTorch 还答应利用预练习模子之外的帮助模块,例如利用 bertTokenizer 来完成 BERT 模子的预处置进程,它们城市使工作流加倍顺畅。
加载模子
现在我们已经晓得有哪些预练习模子,下面便可以利用 torch.hub.load() API 加载这些模子了。利用 API 加载模子时,它只需要一行号令,而不需要额外安装 wheel。别的,torch.hub.help() API 也能供给一些有用的信息来帮助演示若何利用预练习模子。
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



实在这些预练习模子会经常更新,非论是修复 Bug 还是提升性能。而 PyTorch Hub 令用户可以极为简单地获得最初的更新版:
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



PyTorch 团队相信这个特征能帮助预练习模子的具有者减轻负担,即反复公布包的本钱会下降,他们也能加倍专注于研讨(预练习模子)自己。此外,该特征对用户也有很大上风,我们可以快速获得最新的预练习模子。
另一方面,稳定性对于用户而言很是重要。是以,模子供给者能以特定的分支或 Tag 为用户供给支持,而不间接在 master 分支上供给。这类方式能确保代码的稳定性,例如 pytorch_GAN_zoo 可以用 hub 分支来支持对其模子的利用。
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



留意传递到 hub.load() 中的 args 和 kwargs,它们都用于实例化模子。在上面的例子中,pretrained=True 和 useGPU=False 都被赋予分歧的预练习模子。
摸索已加载模子
当我们从 PyTorch Hub 中加载了模子时,我们能从以下工作流摸索可用的方式,并更好地了解运转它们需要什么样的参数。
dir(model) 方式可以检察模子的一切方式,下面我们可以看看 bertForMaskedLM 模子的可用方式。
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



help(model.forward) 方式将供给要令模子能一般跑,其所需要的参数。
下面供给了 BERT 和 DeepLabV3 两个例子,我们可以看看这些模子加载后都能怎样利用。

  • BERT:https://pytorch.org/hub/huggingface_pytorch-pretrained-bert_bert/
  • DeepLabV3:https://pytorch.org/hub/pytorch_vision_deeplabv3_resnet101/


PyTorch Hub 中的可用模子一样支持 Colab,它们城市毗连到 Papers With Code 网站。
TensorFlow 和 PyTorch 你选谁?


此前 TensorFlow 也公布了 TensorFlow Hub,它一样用于公布、摸索和利用机械进修模子中可复用的部分。比来关注便利性的 TensorFlow 2.0 Beta 也已经公布,但很多读者还是偏向于利用 PyTorch。既然这两大框架越来越「类似」,那末我们到底该利用哪个?下面机械之心简要总结了这两个深度进修框架的成长过程,我们也相信,用哪个都能开辟出想要的炫酷利用。
TensorFlow:
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



PyTorch:
剑指TensorFlow,PyTorch Hub官方模型库一行代码复现主流模型  服装资讯



TensorFlow 和 PyTorch 都是典范的机械进修代码库。随着学界和产业界对机械进修的需求的增加,两者的社区也在不竭成长强大。虽然 TensorFlow 是老牌的机械进修代码库,但由于 1.x 及之前版本存在的诸多题目,很多用户逐步转向对用户友爱、进修门坎低、利用方便的 PyTorch。在 2018 年,TensorFlow 逐步意想到这一题目,并在 2.x 版本逐步提升了用户体验。
与此同时,基于两个典范机械进修代码库的进一步工具开辟也是近年来的趋向。曩昔有部分基于 TensorFlow 的 Keras 和基于 PyTorch 的 fast.ai,比来一两年则有大量的模子库和方便用户快速练习和摆设模子的代码库,如 Tensor2Tensor,以及针对特定范畴的代码库,如基于 PyTorch 的 NLP 代码库 PyText 和图神经收集库 PyG。
今朝来看,TensorFlow 的生态系统更加多样和完善,且具有多说话的支持,其广受诟病的难以利用的弱点也在逐步改良。另一方面,由于 PyTorch 自己用户友爱的特征,基于这一代码库的利用开辟进度似乎也遇上了 TensorFlow,虽然在多说话支持等方面 PyTorch 仍然有较大差异。这一机械进修生态之战究竟会走向何方,今朝尚不清朗。未来的机械进修代码框架的成长趋向是,模子的练习、摆设工作量将会越来越低,类似「搭积木」方式的利用摆设方式将会越来越风行。研讨者和开辟者的精神将会完全转向模子结构的设想、摆设和完善,而非纠结于框架的挑选和其他底层工程题目上。
参考链接:https://pytorch.org/blog/towards-reproducible-research-with-pytorch-hub/
感激您的阅读
http://refrigeratordealers.com/cialis/
回复

使用道具 举报

0条回复
跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2015 忽悠兄 X3.2 © 2001-2013 Comsenz Inc.

Archiver|手机版|小黑屋| Comsenz Inc.  |网站地图

快速回复 返回顶部 返回列表