OpenI 啟智社區

啟智社區,確實給力

當前位置:首頁 > 資訊 > 行業資訊 >

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

6 月 11 日,Facebook 宣布推出 PyTorch Hub。這是一個簡單的 API 和工作流程,包含計算機視覺、自然語言處理領域的諸多經典模型的聚合中心,為機器學習研究的復現提供了基礎的構建模塊。無論是 ResNet、BERT、GPT、VGG、PGAN,還是 MobileNet 等經典模型,只需輸入一行代碼,就能實現一鍵調用。

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型
圖靈獎得主 Yann LeCun 強烈推薦

關于 PyTorch Hub

可復現性是許多研究領域的基本要求,包括基于機器學習技術的研究領域。然而,許多機器學習出版物要么不可復現,要么難以復現。隨著研究出版物數量的持續增長,包括目前在 arXiv 上的數萬份論文以及歷史大會投稿,研究的可復現性比以往重要得多。雖然其中很多出版物都附上了有用的代碼以及訓練有素的模型,但仍為用戶留下了一些需要自行解決的步驟。

所以 PyTorch 團隊推出了 PyTorch Hub:一個簡單的 API 和工作流程,為機器學習研究的復現提供了基礎的構建模塊。它由一個經過預先訓練的模型存儲庫組成,專門設計用于協助研究的可復現性并實現新的研究。它還內置了支持 Colab,集成 Papers With Code 網站,目前已有一組預訓練模型,包括 Classification、Segmentation、Generative 和 Transformer 等等。

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

[所有者] 發布模型

PyTorch Hub 可通過添加一個簡單的 hubconf.py 文件,實現將預訓練模型 (模型定義和預訓練權重) 發布到 GitHub 存儲庫。這提供了所支持模型的枚舉以及運行模型所需的依賴項列表。用戶可以在 torchvision,huggingface-bert 和 gan-model-zoo 存儲庫中找到示例。

最簡單的案例:torchvision's hubconf.py:

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

在 torchvision,模型具有以下屬性:
  • 每個模型文件都可以獨立正常執行
  • 無需要除 PyTorch 以外的任何包(在 hubconf.py 中:dependencies['torch'])
  • 無需單獨模型入口,因為模型一旦創建,即可無縫提取使用
將包依賴最小化,可減少用戶導入模型后需要立即進行實驗時出現的各類問題。一個更直觀的案例是 HuggingFace's BERT 模型,其 hubconf.py 文件如下:

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

每個模型都需要創建一個模型入口,下面是一個代碼段,指定了 bertForMaskedLM 模型入口,并返回預先訓練的模型權重。

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

這些模型入口可以作為復雜模型的包裝器,它們可以提供注釋文檔或其他幫助函數,具有支持下載預訓練權重的功能 (例如通過 pretrained=True),或者具有其他特定功能,如可視化。

有了 hubconf.py,研究者就可以去 PyTorch Hub 的 GitHub 頁發送拉取請求。若該模型符合高質量、易復現、最有益的要求,Facebook 官方將會與你合作;若模型質量較低,也有被拒絕發布的可能。但拉取請求一旦被接受,該模型將很快出現在 PyTorch Hub 官方網頁上,供所有用戶瀏覽。

[用戶] 流程

PyTorch Hub 允許用戶對已發布的模型執行以下操作:

1、查看可用的模型

用戶可以使用 torch.hub.list() API 查看存儲庫內所有可用的模型入口。

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

PyTorch Hub 還允許使用除預訓練模型的其它輔助模型,例如在 BERT 模型中進行預處理時加入 bertTokenizer,這會使工作流更順暢。

2、加載模型

已知了其中提供的模型,用戶可以使用 torch.hub.load()API 加載模型入口。這只需要一個命令,而不需要安裝其它的 wheel。此外,torch.hub.help()API 可以提供有關如何使用預訓練模型演示的有用信息。

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

模型發布者通常后續也會不斷添加錯誤修復和性能改進,用戶通過調用也可以非常簡單地獲取更新,確保自己用到的是最新版本:

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

這將有助于減輕模型發布者重復發布包的負擔,從而使他們更加專注于研究。同時它還可確保,作為用戶獲得的是最新的可用模型。

而另一方面如果用戶更在意穩定性,模型發布者則會提供一些特定的分支或標記 (而不是主分支),以確保代碼的穩定性。例如 pytorch_GAN_zoo 的 hub 分支:

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

3、了解模型可用方法

加載了模型后,可以使用 dir(model) 找出該模型所支持的可用方法,以 bertForMaskedLM 模型為例:

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

help(model.forward) 則可提供運行該方法所需的參數,幫助用戶進行更深入的了解。

PyTorch Hub:圖靈獎得主 Yann LeCun 強推!一行代碼輕松復現主流模型

其他

PyTorch Hub 中提供的模型也支持 Colab,并直接鏈接在 Papers With Code 中,用戶可以一鍵進入 Colab 運行模型 Demo。
 
原文鏈接:
https://pytorch.org/blog/towards-reproducible-research-with-pytorch-hub/

來源 | 雷鋒網
作者 | 楊鯉萍
 
主站蜘蛛池模板: 亚洲色图13p| 91看片淫黄大片.在线天堂| 欧美日韩中文视频| 国产强伦姧在线观看| 不卡中文字幕在线| 3751色视频| 日本无遮挡h肉动漫在线观看下载| 凹凸精品视频分类国产品免费| 2019中文字幕在线| 无码一区18禁3D| 亚洲永久中文字幕在线| 鲤鱼乡太大了坐不下去| 小天使抬起臀嗯啊h高| 亚洲人精品亚洲人成在线| 色综合久久综合欧美综合网| 在线观看视频日韩| 久久无码人妻一区二区三区午夜| 精品一区二区久久| 国产欧美日韩综合精品一区二区| 一级艳片加勒比女海盗1| 欧美又粗又长又爽做受| 又爽又高潮的BB视频免费看| 东北女人毛多水多牲交视频| 欧美性xxxxx极品老少| 厨房掀起馊子裙子挺进去| 桃花阁成人网在线观看| 强制邻居侵犯456在线观看| 伊人色综合久久88加勒| 黄色香蕉视频网站| 女人张开腿让男人插| 久久精品一区二区三区中文字幕 | 日本乱妇bbwbbw| 亚洲精品中文字幕乱码三区| 蝌蚪视频app下载安装无限看丝瓜苏| 夜夜高潮夜夜爽夜夜爱爱 | 国内xxxx乱子另类| 久久99热精品这里久久精品| 欧美性大战久久久久久久 | 四虎影视在线永久免费看黄| 老司机69精品成免费视频| 娇BBB搡BBBB揉BBBB|