1 pytorch show by visdom
Traceback (most recent call last):
File "/home/sx/anaconda3/envs/py35/lib/python3.5/site-packages/visdom/__init__.py", line 711, in _send
data=json.dumps(msg),
File "/home/sx/anaconda3/envs/py35/lib/python3.5/site-packages/visdom/__init__.py", line 677, in _handle_post
r = self.session.post(url, data=data)
File "/home/sx/anaconda3/envs/py35/lib/python3.5/site-packages/requests/sessions.py", line 590, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/home/sx/anaconda3/envs/py35/lib/python3.5/site-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/home/sx/anaconda3/envs/py35/lib/python3.5/site-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/home/sx/anaconda3/envs/py35/lib/python3.5/site-packages/requests/adapters.py", line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8097): Max retries exceeded with url: /events (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',))
2 pip install visdom
启动visdom使用命令:
python -m visdom.server
观察到:
Checking for scripts.
It's Alive!
INFO:root:Application Started
You can navigate to http://localhost:8097
说明启动成功,即可访问http://localhost:8097。
3 how to use visdim ,define the Visualizer class
import visdom
import time
import numpy as np
from matplotlib import pyplot as plt
from sklearn.metrics import roc_curve
class Visualizer(object):
def __init__(self, env='default', **kwargs):
self.vis = visdom.Visdom(env=env, **kwargs)
self.vis.close()
self.iters = {}
self.lines = {}
def display_current_results(self, iters, x, name='train_loss'):
if name not in self.iters:
self.iters[name] = []
if name not in self.lines:
self.lines[name] = []
self.iters[name].append(iters)
self.lines[name].append(x)
self.vis.line(X=np.array(self.iters[name]),
Y=np.array(self.lines[name]),
win=name,
opts=dict(legend=[name], title=name))
def display_roc(self, y_true, y_pred):
fpr, tpr, ths = roc_curve(y_true, y_pred)
self.vis.line(X=fpr,
Y=tpr,
# win='roc',
opts=dict(legend=['roc'],
title='roc'))
4 call the class
if opt.display:
visualizer = Visualizer()
if opt.display:
visualizer.display_current_results(iters, loss.item(), name='train_loss')
visualizer.display_current_results(iters, acc, name='train_acc')
5 the result
link:https://blog.csdn.net/weixin_43290709/article/details/105937290



