1、安裝
pip install visdom
或者
conda install -c conda-forge visdom
2、啟動服務
python -m visdom.server
瀏覽器輸入http://localhost:8097查看
3、使用
參考:https://github.com/noagarcia/visdom-tutorial
https://github.com/facebookresearch/visdom
from visdom import Visdom
import numpy as np
class VisdomLinePlotter(object):
"""Plots to Visdom"""
def __init__(self, env_name='main'):
self.viz = Visdom()
self.env = env_name
self.plots = {}
def plot(self, var_name, split_name, title_name, x, y):
if var_name not in self.plots:
self.plots[var_name] = self.viz.line(X=np.array([x, x]), Y=np.array([y, y]), env=self.env, opts=dict(
legend=[split_name],
title=title_name,
xlabel='Epochs',
ylabel=var_name
))
else:
self.viz.line(X=np.array([x]), Y=np.array([y]), env=self.env, win=self.plots[var_name], name=split_name,
update='append')
使用
import visdom_utils
global plotter
plotter = visdom_utils.VisdomLinePlotter(env_name='Tutorial Plots')
plotter_name = 'cnn casia Loss lr={:.3f}'.format(options.lr_cnnh)
def train:
.....
plotter.plot('loss', 'train', plotter_name, (epoch - 1) * len(train_data_loader) + iteration, loss.item())
4、問題
Connection is already closed.
暫未解決!
5、遠程
連接ssh時,將服務器的8097端口重定向到自己機器上來:
ssh -L 18097:127.0.0.1:8097 username@remote_server_ip
其中:18097:127.0.0.1代表自己機器上的18097號端口,8097是服務器上visdom使用的端口。
在服務器上使用8097端口正常啟動tensorboard:
python -m visdom.server
在本地瀏覽器中輸入地址:
127.0.0.1:18097
