衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Facebook新推出了一個深度學習工具包:PyTorch Hub

DPVg_AI_era ? 來源:lq ? 2019-06-15 09:58 ? 次閱讀

為了解決日益增長的論文可復現性需求,Facebook推出了PyTorch Hub,類似TensorFlow Hub的一個模型共享庫,加載ResNet、BERT、GPT、VGG、PGAN還是MobileNet等經典模型只需一行代碼。用戶可以提交、瀏覽模型,極大的改善了論文的可復現性難題。

機器學習論文的可復現性一直是個難題。許多機器學習相關論文要么無法復現,要么難以重現。有時候論文讀者經常為了調用各種經典機器學習模型,還要重復造輪子。

隨著提交給arXiv以及各種會議上的論文數量開始暴漲,可復現性的重要性也越來越凸顯。

很多論文選擇隨文附上代碼和訓練模型,在一定程度上對使用者起到了幫助作用,但成效并不明顯。復現過程中,仍有大量工作需要論文讀者自己摸索。

PyTorch Hub是什么?

近日,Facebook新推出了一個深度學習工具包:PyTorch Hub,這是一個簡單的API和工作流,提供基本的構建模塊從而可以改善機器學習研究的可重現性。

PyTorch Hub包含了一系列與圖像分類、圖像分割、生成以及轉換相關的預訓練模型庫,例如ResNet、BERT、GPT、VGG、PGAN、MobileNet等經典模型,

PyTorch Hub試圖以最傻瓜的方式,提高研究工作的復現性。有多簡單呢?圖靈獎得主Yann LeCun發推表示,只需要一行代碼就可以調用所有倉庫里的模型,通過一個pull請求來發布你自己的模型。

同時,PyTorch Hub整合了Google Colab,并集成了論文代碼結合網站Papers With Code,可以直接找到論文的代碼。

PyTorch Hub怎么用?

復現別人的成果是PyTorch Hub主打功能,那么具體怎么樣用呢?PyTorch官方提出三步走策略:瀏覽可用模型;加載模型;探索已加載的模型。

瀏覽可用模型

直接用torch.hub.list() API列出所有可用的入口點即可。代碼示例:

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

加載模型

使用PyTorch加載模型很簡單,正如LeCun所說,只需要一行代碼即可使用。比如從GitHub里加載一個模型:

mode = torch.hub.load(github, model, force_reload=False, *args, **kwargs)

加載一個PyTorch預訓練的模型:

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

在此之外,我們還需要了解一些其它的相對比較復雜的事情,包括探索已加載的模型、復現別人成果的工作流,以及如何快速發布自己的模型。

探索已加載的模型

從PyTorch Hub加載模型后,可以使用dir(model)查看模型的所有可用方法,示例代碼:

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

還可以用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)...我自己的模型也能發嗎?

只需要在預訓練模型(包括模型定義及預訓練權重)加入一個hubconf.py文件,就可以通過PyTorch Hub將模型發布到GitHub倉庫。以torchvision的hubconf.py文件為例:

# Optional list of dependencies required by the packagedependencies = ['torch']from torchvision.models.alexnet import alexnetfrom torchvision.models.densenet import densenet121, densenet169, densenet201, densenet161from torchvision.models.inception import inception_v3from torchvision.models.resnet import resnet18, resnet34, resnet50, resnet101, resnet152, esnext50_32x4d, resnext101_32x8dfrom torchvision.models.squeezenet import squeezenet1_0, squeezenet1_1from torchvision.models.vgg import vgg11, vgg13, vgg16, vgg19, vgg11_bn, vgg13_bn, vgg16_bn, vgg19_bnfrom torchvision.models.segmentation import fcn_resnet101, deeplabv3_resnet101from torchvision.models.googlenet import googlenetfrom torchvision.models.shufflenetv2 import shufflenet_v2_x0_5, shufflenet_v2_x1_0from torchvision.models.mobilenet import mobilenet_v2

torchvision中,模型有3個特性:

每個模型文件可以被獨立執行或實現某個功能

不需要除了PyTorch之外的任何軟件包(在hubconf.py中編碼為 dependencies[‘torch’])

他們不需要單獨的入口點,因為模型在創建時可以無縫地開箱即用

最小化包依賴性可減少用戶加載模型時遇到的困難。以HuggingFace’s BERT為例:

