摘要:昨日,Caffe2的Github頁面突然出現了一個「巨大的改動」:Caffe2開源代碼正式併入PyTorch,至此,Facebook主力支持的兩大深度學習框架已合二為一。 這兩大框架,在整個深度學習框架
昨日,Caffe2 的 Github 頁面突然出現了一個「巨大的改動」:Caffe2 開源代碼正式併入 PyTorch,至此,Facebook 主力支持的兩大深度學習框架已合二為一。 這兩大框架,在整個深度學習框架格局中都極受關注。
在 Caffe 2 的 GitHub 頁面上,以往用於介紹框架內容的 Readme 區域已經變成了一個加粗體的鏈接:源代碼現已歸入 PyTorch 庫。
自2017 年1 月發布之後,由於調試、編譯等多方面的優勢,PyTorch 已經成為很多科研機構首選的深度學習框架;而2017 年4 月推出的Caffe 2 則具有可在iOS、Android 和樹莓派 等多種設備上訓練和部署模型的優勢。 儘管獲得了很多用戶的支持,在面對谷歌支持的 TensorFlow 生態時,PyTorch 和 Caffe 2 各自仍有短板,此次「合併」或許會成為深度學習工程領域新形勢的一個開始。
相關鏈接:
如果你緊跟 PyTorch 的開發進程,那麼你可能會注意到過去幾個月這個庫有一些改變:
-
PyTorch 和 Caffe2 目前會共享 CI,這是非常重要的工程工作。
-
PyTorch 和 PyTorch-ONNX 有非常複雜的 CI,onnxbot 觸發器構建在每一個 PyTorch PR 上,並以 roundabout 的方式更新。
-
在「pending」狀態中有後端研發工作,例如與最新和最重要的庫集成(MKLDNN、cuFFT 和更多的 NNPACK 覆蓋等)。
作為 PyTorch 和 Caffe2 框架的主要維護者,共享二者通用的工程性內容也就很合理了,例如算子庫。
然而,在兩個單獨的 Github repos 上共享代碼很有挑戰性(不可去掉的子模塊或者子樹,Continuous Intergration 變得很難等)。
在協作下,我們把 Caffe2 repo 併入到了 PyTorch 的 github。 也就是,如果你用命令 git clone https://github.com/pytorch/pytorch,你可以看到 caffe2 的二進製文件。
作為 PyTorch 用戶,你需要知道:並沒改變什麼,PyTorch 的安裝、搭載、使用和往常一樣。
其實這並不會意味著我們的代碼會失效,這只是開發和後端工程工作。 如何你並不是 core-developer,這個問題甚至不會與你有任何關係。 此外對於用戶來說,我們同樣也並不需要關注 protobuf 問題。
關於此問題,目前任 Facebook 研究科學家賈揚清在知乎上表示:
來簡單答一下:因為 PyTorch 有優秀的前端,Caffe2 有優秀的後端,整合起來以後可以進一步最大化開發者的效率。 目前 FAIR 大概有超過一半的項目在使用 PyTorch,而產品線全線在使用 Caffe2,所以兩邊都有很強的動力來整合優勢。
開發效率是我在Facebook 非常重視的一個方向:去年年中的時候啟動了ONNX 項目(初版的代碼是我親自上手寫的),然後幫助搭建了ONNX team,來增強不同框架甚至不同公司之間的 協作;Caffe2 和PyTorch 在代碼層的合併也是從那個時候開始逐漸推動的一項內容。
至於進一步的計劃,目前我還不方便透露,等過一個月有空再來更新吧。
版權聲明
本文僅代表作者觀點,不代表百度立場。
本文係作者授權百度百家發表,未經許可,不得轉載。