用google cloud platform 開jupyter notebook!
Jan 29, 2018Learninggcp
參照這篇,做個紀錄以免我以後又忘了(真的很金魚腦 該怎麼辦
創建google cloud platform 帳號
直接用自己的google帳號就可以惹,一年有300美試用額度,對一般人而言真的是綽綽有餘了
建立vm instance :
compute> compute engine
安裝google cloud sdk:
可以使用本地terminal利用SSH連線登入google cloud platform的server,不一定要使用,也可以直接網頁上點一下SSH開啟console
不過用gcloud指令的話傳檔案比較快XD
解壓縮之後,執行install.sh
我自己就莫名其妙一直有奇怪的錯誤訊息(不過好像還是有安裝成功…吧),接著要認證帳戶
輸入gcloud auth login
,瀏覽器會自動跳出google帳號的頁面讓你點選登入的帳號
接下來就可以使用gcloud了
到google cloud platform的vm那邊,點選SSH連線旁邊小三角形後再選查看gcloud指令
會出現類似gcloud compute --project "<project-id>" ssh --zone "<your-zone>" "<instance-name>"
的指令,在terminal輸入後就可以用SSH連線到google cloud platform
安裝anaconda3
wget http://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh
bash Anaconda3-4.0.0-Linux-x86_64.sh
source ~/.bashrc
設定網路
Network > VPC network
External IP address :先將網路改成static
Firewall rule: 建立一個新的rule允許port tcp:5000
(or 任何一個想要指定開啟notebook 的port)
設定jupyter notebok
jupyter notebook --generate-config
建立config檔(若沒有的話)
在configurable configuration 輸入
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = <上一步允許的Port > (ex. 5000)
打開Jupiter notebook 囉!
jupyter-notebook --no-browser --port=<PORT-NUMBER>
只要輸入一次,之後就跟一般一樣輸入jupyter notebook
就好了!
傳檔案
傳檔案進去google could platform的server
gcloud compute scp [LOCAL_FILE_PATH] [INSTANCE_NAME]:~#
# example: bin/gcloud compute scp "/Users/Hung/cosine_sim_ver2.py" "my02":~/
從server傳檔案出來
gcloud compute scp [INSTANCE_NAME]:[REMOTE_FILE_PATH] [LOCAL_FILE_PATH]
.
.
ps. 題外話,要如何在terminal中讓python script print出有顏色的訊息呢
from termcolor import colored
print(colored('hello', 'red'))