GCP入門
看著台大李宏毅老師的教學影片,也動手寫了一些作業。寫到電影推薦系統的時候,電腦跑的速度太慢了,還不時發出伊伊歪歪的聲音喊說熱啊熱啊,只好把計算外包給谷歌大神了。
帳戶部分就不說了,相信谷歌大神會告訴你。就說開立帳戶之後,建了一個VM登入之後,大家都怎麼做。最後我會附上我參考了幾個人的經驗分享,把這些拼湊起來終於把我的程式碼丟上GCP並且跑起來了。
跑去NVIDIA網站找連結下載 CUDA,選擇 deb檔案下載。執行檔我也跑過,不過發生了不明原因的錯誤,後來沒有跑起來,但也可能是其他原因。總之最後我用以下方法解決。
curl -O https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.0.176-1_amd64.debsudo dpkg -i cuda-repo-ubuntu1604_9.0.176-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda-9-0# 優化GPU運行
# 所有皆適用
sudo nvidia-smi -pm 1# 僅適用 Nvidia Tesla K80s
sudo nvidia-smi -ac 2505,875
sudo nvidia-smi --auto-boost-default=DISABLED
最後檢查一下是否安裝成功。
nvidia-smi
成功之後繼續安裝 cudnn,一樣也是上官方網站找,注意要跟CUDA匹配。先下載到自己電腦,再用googlew提供的指令上傳。
# 上傳檔案
gcloud compute scp <local dir>/<file> <instance name>:~/# 處理上傳檔案
sudo dpkg -i libcudnn7_7.1.4.18-1+cuda9.0_amd64.deb
裝完之後要設定一下PATH,這樣下次登入的時候,才不會恢復到預設的設定。直接用CUDA執行檔安裝時,似乎沒找到和下列相符的路徑,所以我在開頭才特別說要用 deb檔安裝。
echo 'export CUDA_HOME=/usr/local/cuda' >> ~/.bashrc
echo 'export PATH=$PATH:$CUDA_HOME/bin' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH' >> ~/.bashrcsource ~/.bashrc
現在可以安裝 tensorflow了。
之前沒用pip3安裝,會遇到一些問題,基本上是因為沒辦法改系統設定值造成的。用 virtualenv跑可以避開,但用這個套路安裝,我的問題還是沒解決,因此決定用python3來跑。
sudo apt-get install python3-dev python3-pip libcupti-dev
sudo pip3 install tensorflow-gpu
到這裡就已經安裝好 tensorflow了,我還會加裝 Keras與Anaconda。
sudo pip3 install keras
curl -O https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.shsha256sum Anaconda3-5.2.0-Linux-x86_64.sh
sudo bash Anaconda3-5.2.0-Linux-x86_64.sh
source ~/.bashrc
conda list
要注意的是 Anaconda 加入到 bashrc 之後,如果把anaconda加到bashrc裡,python3 預設會是 3.6,我用的方法是
alias python3='/usr/bin/python3.5'
將 python3的執行檔設定成系統預設值。這樣再補一下 pandas,大致上就可以跑了。雖然不算是很漂亮的方法,但可以解決問題就先這樣。
特別提醒一下,當沒有使用VM時,記得要把VM停止。我個人會更極端一點,如果有一陣子不使用的話,記得把它刪除。不然只是借機器也會算錢。像我目前還沒用到GPU做運算,但他已經收了這些錢了,一天下來要$3美元,其實也不便宜。很快的免費的$300就會噴光光了。
最後列上參考的網誌跟網頁。