How to keep jupyter notebook training on GCP without opening computer all the time

(關於tmux的介紹網路上有相當多的資源故不贅述,直接開始本編主題)
在google cloud platform上利用jupyter notebook訓練模型時,總必須保持本地端電腦開啟且ssh連線不能中斷,利用tmux則能在本地端電腦關閉的情況下讓您繼續在GCP上跑訓練,方法如下(本篇GCP上的作業系統為ubuntu 16.04):

Step1. 連上GCP,安裝 tmux,官網文件在此,可知安裝指令:
conda install -c conda-forge tmux


Step2. 安裝完成後直接鍵入tmux產生一個session:
創建後來到下面有條綠線的視窗,此時即可直接切換至您的conda環境,並啟動 jupyter notebook(綠線第一個數字表示目前屬於第幾個session(或說index)、第二個數字表示目前屬於該session中的第幾個window):
接著流程便與一般使用jupyter notebook一樣,可以在上面修改程式碼、跑訓練等等,但至此,您已可以直接關閉ssh連線,或直接關閉本地端電腦,而jupyter notebook上的訓練不會中斷:


這是因為tmux server仍持續運作的原因(此時直接連上GCP,鍵入tmux ls,也可以發現用於訓練的session仍存在)。

補充說明:
承上文,再次開啟ssh連線,若欲連回剛才的session則可以使用 tmux attach指令(下面介紹)。此時也可以再tmux一次,產生新的session做其他事情:



欲退出目前這個session(即detached)可以先按ctrl+b,放開後再按d即可,退出後會顯示[detached (from session ...)];若要重新連回第0個session則鍵入如下(連回第1個session則下述0改為1):
tmux attach -t 0

若要直接刪除第0個session則鍵入(刪除第1個session則下述指令0改為1):
tmux kill-session -t 0







留言

這個網誌中的熱門文章

[Android] TextView 換行

[Android]android Global variable 寫法

[Android] build the JAR file in Android Studio