Caffe2發(fā)布后,外界最多的討論之一,就是發(fā)出上述疑問。去年12月,賈揚(yáng)清曾經(jīng)解釋過一次:“目前Caffe2還不能完全替代Caffe,還缺不少東西,例如CuDNN。與Caffe2相比,Caffe仍然是主要的穩(wěn)定版本,在生產(chǎn)環(huán)境中使用仍然推薦Caffe”。
現(xiàn)在Caffe2正式發(fā)布,這個(gè)推薦肯定要改成新版本了。
Caffe2的基本計(jì)算單位是Operator。對于適當(dāng)數(shù)量和類型的輸入?yún)?shù),每個(gè)Operator都包括所需的計(jì)算邏輯。Caffe和Caffe2的總體差異如下圖所示:

官方提供了從Caffe遷移到Caffe2的教程,據(jù)說這個(gè)遷移非常簡單。
Caffe2和PyTorch有何不同?
這是另外一個(gè)疑問。
Caffe2長于移動(dòng)和大規(guī)模部署。雖然Caffe2新增了支持多GPU的功能,這讓新框架與Torch具有了相同的GPU支持能力,但是如前所述,Caffe2支持一臺機(jī)器上的多個(gè)GPU或具有一個(gè)及多個(gè)GPU的多臺機(jī)器來進(jìn)行分布式訓(xùn)練。
PyTorch適合進(jìn)行研究、實(shí)驗(yàn)和嘗試不同的神經(jīng)網(wǎng)絡(luò);而Caffe2更偏向于工業(yè)應(yīng)用,而且重點(diǎn)關(guān)注在移動(dòng)端上的表現(xiàn)。
賈揚(yáng)清現(xiàn)身說法
Caffe2發(fā)布后,作者賈揚(yáng)清在reddit上連發(fā)四記解答。“Yangqing here”,賈揚(yáng)清一上來就表明了身份。

有人問搞出Caffe2意義何在?現(xiàn)在已經(jīng)有PyTorch、TensorFlow、MXNet等諸多框架。
賈揚(yáng)清說Caffe2和PyTorch團(tuán)隊(duì)緊密合作。他們把Caffe2視作一種生產(chǎn)力的選擇,而把Torch視作研究型的選擇。而在構(gòu)建AI模塊時(shí),他們也持有一種“非框架”的理念,例如Gloo、NNPACK和FAISS等可以被用于任何深度學(xué)習(xí)框架。
有人問Caffe2接受外部貢獻(xiàn)么?
賈揚(yáng)清說大愛外部貢獻(xiàn),也會在開源方面繼續(xù)努力。
有人問Caffe2是否用了Torch的代碼庫,以及CUDA等相關(guān)支持的問題。
賈揚(yáng)清說他們正在計(jì)劃讓Caffe2和Torch和PyTorch共享后端,這幾個(gè)框架已經(jīng)共享Gloo用于分布式訓(xùn)練,THCTensor、THNN和其他C/C++庫也將會共享。
在GPU層面,Caffe2使用了CUDA和CUDNN。賈揚(yáng)清和團(tuán)隊(duì)也試驗(yàn)了OpenCL,但是感覺用NVIDIA的GPU CUDA效果更好。
另外在其他平臺(例如iOS上),Caffe2使用了特定的工具,例如Metal。一兩天內(nèi),官方會發(fā)布Metal的實(shí)施。
有人問Caffe2支持動(dòng)態(tài)圖么?
賈揚(yáng)清給出否定的回答,他表示這是Caffe2和PyTorch團(tuán)隊(duì)有意做出的選擇。Caffe2的任務(wù)就是提供最佳的性能,而如果想要極端靈活的計(jì)算,請選擇PyTorch。賈揚(yáng)清認(rèn)為這是一個(gè)更好的方式,因?yàn)?#8220;一個(gè)框架通吃”可能會影響性能。
所以,目前Caffe2只支持非常有限的動(dòng)態(tài)控制,例如動(dòng)態(tài)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