※如果DL的全貌是馬里安納海溝,
※那我大概正在游泳池游泳。
我用的是python3+tensorflow+keras,
先寫個簡單的建置歷程 證明不是鍵盤大師。
如果你是個只會用windows的人,
(修改一下)注意底下:
Windows用python3.6,
tensorflow安裝會有問題,
我移掉3.6再裝3.5.2還是會掛,
要重灌windows再裝3.5.2才正常import。
※(如果你是個不用花一個禮拜以上時間,
※就可以獨自在windows上跑gpu加速的人,
※那我想拜你為師)
如果你會用Vim寫程式,
那這篇請當作笑話略過。
如果你不知道指令cd,ls在幹嘛?
那請先了解Linux的檔案架構跟windows的差異。
如果不會用nano寫個python的開圖程式,
那請先看看vim怎麼操作,然後你會對nano很有親切感。
還有把tensorflow裝好後用matplotlib秀張圖出來。
如果不知道該怎麼開始DL的學習,
那請在github上找個簡單的CNN模型下來跑跑看,先看看別人是怎麼做的。
上面寫了我目前建置過程中的大部分keywords,事後有想到再補充。
~~~
有人說deep learning用cpu跑是開玩笑,
就我個人一個多月以來學習經驗,
這一半是開玩笑沒錯,但另一半不是。
直接講用cpu跟gpu的比較好了,
GPU優點:
快,就是快,2,3小時的train幾十分鐘就完成。
只用CPU優點:
簡單,建置快速。
初學者我強烈建議先在VM中安裝Ubuntu,
裝在VM中就不能用GPU加速了,
可初學者就不要妄想用什麼GPU了。
CPU都沒搞定還想用GPU?
※如果你真的很想用GPU加速某個model,那這篇也不是你需要看的。
用VM的好處:
裝完環境之後你可以直接匯出虛擬機當作備份,
避免新手的強力技能:[把環境崩潰掉]後,
要重新安裝系統的麻煩事。
而且可以安裝一次,創建好幾台虛擬機,
而不用準備一堆實體電腦,
去測試各種環境變數,套件的相容性,跟一堆雜七雜八的問題。
高手會用virtualenv創建不同的虛擬環境,
避免不小心搞掛系統這件事。
不過,連virtualBox都不會用的話,
我是不覺得會用virtualenv。
~~~
安裝tensrflow-cpu
就把官網的指令複製貼上,大概4個步驟,含下載15分鐘完成。
安裝tensorflow-gpu
需要CUDA® Toolkit 8.0
需要cuDNN v5.1.
以上兩個就是安裝gpu版最累人的地方,第一次我至少花了兩天時間,
NVIDIA的安裝說明我一直沒有去看懂,
試著在k600上安裝時,被煩倒在設定環境變數的部份,就不想搞了。
安裝完上面兩個後,就跟安裝cpu版是幾乎一樣的指令了。
~~~
就目前為止,用gpu的好處,
我只想到加快train,跟使用的速度,
DL的學習重點跟順序,
著重於: linux操作 〉python 〉
tensorflow跟keras 〉深度學習理論,
而且深度學習的理論非常非常非常重要!!!
除此之外,
我是不覺得gpu加速能幫助多少一個人學習DL的速度加快。
要學DL就該學DL的理論,
DL的理論不只要人聰明,還要大量時間,
寫好model後,就丟給底下的人去測試,
學DL不要把時間花在建環境上。
學DL不要把時間花在建環境上。
學DL不要把時間花在建環境上。
除非你像我一樣這麼苦命,
整個系上沒人會python,懂linux操作。
(修改)純CPU不適合:
用DL工作的人,
有人處理演算法,自己只負責測試的人,
用CPU處理的時間超過可接受的時間的人
(我的話,train的上限大概是10~14天,因為要做報告)
~~~
我推薦的DL學習最低建議:
I3,I5
(I7有點~不是那麼必要。)
32GB以上記憶體
(我目前試過約8個model,有兩個會用超過14GB記憶體,因為是在虛擬機內所以是14G不是16G
SSD
(這個看個人,因為我的數據經常要自己挑出來需要的,1萬多張300KB圖片用arc100都要好幾分鐘才能讀完縮圖)
顯卡:看看口袋多深買多貴,我只有朋友送的兩張K600。
~~~
對了,用CPU還有個好處,
可以跟Boss說東西還在跑,
進度報告先跳過我。
(deadline快到的人不適用)
~~~(新增:有錯請指教)
在windows上裝anaconda
建置GPU加速環境應該是最簡便的,
但我還沒試。
新手在Ubuntu 搞NV-GPU加速是在自虐,
不過有不少Library在windows上會很難搞。