天天看點

遠端(remote)使用jupyter-notebook

       最近在工作中需要用到遠端的伺服器來做多GPU并行的學習與測試,想采用jupyter來編輯文檔和代碼。由VScode的遠端開發功能,我突然想jupyter是不是也支援這個功能。搜了一下,果然是有的。折騰了一番,把過程記錄下來,希望幫到大家(參考網頁:https://hsaghir.github.io/data_science/jupyter-notebook-on-a-remote-machine-linux/):

1. 給遠端伺服器配置ssh免密通路

    由于這是正常操作,我不重複啰嗦了,給一個參考連結:https://blog.csdn.net/cynthrial/article/details/82319498。

假定我們給遠端伺服器的别名為 GPU_remote,下面會引用這個名稱。

2. 在遠端主機上運作(前提是在遠端伺服器上安裝好jupyter哈):

jupyter notebook --no-browser --port=8889
           

這行指令的意思是,在遠端主機端口8889上打開jupyter notebook服務,而不打開浏覽器,因為我們需要在本地的機器上連接配接到遠端伺服器。

3. 在本地機器上運作下面的指令做端口轉發(前提是裝好ssh哈):

ssh -N -L localhost:8888:localhost:8889 GPU_remote
           

這行指令的意思是,将遠端伺服器的8889端口轉發到本地機器8888端口,也就将遠端伺服器的jupyter服務映射到了本地機器上了。

4. 然後打開本地浏覽器,在網址欄輸入:

localhost:8888
           

浏覽器跳出這個界面:

遠端(remote)使用jupyter-notebook

這裡需要驗證,我們可以回到遠端伺服器上,運作指令:

jupyter notebook list
           

在輸出中,找到token字段,将後面的一串字元複制粘貼到上述頁面上,然後login,就可以直接打開遠端jupyter了。