【杂谈】为什么Pytorch这么好用我还苦口婆心推荐初学者也学习一下caffe?
目前新手開(kāi)始學(xué)習(xí)深度學(xué)習(xí)框架的時(shí)候大多是從Pytorch開(kāi)始的,Pytorch是個(gè)好東西,筆者也很喜歡用。但是粉絲們也知道我們公眾號(hào)講了許多Caffe的內(nèi)容,包括我們的季劃中的一些簡(jiǎn)單任務(wù)也會(huì)包含caffe實(shí)現(xiàn),那為什么一個(gè)已經(jīng)不維護(hù)了的框架,我們還要支持甚至鼓勵(lì)學(xué)習(xí)呢?
Caffe是穩(wěn)定而優(yōu)秀的
深度學(xué)習(xí)開(kāi)源框架眾多,Caffe的基礎(chǔ)代碼都是C++,Caffe在做計(jì)算機(jī)視覺(jué)任務(wù)中的圖像分類,分割,檢測(cè)等任務(wù)時(shí),有非常成熟的網(wǎng)絡(luò)層,也很容易拓展。使用流程簡(jiǎn)單,可視化清晰。
最早一批入行深度學(xué)習(xí)的同學(xué)應(yīng)該都用過(guò)Caffe,自己寫(xiě)過(guò)網(wǎng)絡(luò)層,甚至推導(dǎo)過(guò)反向傳播的公式,各家公司在很長(zhǎng)一段時(shí)間內(nèi)都是將Caffe的核心代碼移植到手機(jī)上,并且至今仍然被大量使用,你去面試,保不準(zhǔn)就會(huì)被問(wèn)到。
C++,CUDA繞不過(guò)
Pytorch等框架好用,主要在于API豐富,框架使用流程和Python語(yǔ)法靈活,非常適合做模型訓(xùn)練,寫(xiě)論文做科研。但是真正在工作崗位做算法工作并不會(huì)停留在訓(xùn)練模型,還需要在移動(dòng)端做部署,寫(xiě)SDK,自定義算子,這些都需要優(yōu)秀的C++編程能力,甚至是CUDA編程能力。
筆者當(dāng)年讀書(shū)的時(shí)候做項(xiàng)目都是Matlab和C++,畢業(yè)的時(shí)候筆試面試全是C++,如今難道會(huì)不考察了?
事實(shí)上很多同學(xué)根本不具備合格的編程能力,甚至C++沒(méi)接觸過(guò)或者僅限于基礎(chǔ)語(yǔ)法。那么,在看完書(shū)籍之后如何去進(jìn)行實(shí)踐呢?如何去掌握優(yōu)秀的C++編碼能力?寫(xiě)幾道編程題就夠了嗎?
不夠,首先要從閱讀優(yōu)秀的源代碼開(kāi)始,然后在業(yè)務(wù)中鍛煉??v觀這么多的開(kāi)源項(xiàng)目,在深度學(xué)習(xí)領(lǐng)域里,Caffe無(wú)疑是非常優(yōu)秀的,最適合拿來(lái)學(xué)習(xí)C++,可以從以下幾個(gè)方向來(lái)做。
(1) 閱讀學(xué)習(xí)Caffe的源代碼和設(shè)計(jì)模式。
Caffe的所有源代碼都是C++/CUDA寫(xiě)的,使用工廠設(shè)計(jì)模式,代碼結(jié)構(gòu)清晰,可讀性和拓展性強(qiáng),效率高。
(2) 自己添加新的網(wǎng)絡(luò)層,包括數(shù)據(jù)層,損失層等。
把C++類的設(shè)計(jì),各種數(shù)據(jù)結(jié)構(gòu)和標(biāo)準(zhǔn)庫(kù)熟悉并且用起來(lái),把CUDA代碼也寫(xiě)一寫(xiě),這些都是以后去公司從事模型部署和優(yōu)化框架工作所必須準(zhǔn)備好的技能。
(3) 學(xué)會(huì)用Caffe部署和分析模型。
學(xué)會(huì)用Caffe去分析每一個(gè)網(wǎng)絡(luò)層的計(jì)算量和計(jì)算時(shí)間,找到性能瓶頸。學(xué)會(huì)用它把模型進(jìn)行封裝和加密,在嵌入式平臺(tái)中使用。
當(dāng)然了,Pytorch和Tensorflow等一樣有C++的內(nèi)容,筆者只是想說(shuō),從Caffe開(kāi)始,可能更好。
程序員應(yīng)該學(xué)會(huì)定制
優(yōu)秀的程序員往往都有自己的風(fēng)格,喜歡定制,從編輯器風(fēng)格到開(kāi)源項(xiàng)目。
一個(gè)Linux新手,往往還遺留著使用windows時(shí)傻瓜式安裝軟件的思維,害怕自己編譯開(kāi)源項(xiàng)目,害怕寫(xiě)Makefile等文件,這也是很多人止步Caffe等框架的原因。
一個(gè)開(kāi)源項(xiàng)目都編譯不過(guò),以后如何進(jìn)步,要編譯和維護(hù)的項(xiàng)目多了去了,早做打算,以后可少受點(diǎn)苦。
轉(zhuǎn)載文章請(qǐng)后臺(tái)聯(lián)系
侵權(quán)必究
往期精選
【雜談】備戰(zhàn)3月春招!深入掌握模型優(yōu)化,人臉?biāo)惴?#xff0c;圖像質(zhì)量等24個(gè)核心領(lǐng)域!
【總結(jié)】循序漸進(jìn),有三AI不得不看的技術(shù)綜述(超過(guò)100篇核心干貨)
【雜談】計(jì)算機(jī)視覺(jué)在人臉圖像領(lǐng)域的十幾個(gè)大的應(yīng)用方向,你懂了幾分?
【雜談】那些底層的圖像處理問(wèn)題中,GAN能有什么作為?
【雜談】2020年有三AI計(jì)算機(jī)視覺(jué)培養(yǎng)計(jì)劃詳解,該不該學(xué)&怎么學(xué)CV的簡(jiǎn)單討論
總結(jié)
以上是生活随笔為你收集整理的【杂谈】为什么Pytorch这么好用我还苦口婆心推荐初学者也学习一下caffe?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【文本信息抽取与结构化】深入了解关系抽取
- 下一篇: 【杂谈】裸辞一年后,分享一下我的心态