1、直接在pycharm的terminal中连接服务器
注意:如果是使用公用服务器,那么你可能在远程服务器上只是有一个文件夹的权限,显然是不够的,visdom需要使用远程服务器运行程序环境的权限,所以请把连接的身份权限开大
ssh -L 18097:127.0.0.1:8097 服务器地址
这里是将本地的端口18097(不是8097!!!)地址映射至服务器的8097端口(即visdom默认端口号)
2、进入远程服务器annoconda环境下你使用的环境,我用的pytorch
conda activate 环境名
3、启动visdom服务监听,这一步是必须的!
python -m visdom.server
4、关键注意:
如果你之前误操作,导致虽然没有成功连接到服务器,但是你却占用了visdom在服务器的端口,那么会显示以下消息:
Checking for scripts.
It's Alive!
Traceback (most recent call last):
File "/home/anaconda3/envs/环境名/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/anaconda3/envs/环境名/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/anaconda3/envs/环境名/lib/python3.9/site-packages/visdom/server/__main__.py", line 16, in <module>
download_scripts_and_run()
File "/home/anaconda3/envs/环境名/lib/python3.9/site-packages/visdom/server/run_server.py", line 236, in download_scripts
_and_run
main()
File "/home/anaconda3/envs/环境名/lib/python3.9/site-packages/visdom/server/run_server.py", line 220, in main
start_server(
File "/home/anaconda3/envs/环境名/lib/python3.9/site-packages/visdom/server/run_server.py", line 55, in start_server
app.listen(port, max_buffer_size=1024**3)
File "/home/anaconda3/envs/环境名/lib/python3.9/site-packages/tornado/web.py", line 2134, in listen
server.listen(
File "/home/anaconda3/envs/环境名/lib/python3.9/site-packages/tornado/tcpserver.py", line 183, in listen
sockets = bind_sockets(
File "/home/anaconda3/envs/环境名/lib/python3.9/site-packages/tornado/netutil.py", line 162, in bind_sockets
sock.bind(sockaddr)
OSError: [Errno 98] Address already in use
对!最后一句“OSError: [Errno 98] Address already in use”,说明你使用的服务器的端口号8097已经被占用,所以,请强制释放!
首先,查看是否8097端口号被占用了:
lsof -i:8097
如果被占用,则可能有以下消息:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ssh 3431 xx 4u IPv6 42892 0t0 TCP ip6-localhost:8097 (LISTEN)
ssh 3431 xx 5u IPv4 42893 0t0 TCP localhost:8097 (LISTEN)
然后,使用以下命令:
kill $(lsof -t -i :8097)
之后再使用python -m visdom.server就没啥问题了
但是,这时候跳出的链接是
It's Alive!
INFO:root:Application Started
INFO:root:Working directory: /home/.visdom
You can navigate to http://localhost:8097
但是这个端口号还是8097,你在本地设置的是18097,所以你在游览器的地址栏要输入的是
http://localhost:18097
OK!界面有了!
补充:
如果要pycharm远程可视化tensorboard,原理一样啊!
1、远程连接服务器
ssh -L 16006:127.0.0.1:6006 服务器地址
2、进入远程服务器annoconda启用环境
conda activate 环境名
3、启动tensorboard监听
tensorboard --logdir=你保存的日志文件路径 --bind_all
在游览器的地址栏要输入的是
http://localhost:16006