Caffe2代碼全部併入PyTorch:深度學習框架格局劇震

2021-01-12 機器之心Pro

昨日,Caffe2 的 Github 頁面突然出現了一個「巨大的改動」:Caffe2 開原始碼正式併入 PyTorch,至此,Facebook 主力支持的兩大深度學習框架已合二為一。這兩大框架,在整個深度學習框架格局中都極受關注。

在 Caffe 2 的 GitHub 頁面上,以往用於介紹框架內容的 Readme 區域已經變成了一個加粗體的連結:原始碼現已歸入 PyTorch 庫。

自 2017 年 1 月發布之後,由於調試、編譯等多方面的優勢,PyTorch 已經成為很多科研機構首選的深度學習框架;而 2017 年 4 月推出的 Caffe 2 則具有可在 iOS、Android 和樹莓派等多種設備上訓練和部署模型的優勢。儘管獲得了很多用戶的支持,在面對谷歌支持的 TensorFlow 生態時,PyTorch 和 Caffe 2 各自仍有短板,此次「合併」或許會成為深度學習工程領域新形勢的一個開始。

相關連結:

Facebook 宣布開源 Caffe2:可在手機與樹莓派上訓練和部署模型重磅 | Torch7 團隊開源 PyTorch:Python 優先的深度學習框架

如果你緊跟 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 在代碼層的合併也是從那個時候開始逐漸推動的一項內容。至於進一步的計劃,目前我還不方便透露,等過一個月有空再來更新吧。

