在进行深度学习或数据科学项目时,我们经常需要运行代码并查看结果。有时,结果会以一个网络地址:端口号的组合体的形式呈现,点击后会跳转到Gradio或TensorBoard等可视化工具。然而,当代码在远程连接的Linux服务器上运行时,点击这些链接通常会打开系统默认的Firefox浏览器。打开浏览器的体验可能会非常糟糕,甚至卡顿到像播放PPT一样,严重影响查看模型运行效果的流畅性。
运行完之后的效果如果要跳转到Gradio可能是这样的:127.0.0.1:7860,Tensorboard也是同理,会给出一个网络地址:端口号,这个时候我们可以做一下本地端口转发,直接实现在本地打开这些界面,能够让操作更加流畅。
在本地打开命令行,输入下面的命令:
ssh -L 本地端口:127.0.0.1:远程端口 -p 远程服务器SSH端口 用户名@远程服务器地址
本地端口:随便设置一个没有被占用的端口(比如8080);
远程端口:远程服务器上提供的端口,就是“网络地址:端口号”中的端口号,(这里的话就是7860);
远程服务器SSH端口:如果你远程连接的服务器自己设定了端口号,这里需要指定成你远程连接服务器时候填的端口号;
用户名@远程服务器地址:类似于user@172.171.***.***,就是连接远程服务器时候的用户名和ip地址;
如果你远程连接的服务器有设置密码的话,这个时候需要你输入密码(界面不会显示),直接回车,最后出现:
Your Hardware Enablement Stack (HWE) is supported until April 2025.
Last login: Fri Mar 15 09:57:36 2024 from ***.***.***.**
其中“***.***.***.***”是你自己的远程服务器ip地址,说明端口转发成功,接下来就可以在本地打开可视化界面了,假设我们这里设置的本地端口号是8080,直接打开本地浏览器在里面输入“http://localhost:8080/”就可以打开该可视化界面查看结果了,操作非常流畅!