Re: [問題] deep learning lenet 訓練

作者: yoco315 (眠月)   2016-01-16 06:25:21
另外,deep learning research 用 caffe 不錯阿
即使是 research,training 的速度還是很重要的,應該說非常重要
不然 google 幹麻花這麼多夫下去作平行化?
這邊要澄清一件事,作 deep learning 你的資料量一定要大
資料量不大的話,你用 deep learning 其實意義不大
傳統的 svm/boosting/random-forrest 參數對了不見得比較差
你要真的做出一些顯著差異,資料量一定要大,但資料量一大,速度就很重要
caffe 如果真要說有什麼缺點,不是他為了快犧牲可用性,而是他還不夠快
他以前只能單機器單張 GPU,後來可以單機器多 GPU,但現在還是無法多機器
如果能用日前剛 open source 的 TensorFlow 的話,完全推薦你用 TensorFlow
原因如下:
一、效能
如果你有多機器
雖然目前 open 出來的 TensorFlow 只有單機版本,但跨機器的版本很快會釋出
TensorFlow 會自動根據 model 跟 training data 進行跨機器平行化
如果你有一台以上的機器,在 training time 上面,TensorFlow 這會是你的首選
如果你只有單機器
如果你只有一台機器,你可能會看到有些 benchmark
說 TensorFlow 比其他 library 慢,沒錯,這是真的,不過這是有原因的
因為當初 google 開發 TensorFlow 的時候,用的是自己的 compiler
他們沒想到外面大家用的 compiler 竟然沒作某些最佳化 = =||
跟他們家裡面的比起來竟然差這麼多,他們也很訝異
他們正在想辦法改善這點,預計應該是會跟 caffe 差不了太遠
二、簡單好寫
TensorFlow 的 model 比 caffe 用的 protobuf 好寫很多
而且你設計新的 layer 不用自己推導 back-propagation 的方程式微分
他會自動幫你推導,省事很多
三、可移植性
未來 Google 的 Machine Learning As A Service 極有可能可以直接吃 TensorFlow
你的 model 都不用改,丟上雲端就可以直接享受多機器平行 train 了
但如果你用的是 caffe,你可能還得寫程式把那個 protobuf 轉成 TensorFlow
大概降。
不過如果你還是堅持想用 caffe,還是可以問。
會的我就盡量回答 @@ 我不會的我會去找人幫看 XD
話說台灣現在有哪些單位在作 deep learning 阿?
大家能不能簽到一下阿 QQ?
作者: EdisonX (卡卡獸)   2016-01-16 10:40:00
推推 好專業
作者: s501082001 (曹草逼)   2016-01-16 14:09:00
謝謝您詳細的說明,因為deep learning現在摸的時間還不是很長,說真的現在連優化的部分都還沒想到目前是只想到把環境與功能還有原理先摸熟並且我目前是在windows上執行,因為之後跟C#的程式整合使用其實我是碩二學生,程式的部分是碩一把觀念與架構建立起來,現在也不敢說懂了很多,還望您不吝指教
作者: bdvstg (bdvstg)   2016-01-16 17:31:00
大推~ 謝謝您
作者: bowin (盡其在我)   2016-01-16 20:43:00
推 yoco 的分析!
作者: damody (天亮damody)   2016-01-16 22:53:00
作者: kkc (卡西)   2016-01-17 21:16:00
推一個,我們家有在弄,上次很開心可以看到 yoco 大<(_ _)>
作者: storm654321 (P助)   2016-01-20 13:02:00
推專業

Links booklink

Contact Us: admin [ a t ] ucptt.com