dependencies = ['torch', 'tqdm', 'boto3', 'requests', 'regex']from hubconfs.bert_hubconf import (bertTokenizer,bertModel,bertForNextSentencePrediction,bertForPreTraining,bertForMaskedLM,bertForSequenceClassification,bertForMultipleChoice,bertForQuestionAnswering,bertForTokenClassification和TensorFlow Hub有什么區別?

前Google Brain員工mat kelcey吐槽“Hub”這個詞簡直是機器學習模型項目的共享單詞,TensorFlow Hub了,PyTorch也Hub了。

那么和PyTorch Hub相比,更早推出的TensorFlow Hub有什么區別呢?

TensorFlow Hub是一個共享可重用的機器學習平臺,主要面向開發者,谷歌希望TensorFlow Hub能夠為研究人員和開發人員提供一種便利的方式,能夠更方便的在社區中共享模型。從某種意義上來講,除了架構本身,共享預訓練模型的同時,也共享了開發模型的計算時間和數據集。示例代碼:

!pip install "tensorflow_hub==0.4.0"!pip install "tf-nightly"import tensorflow as tfimporttensorflow_hubashubtf.enable_eager_execution()module_url = "https://tfhub.dev/google/tf2-preview/nnlm-en-dim128/1"embed = hub.KerasLayer(module_url)embeddings = embed(["A long sentence.", "single-word","http://example.com"])print(embeddings.shape)#(3,128)

TensorFlow Hub還有一個非常關鍵的特性是它的Web端體驗。開發人員可以針對開發用例來瀏覽TF模塊,通過TensorFlow Hub推出新的Web體驗可以更容易的進行搜索和瀏覽,同時為multi-publisher平臺奠定了基礎。

網址:

https://tfhub.dev/

從官方的介紹來看,TF Hub的出發點是開發用例,而PyTorch Hub的出發點是論文復現。目前看來TF Hub的內置模型更多一點;此外,TF Hub提供的web方式瀏覽模型的體驗更好,搜索模型更加方便。

相關資源,方便大家快速上手:

PyTorch Hub API手冊:

https://pytorch.org/docs/stable/hub.html

模型提交地址:

https://github.com/pytorch/hub

瀏覽可用模型:

https://pytorch.org/hub

在 Paper with Code 上瀏覽更多模型:

https://paperswithcode.com/

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Facebook
    +關注

    關注

    3

    文章

    1429

    瀏覽量

    55002
  • 深度學習
    +關注

    關注

    73

    文章

    5516

    瀏覽量

    121556
  • pytorch
    +關注

    關注

    2

    文章

    808

    瀏覽量

    13366

原文標題:一行代碼即可調用18款主流模型!PyTorch Hub輕松解決論文可復現性

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Labview聲音和振動工具包示例文件Sound Level

    Labview 聲音和振動工具包示例文件,聲壓測試,有模擬和DAQ兩文件。
    發表于 01-05 09:15 ?0次下載

    PyTorch 數據加載與處理方法

    PyTorch流行的開源機器學習庫,它提供了強大的工具來構建和訓練深度
    的頭像 發表于 11-05 17:37 ?497次閱讀

    Pytorch深度學習訓練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學習訓練。
    的頭像 發表于 10-28 14:05 ?276次閱讀
    <b class='flag-5'>Pytorch</b><b class='flag-5'>深度</b><b class='flag-5'>學習</b>訓練的方法

    FPGA仿真工具包軟件EasyGo Vs Addon介紹

    EasyGo Vs Addon是款領先的FPGA仿真工具包軟件,它強大地連接了VeriStand軟件與Matlab/Simulink,為實時測試和驗證領域帶來了前所未有的便利和效率,特別適用于汽車、航空航天和能源電力等實時測試和驗證至關重要的行業。
    的頭像 發表于 10-24 15:55 ?518次閱讀
    FPGA仿真<b class='flag-5'>工具包</b>軟件EasyGo Vs Addon介紹

    采用德州儀器 (TI) 工具包進行模擬前端設計應用說明

    電子發燒友網站提供《采用德州儀器 (TI) 工具包進行模擬前端設計應用說明.pdf》資料免費下載
    發表于 09-09 11:21 ?0次下載
    采用德州儀器 (TI) <b class='flag-5'>工具包</b>進行模擬前端設計應用說明

    pytorch環境搭建詳細步驟

    PyTorch作為廣泛使用的深度學習框架,其環境搭建對于從事機器學習
    的頭像 發表于 08-01 15:38 ?967次閱讀

    PyTorch深度學習開發環境搭建指南

    PyTorch作為種流行的深度學習框架,其開發環境的搭建對于深度學習研究者和開發者來說至關重要
    的頭像 發表于 07-16 18:29 ?1283次閱讀

    pytorch中有神經網絡模型嗎

    處理、語音識別等領域取得了顯著的成果。PyTorch開源的深度學習框架,由Facebook
    的頭像 發表于 07-11 09:59 ?815次閱讀

    PyTorch的介紹與使用案例

    PyTorch基于Python的開源機器學習庫,它主要面向深度學習和科學計算領域。
    的頭像 發表于 07-10 14:19 ?465次閱讀

    tensorflow和pytorch哪個更簡單?

    : TensorFlow和PyTorch都是用于深度學習和機器學習的開源框架。TensorFlow由Google Brain團隊開發,而PyTorc
    的頭像 發表于 07-05 09:45 ?983次閱讀

    tensorflow和pytorch哪個好

    tensorflow和pytorch都是非常不錯的強大的框架,TensorFlow還是PyTorch哪個更好取決于您的具體需求,以下是關于這兩框架的些關鍵點: TensorFlow
    的頭像 發表于 07-05 09:42 ?776次閱讀

    PyTorch的特性和使用方法

    PyTorch開源的Python機器學習庫,由Meta Platforms(前身為Facebook)的人工智能研究團隊開發,并于201
    的頭像 發表于 07-02 14:27 ?653次閱讀

    TensorFlow與PyTorch深度學習框架的比較與選擇

    深度學習作為人工智能領域的重要分支,在過去十年中取得了顯著的進展。在構建和訓練深度學習模型的
    的頭像 發表于 07-02 14:04 ?1079次閱讀

    新加坡推出Project Moonshot -- 這是款生成式人工智能測試工具包,用于應對LLM安全和安保挑戰

    新加坡2024年6月3日?/美通社/ -- 新加坡通訊及新聞部部長Josephine Teo 女士推出了AI Verify- Project Moonshot,這是易于使用的測試工具包
    的頭像 發表于 06-03 19:59 ?283次閱讀
    新加坡<b class='flag-5'>推出</b>Project Moonshot -- 這是<b class='flag-5'>一</b>款生成式人工智能測試<b class='flag-5'>工具包</b>,用于應對LLM安全和安保挑戰

    QE for Motor V1.3.0:汽車開發輔助工具解決方案工具包

    電子發燒友網站提供《QE for Motor V1.3.0:汽車開發輔助工具解決方案工具包.pdf》資料免費下載
    發表于 02-19 10:44 ?0次下載
    QE for Motor V1.3.0:汽車開發輔助<b class='flag-5'>工具</b>解決方案<b class='flag-5'>工具包</b>
    乳山市| 大发888资讯| 百家乐破解秘籍| 百家乐免费改| 申烨太阳城三期| 大发888娱乐城下栽| 大发888娱乐真钱游戏 下载 | 百家乐官网里面的奥妙| 百家乐官网全讯网娱乐城| 财神百家乐官网娱乐城| 线上百家乐官网开户| 百家乐官网赌场筹码| 鼎尚百家乐官网的玩法技巧和规则 | 真人百家乐平台排行| 网上有百家乐玩吗| 大发888安装包| 打牌网| 百家乐官网咨询网址| 大发888非法吗| 网上现金百家乐| 大发百家乐游戏| 博九百家乐的玩法技巧和规则| 大发888官方 df888gfxzylc8| 娱乐城注册送体验金| 大发娱乐城官网| 百家乐官网如何视频| 百家乐官网玩揽法大全| 百家乐官网下注技巧| 百家乐英皇娱乐场| 大发888官方6222.co| 线上百家乐官网可靠吗| 微信百家乐官网群资源| 传奇百家乐的玩法技巧和规则| 535娱乐城下载| 百家乐官网编单短信接收| 真人百家乐官网最高赌注| 玩百家乐技巧巧| 金宝博188| 申请百家乐官网会员送彩金| 百家乐室系统软件| 大发888娱乐场118|