visdom使用小技巧

visdom常用于深度学习迭代过程的可视化。在代码中,需要在相应位置增加如下代码:

import visdom

vis = visdom.Visdom(env=u'domain_accuracy') #设置的环境名称

vis.line(X=np.array([epoch]), Y=np.array([domain_accuracy]),
                 win='domain_accuracy',
                 update='append',
                 opts={'title': 'domain_accuracy'})

在运行代码前,需要cmd在命令行窗口输入

python -m visdom.server

得到网址:http://localhost:8097,在浏览器中打开。(若不小心把网页关闭了,只要后台没有关闭,数据不会丢失,重新复制端口在浏览器中访问即可)

保存数据

数据将自动保存在此路径下 

保存的文件可视化

import visdom
import json

with open('E:/XD_DANN/dataset1400/result1214/domain_accuracy.json', 'r') as f:  #修改成自己的.json路径
    data = json.load(f)

vis = visdom.Visdom()

vis.line(
    X=data['jsons']['domain_accuracy']['content']['data'][0]['x'],  #'domain_accuracy'修改成自己的
    Y=data['jsons']['domain_accuracy']['content']['data'][0]['y'],
    opts={
        'title': data['jsons']['domain_accuracy']['content']['layout']['title'],
        'xlabel': 'X-axis',
        'ylabel': 'Y-axis'
    }
)

运行结果: 

 

右下角的edit可以对图像调整修改:可以灵活进行数据调整和图像表达

 将曲线调整平滑,Visdom库本身并不提供直接的平滑曲线功能

基于SciPy库中的平滑函数实现平滑曲线的示例代码

import visdom
import json
import numpy as np
from scipy.ndimage import gaussian_filter1d

# 读取JSON文件并解析数据
with open('E:/XD_DANN/dataset1400/result1214/domain_accuracy.json', 'r') as f:
    data = json.load(f)

# 提取x和y数据
x = data['jsons']['domain_accuracy']['content']['data'][0]['x']
y = data['jsons']['domain_accuracy']['content']['data'][0]['y']

# 平滑处理
smooth_y = gaussian_filter1d(y, sigma=2)  # 使用高斯滤波器进行平滑处理

# 连接到Visdom服务器
vis = visdom.Visdom()

# 绘制平滑曲线
vis.line(
    X=np.array(x),
    Y=np.array(smooth_y),
    opts={
        'title': data['jsons']['domain_accuracy']['content']['layout']['title'],
        'xlabel': 'X-axis',
        'ylabel': 'Y-axis'
    }
)

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值