出於對性能和多GPU訓練CNN的考慮,這段時間一直在研究cuda-convnet2。
搜了下,網上居然一篇像樣的研究cuda-convnet2 代碼的文章都找不到,看來假期有的忙了。
Caffe作者賈揚清也在一些場合表達了對Convnet2作者Alex的仰慕之情,可見兩個CNN實現的差距。
Caffe比較符合大衆的口味,而convnet2符合GPU發燒友的追求。
convnet2代碼風格不如Caffe那樣有條理。
Caffe本質是單線程的,或者是CPU思維方式。convnet2是多線程的,屬於GPU思維方式。
Caffe過度依賴庫函數(glob, gflags, leveldb, lmdb, mkl/blas……),而convnet2幾乎全都自己搞定。
Caffe參數設置更自由,而convnet2出於性能考慮,參數設置約束較多。
Caffe接近軟件,而convnet2接近硬件。
Caffe適合懶人,convnet2適合極客。
-------------------------2016-4-4更新-----------------------------------
與Alex Krizhesky、賈揚清簡單聊過了。
convnet2 作者已經明確表示不再維護,繼續用的話,需要使用者深厚的CUDA編程技能,才能跟上深度學習日新月異的進展。
賈揚清將Caffe交給了社區維護,自己在重構Caffe2。