天天看点

远程(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了。