Caffe2發布后,外界最多的討論之一,就是發出上述疑問。去年12月,賈揚清曾經解釋過一次:“目前Caffe2還不能完全替代Caffe,還缺不少東西,例如CuDNN。與Caffe2相比,Caffe仍然是主要的穩定版本,在生產環境中使用仍然推薦Caffe”。

現在Caffe2正式發布,這個推薦肯定要改成新版本了。

Caffe2的基本計算單位是Operator。對于適當數量和類型的輸入參數,每個Operator都包括所需的計算邏輯。Caffe和Caffe2的總體差異如下圖所示:

官方提供了從Caffe遷移到Caffe2的教程,據說這個遷移非常簡單。

Caffe2和PyTorch有何不同?

這是另外一個疑問。

Caffe2長于移動和大規模部署。雖然Caffe2新增了支持多GPU的功能,這讓新框架與Torch具有了相同的GPU支持能力,但是如前所述,Caffe2支持一臺機器上的多個GPU或具有一個及多個GPU的多臺機器來進行分布式訓練。

PyTorch適合進行研究、實驗和嘗試不同的神經網絡;而Caffe2更偏向于工業應用,而且重點關注在移動端上的表現。

賈揚清現身說法

Caffe2發布后,作者賈揚清在reddit上連發四記解答。“Yangqing here”,賈揚清一上來就表明了身份。

  

有人問搞出Caffe2意義何在?現在已經有PyTorch、TensorFlow、MXNet等諸多框架。

賈揚清說Caffe2和PyTorch團隊緊密合作。他們把Caffe2視作一種生產力的選擇,而把Torch視作研究型的選擇。而在構建AI模塊時,他們也持有一種“非框架”的理念,例如Gloo、NNPACK和FAISS等可以被用于任何深度學習框架。

有人問Caffe2接受外部貢獻么?

賈揚清說大愛外部貢獻,也會在開源方面繼續努力。

有人問Caffe2是否用了Torch的代碼庫,以及CUDA等相關支持的問題。

賈揚清說他們正在計劃讓Caffe2和Torch和PyTorch共享后端,這幾個框架已經共享Gloo用于分布式訓練,THCTensor、THNN和其他C/C++庫也將會共享。

在GPU層面,Caffe2使用了CUDA和CUDNN。賈揚清和團隊也試驗了OpenCL,但是感覺用NVIDIA的GPU CUDA效果更好。

另外在其他平臺(例如iOS上),Caffe2使用了特定的工具,例如Metal。一兩天內,官方會發布Metal的實施。

有人問Caffe2支持動態圖么?

賈揚清給出否定的回答,他表示這是Caffe2和PyTorch團隊有意做出的選擇。Caffe2的任務就是提供最佳的性能,而如果想要極端靈活的計算,請選擇PyTorch。賈揚清認為這是一個更好的方式,因為“一個框架通吃”可能會影響性能。

所以,目前Caffe2只支持非常有限的動態控制,例如動態RNN。

最后,量子位放出傳送門:

Caffe2的首頁:http://caffe2.ai/

GitGub地址:https://github.com/caffe2/caffe2


Reference:

https://blog.csdn.net/zchang81/article/details/70316864?utm_source=itdadao&utm_medium=referral
閱讀記錄: read twice