Torch Hub——使开发人员快速部署人工智能模型

人工智能
后台-插件-广告管理-内容页头部广告(手机)
Torch Hub——使开发人员快速部署人工智能模型

Torch Hub 简介

在计算机科学中,许多人认为研究和生产之间的桥梁中的一个关键难题是可重复性。基于这个概念,PyTorch 引入了 Torch Hub,这是一个应用程序可编程接口 (API),它允许两个程序相互交互并增强工作流程,以便于研究可重复性。Torch Hub 允许发布预先训练的模型,以帮助实现研究共享和可重复性。Torch Hub 已经为各种任务托管了一系列模型,目前为止一共47个研究模型.

Torch Hub——使开发人员快速部署人工智能模型

我们使用torch.hub.load函数来加载需要的模型,其函数如下:

torch.hub.load( repo_or_dir , model , * args , source = 'github' ,  force_reload = False , verbose = True , skip_validation = False , ** kwargs )参数如下:repo_or_dir ( string )如果source是 'github',这应该对应于repo_owner/repo_name[:tag_name具有可选标签/分支格式的 github 存储库,例如 'pytorch/vision:0.10'。如果tag_name未指定,则假定默认分支为main存在,否则为master。如果source是“本地”,则它应该是本地目录的路径。model ( string ) – 在 repo/dir's 中定义的可调用(入口点)的名称hubconf.py。  *args(可选)– callable 的相应参数model。source ( string , optional ) – 'github' 或 'local'。指定如何 repo_or_dir解释。默认为“github”。force_reload ( bool , optional ) – 是否无条件强制重新下载github repo。如果 没有任何影响 。默认为。source = 'local'Falseverbose ( bool , optional ) – If False,屏蔽有关命中本地缓存的消息。请注意,有关首次下载的消息无法屏蔽。如果 没有任何影响。默认为。source = 'local'Trueskip_validation ( bool , optional ) – 如果False,torchhub 将检查github参数指定的分支或提交是否正确属于 repo 所有者。这将向 GitHub API 发出请求;您可以通过设置GITHUB_TOKEN环境变量来指定非默认 GitHub 令牌 。默认为False。**kwargs (可选) – callable 的相应 kwargs model。

我们利用此函数加载一个模型来查看torch.hub的代码

Torch Hub——使开发人员快速部署人工智能模型

DCGAN 输出

import matplotlib.pyplot as pltimport torchvisionimport torchuseGpu = True if torch.cuda.is_available() else False# 加载模型model = torch.hub.load("facebookresearch/pytorch_GAN_zoo:hub", "DCGAN",pretrained=True, useGPU=useGpu)#随机生成噪声(noise, _) = model.buildNoiseData(64)with torch.no_grad():generatedImages = model.test(noise)output = torchvision.utils.make_grid(generatedImages).permute(1, 2, 0).cpu().numpy()plt.imshow(output)plt.show()

首先我们使用torch.hub.load函数来加载DCGAN的预训练模型,并使用一个噪声生成器来构建噪声,我们通过向模型输入噪声来生成随机的图像,在绘制图片前,我们需要把图片数据转换到numpy的数据,最后使用plt.imshow函数便可以生成图片

当然我们也可以使用hub来进行自己的数据训练,我们后期将进行分享。

后台-插件-广告管理-内容页尾部广告(手机)
标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。