沒有GPU可以做深度學習嗎?
還沒有入門,想學習!
對初學者來說CPU足以。以下幾點:
1) 先把CPU利用好: 其實對於很多初學者來說能把OpenMPI配置好,多線程利用起來,C底層程序用Intel MKL編譯(需要Intel CPU),基本上可以帶來的效率提升可以近似於用GPU。
2) 然後利用好你自己的時間: 貌似現在道聽途說一般的結論是GPU比CPU提速10倍左右。。。大家想想,訓練一個模型,本來要CPU跑10個小時,結果買了GPU只用1一個小時,但是節約來的9個小時裡面一半浪費在了看知乎上(說你呢!),另一半浪費在了刷微信上。。。 本屌最近跑些NLP方面的東西,東西不是特別大,Ubuntu筆記本裝了OpenMPI可以四個線程一起跑,也比單核CPU快一倍左右,基本上白天先把模型設置好,跑上3~4個Epoch看看效果,然後在晚上睡覺之前開始跑個20-30個循環,第二天早上怎麼也都好了。
3) 最後設計好數據結構: 另外其實數據預處理的好,用簡便的方法存在內存裡面,也是可以提升不少效率的。以前跑過幾個東西發現特別慢,仔細一想是IO方面拖慢了進程,簡化了一下數據結構,整個數據集只有一次硬碟讀寫,一下就快了很多。當然可能有人說這個對圖像處理不適用啦,當然如果要做非同步讀寫的話水就很深了,分散式計算自身就可以灌水了,比如SVN Vishi的NOMAD,http://arxiv.org/abs/1312.0193,其思想用到深度學習也只是時間問題。
這裡一些資源:- Ubuntu 安裝BLAS以利用多個線程Easy Installation of an Optimized Theano on Current Ubuntu
- Intel MKL: Theano on Scinet update: linking MKL blas
可以的,但是跑程序的時間要慢10到20倍的樣子,別人1小時,你要花10小時,這對於學習來說,其實是很大的局限,所以最好還是買個GPU,萬元以下的N卡,如GTX 980(4000左右),Titan(8000左右)之類的足夠用了。
不用gpu的deep learning大多都是耍流氓
上面這些回答的沒有一個說的,有種東西叫做GPU雲服務。你讓一個學生買泰坦,你咋不教人家搶劫啊。
功能能實現的,主要是效率問題了,我用GPU是CPU的大概30倍的速度
5年前,甚至3年前還可以,現在不行,絕對不行,沒錯,就是絕對。
推薦閱讀:
※如何看待Google的AutoML 已經學會自己編寫機器學習代碼?
※北京深鑒科技基於FPGA平台的DPU架構如何?
※如果兩個Alphago對下,可以根據結果測試出黑棋貼多少目才最公平嗎?
※向量 L1 範數最小化問題?
※語音識別領域的最新進展目前是什麼樣的水準?
TAG:深度學習DeepLearning |