0、需求来源
- 在进行深度学习时,本机性能不足需要使用服务器来运行代码,服务器端一般都不会有图形界面,因此如何在本地使用远程服务器上的Python解释器便是实际需求。
1、使用VS Code连接远程服务器
- 参考知乎这篇文章:使用vscode进行远程炼丹
- VS Code目前仍存在一些问题,比如:中文某些情况下会乱码、多线程代码调试支持不够好、某些情况下文件保存会出现问题、使用Jupyter Notebook时会有网络连接断开的可能……
2、SSH端口转发,使用本地浏览器编辑远程Jupyter Notebook代码
-
1、在服务器中打开没有浏览器的jupyter notebook:
jupyter notebook --no-browser
- 或
jupyter notebook --ip=0.0.0.0 --no-browser --port=1111
(此处可以指定端口,也可以不指定)
-
2、 在Windows端进行端口转发:
ssh -N -f -L localhost:xxxx:localhost:yyyy username@ip_address
- yyyy为上一步指定的端口号,Jupytyer Notebook默认为8888;xxxx为在Windows上指定的端口号,可任意设置
- 开启成功后不会显示内容
-
3、在本地浏览器中打开
localhost:xxxx
即可,如果需要输入token则从服务器复制下来填入即可 -
注:同理可以将服务器上类似的需要浏览器的服务映射到本地来访问,如:Tensorboard等
-
问题1:端口转发后输入token总是提示错误:
- 首先使用命令
jupyter notebook list
查看一下当前都有哪些server在运行,由于VS Code的一些问题,可能会导致后台有很多server在运行,间接导致转发的端口可能并不是你刚刚打开的notebook的server端口,token自然也就不对了 - 使用
jupyter notebook stop port
来结束指定port的server - 使用
netstat -tunlp | grep port
来查看端口被什么进程所占用
- 首先使用命令