相關焦點

  • 【深度學習】Keras vs PyTorch vs Caffe:CNN實現對比
    編譯 | VK 來源 | Analytics Indiamag在當今世界,人工智慧已被大多數商業運作所應用,而且由於先進的深度學習框架,它非常容易部署。這些深度學習框架提供了高級編程接口,幫助我們設計深度學習模型。
  • 最全面的深度學習框架pytorch搭建過程
    深度學習一直是比較熱門的話題,在動手學習之前,需要搭建深度學習框架,如pytorch、TensorFlow、caffe、mxnet等。
  • 深度學習框架搭建之PyTorch
    深度學習框架搭建之PyTorchPyTorch 簡介PyTorch 是由 Facebook 推出,目前一款發展與流行勢頭非常強勁的深度學習框架。PyTorch 與 NumPy 非常相似,可以說是它的替代者,支持 GPU 加速運算,用來搭建和訓練深度神經網絡。如果學習過 NumPy 以及常見的深度學習概念(如卷積層,循環層等),非常容易上手PyTorch。目前主流的深度學習框架主要有 TensorFlow,PyTorch,mxnet,caffe和Keras 等。
  • Keras vs PyTorch vs Caffe:CNN實現對比
    這些深度學習框架提供了高級編程接口,幫助我們設計深度學習模型。使用深度學習框架,它通過提供內置的庫函數來減少開發人員的工作,從而使我們能夠更快更容易地構建模型。在本文中,我們將構建相同的深度學習框架,即在Keras、PyTorch和Caffe中對同一數據集進行卷積神經網絡圖像分類,並對所有這些方法的實現進行比較。
  • 解析:深度學習框架Caffe源碼
    雷鋒網按:本文作者薛雲峰,主要從事視頻圖像算法的研究,於浙江捷尚視覺科技股份有限公司擔任深度學習算法研究員。相信很多小夥伴和我一樣使用了很長時間的Caffe深度學習框架,也非常希望從代碼層次理解Caffe的實現從而實現新功能的定製。本文將從整體架構和底層實現的視角,對Caffe源碼進行解析。
  • 深度學習框架Caffe源碼解析
    深度學習大講堂,已授權發布相信社區中很多小夥伴和我一樣使用了很長時間的Caffe深度學習框架,也非常希望從代碼層次理解Caffe的實現從而實現新功能的定製。Caffe總體架構Caffe框架主要有五個組件,Blob,Solver,Net,Layer,Proto,其結構圖如下圖1所示。Solver負責深度網絡的訓練,每個Solver中包含一個訓練網絡對象和一個測試網絡對象。每個網絡則由若干個Layer構成。每個Layer的輸入和輸出Feature map表示為Input Blob和Output Blob。
  • Keras vs PyTorch:誰是第一深度學習框架?
    兩大框架的連結:  Keras:https://github.com/keras-team/keras (https://keras.io/)  PyTorch:https://github.com/pytorch/pytorch  你想學習深度學習嗎?
  • 資源 | 從TensorFlow到PyTorch:九大深度學習框架哪款最適合你?
    那麼如何決定哪個開源框架最適合你呢?本文試圖通過對比深度學習各大框架的優缺點,從而為各位讀者提供一個參考。你最看好哪個深度學習框架呢?現在的許多機器學習框架都可以在圖像識別、手寫識別、視頻識別、語音識別、目標識別和自然語言處理等許多領域大展身手,但卻並沒有一個完美的深度神經網絡能解決你的所有業務問題。所以,本文希望下面的圖表和講解能夠提供直觀方法,幫助讀者解決業務問題。
  • 從TensorFlow到PyTorch:九大深度學習框架哪款最適合你?
    那麼如何決定哪個開源框架最適合你呢?本文試圖通過對比深度學習各大框架的優缺點,從而為各位讀者提供一個參考。你最看好哪個深度學習框架呢?現在的許多機器學習框架都可以在圖像識別、手寫識別、視頻識別、語音識別、目標識別和自然語言處理等許多領域大展身手,但卻並沒有一個完美的深度神經網絡能解決你的所有業務問題。所以,本文希望下面的圖表和講解能夠提供直觀方法,幫助讀者解決業務問題。
  • 資源 | 如何利用VGG-16等模型在CPU上測評各深度學習框架
    作者提供了所有的測試代碼,讀者可以嘗試測評以完善該結果。項目地址:https://github.com/peisuke/DeepLearningSpeedComparison在本項目中,作者測評了流行深度學習框架在 CPU 上的運行相同模型所需要的時間,作者採取測試的模型為 VGG-16 和 MobileNet。
  • Torch7 開源 PyTorch:Python 優先深度學習框架
    據官網介紹,PyTorch 是一個 Python 優先的深度學習框架,能夠在強大的 GPU 加速基礎上實現張量和動態神經網絡。PyTorch 是一個 Python 軟體包,其提供了兩種高層面的功能:如有需要,你也可以復用你最喜歡的 Python 軟體包(如 numpy、scipy 和 Cython)來擴展 PyTorch。
  • 重磅| Torch7團隊開源PyTorch:Python優先的深度學習框架
    據官網介紹,PyTorch 是一個 Python 優先的深度學習框架,能夠在強大的 GPU 加速基礎上實現張量和動態神經網絡。PyTorch 介紹在粒度層面(granular level)上,PyTorch 庫包含了以下組件:使用 PyTorch 的原因通常有二:作為 numpy 的替代,以便使用強大的 GPU;將其作為一個能提供最大的靈活性和速度的深度學習研究平臺。
  • 賈揚清:希望Caffe成為深度學習領域的Hadoop
    在Caffe之前,深度學習領域缺少一個完全公開所有的代碼、算法和各種細節的框架,導致很多的研究人員和博士生(例如我)需要一次又一次重複實現相同的算法,這不好。我覺得作為一個科研人員,還是需要有開放的胸懷來幫助整個社區的發展,所謂不忘初心,方得始終。反正咖啡還是買得起的,夫復何求呢。
  • 在Linux系統中安裝深度學習框架Pytorch
    設為星標才不會錯過哦     你好呀 我是然怡這篇推文是兩個月前復現深度學習論文時做的筆記一系列的筆記做了好幾篇看著閱讀量很低就沒有再發公眾號很久沒有推文了前幾天對公眾號進行了小改「然怡乾貨鋪」改為「水文sw」頭像也是換了的
  • 16個GitHub值得收藏的深度學習框架
    16個GitHub值得收藏的深度學習框架 工程師3 發表於 2018-05-10 12:13:00 深度學習是一種基於對數據進行表證學習的機器學習方法,近些年不斷發展並廣受歡迎
  • TensorFlow與PyTorch之爭,哪個框架最適合深度學習
    那麼究竟哪種框架最適宜自己手邊的深度學習項目呢?本文作者從這兩種框架各自的功能效果、優缺點以及安裝、版本更新等諸多方面給出了自己的建議。如果你在讀這篇文章,那麼你可能已經開始了自己的深度學習之旅。如果你對這一領域還不是很熟悉,那麼簡單來說,深度學習使用了「人工神經網絡」,這是一種類似大腦的特殊架構,這個領域的發展目標是開發出能解決真實世界問題的類人計算機。
  • PYTORCH與TENSORFLOW:哪種框架最適合您的深度學習項目?
    為了幫助開發這些架構,諸如Google,Facebook和Uber之類的技術巨頭已經發布了適用於Python深度學習環境的各種框架,從而使學習,構建和訓練多樣化的神經網絡變得更加容易。在本文中,我們將研究兩個流行的框架並進行比較:PyTorch與TensorFlow。簡要地比較一下,最常用和依賴的Python框架TensorFlow和PyTorch。
  • 基於OpenGL ES的深度學習框架編寫
    背景項目組基於深度學習實現了視頻風格化和人像摳圖的功能,但這是在PC/服務端上跑的,現在需要移植到移動端,因此需要一個移動端的深度學習的計算框架
  • 寫給純小白的深度學習環境搭建寶典:pytorch+tensorflow
    每天給小編五分鐘,小編用自己的代碼,讓你輕鬆學習人工智慧。本文將手把手帶你快速搭建你自己的深度學習環境,然後實現自己的第一個深度學習程序。野蠻智能,小白也能看懂的人工智慧。第一步:本文採用流行度最高的搭建方法:Anaconda3 + pytorch。首先去清華鏡像站(百度搜索關鍵字:清華鏡像)進入網站後找到anaconda,然後點擊,進去後下載Anaconda3-4.2.0,對應的python版本是3.5.2。下載好之後的安裝就是一路默認Next就可以。
  • TensorFlow和Caffe、MXNet、Keras等其他深度學習框架的對比
    Caffe官方網址:http://caffe.berkeleyvision.org/GitHub:http://github.com/BVLC/caffeCaffe 全稱為 Convolutional Architecture for Fast Feature Embedding,是一個被廣泛使用的開源深度學習框架