用于创建,组织和共享实时丰富数据可视化的灵活工具。支持Python。

  • 概述
  • 概念
  • 设置
  • 用法
  • API
  • 待办事项
  • 贡献

概述

Visdom旨在促进(远程)数据的可视化,重点是支持科学实验。

为你自己和你的团队成员生成图表,图像和文本的可视化。

以编程方式或通过用户界面来组织可视化空间,以创建实时数据的面板,来检查实验结果或调试实验代码。

概念

Visdom具有一组简单的特征,可以针对各种用例进行组合。

Windows

用户界面从空白开始,你可以在其中填充图表,图像和文本。这些出现在窗口中,你可以拖放,调整大小和销毁它们。这些窗口位于“envs”中,并且“envs”的状态跨会话存储。你可以下载本包Windows的相关内容,该内容包括“svg”中的绘图。

提示:你可以使用浏览器的缩放比例来调整UI的比例。

回调

python Visdom实现支持窗口上的回调。该演示以文本编辑器的形式显示了此示例。这些回调的功能允许Visdom对象接收前端中发生的事件并对事件做出反应。

你可以通过向你要订阅的窗口ID的事件处理程序字典添加一个函数来订阅事件的窗口,方法是使用处理程序和窗口ID调用viz.register_event_handler(handler,win_id)。可以将多个处理程序注册到同一窗口。你可以使用viz.cleareventhandlers(win_id)从窗口中删除所有事件处理程序。当该窗口发生事件时,你的回调将被调用,其中字典包含以下内容:

  • event_type:以下事件类型之一
  • pane_data:该窗口的所有存储内容,包括布局和内容。
  • eid:当前环境ID
  • target:事件被调用的窗口ID

其他参数在下面定义。

现在支持以下回调事件:

  1. Close-在关闭窗口时触发。返回仅包含上述字段的字典。
  2. KeyPress-按下键时触发。包含其他参数:
    • key-所按下键的字符串表示形式(应用状态修饰符,例如SHIFT)
    • key_code-所按下键的javascript事件键码(无修饰符)
  3. PropertyUpdate-在“属性”窗格中更新属性时触发
    • propertyId-在属性列表中的位置
    • value-新属性值
  4. Click-单击“图像”窗格时触发,具有一个参数:
    • image_coord-字典,其中x字段和y字段用于在可能缩放/平移的图像(不是封闭窗格)的坐标框中的单击坐标。

环境

你可以使用envs划分可视化空间。默认情况下,每个用户都有一个名为main的环境。可以在UI中或以编程方式创建新的环境。envs的状态会长期保存。环境能够保留完全不同的区域。

你可以通过以下网址访问特定的环境:http://localhost.com:8097/env/main。

如果你的服务器是托管服务器,则可以共享此URL,以便其他人也可以看到你的可视化效果。

环境由第一个“_”自动分层组织。

选择环境

在主页上,可以使用环境选择器在不同的环境之间切换。选择新环境将向服务器查询该环境中存在的图。环境选择器允许搜索和过滤新的环境。

比较环境

从主页可以使用环境选择器比较不同的环境。在复选框中选择多个环境将向服务器查询所有环境中具有相同标题的图,并将它们绘制在单个图中。创建一个附加的比较图例窗格,该窗格具有与每个选定环境相对应的数字。使用与“x_name”相对应的图例更新各个图,其中“x”是与比较图例窗格相对应的数字,而“name”是图例中的原始名称。

注意:比较环境视图对高吞吐量数据不可靠,因为服务器负责生成比较内容。所以不要比较这种绘图上会收到大量更新的环境,因为每次更新都会要求重新生成比较。如果你需要比较接收大量数据的两个图,请让它们在单个env上共享相同的窗口。

清除环境

你可以使用橡皮擦按钮删除环境中的所有当前内容。这将关闭该环境的绘图窗口,但保留新绘图的空白环境。

管理环境

按下文件夹图标将打开一个对话框,使用该对话框可以派生或强制保存当前环境,或删除任何现有环境。State部分中充分描述了此功能的使用。

Env文件:

你的环境在服务器初始化时加载,默认情况下从$HOME/.visdom/中加载。自定义路径可以作为cmd-line参数传递。通过使用删除按钮或从环境目录中删除相应的.json文件,可以删除环境。

状态

一旦创建了一些可视化文件,状态便得以维护。服务器自动缓存你的可视化文件-如果你重新加载页面,则可视化文件会重新出现。

  • 保存:你可以使用“保存”按钮手动进行操作。这将序列化环境的状态(以JSON格式存储到磁盘),包括窗口位置。你可以以编程方式保存env

    这对于配置有意义的更复杂的可视化很有帮助,例如,数据丰富的演示,模型训练仪表板或系统实验。这也使它们易于共享和重用。
  • Fork:如果输入新的环境名称,保存将创建一个新的环境-有效地Fork先前的环境。

提示:开始进行编辑之前,请先Fork环境,以确保单独保存所做的更改。

筛选

你可以使用filter动态筛选包含在环境中的窗口-只需提供一个正则表达式即可匹配你要显示的窗口标题。这在涉及带有多个窗口的env的用例中(例如系统检查实验结果时)可能会有所帮助。

注意:如果保存了当前视图,则清除过滤器后将还原该视图。

视图

可以简单地通过拖动窗口顶部来管理视图,但是存在其他功能可以使视图井井有条并保存常见视图。视图管理对于在Windows的多个常见组织之间进行保存和切换非常有用。

保存/删除视图

使用文件夹图标,将打开一个对话框窗口,你可以在其中以与envs相同的方式派生视图。保存视图将保留给定环境中所有窗口的位置和大小。视图保存在visdom文件路径的$HOME/.visdom/view/layouts.json中。

注意:保存的视图是静态的,并且编辑保存的视图会将视图复制到可以进行编辑的“当前”视图。

重新打包

使用重新打包图标(9个盒子),visdom将尝试以最适合你的窗口的方式打包窗口,同时保留行/列的顺序。

注意:由于对行/列排序和ReactGridLayout的依赖,最终的布局可能与预期的略有不同。我们正在努力改善这种体验,或者提供替代方法以提供更好的控制。

重新加载视图

使用视图下拉菜单,可以选择以前保存的视图,将当前环境中所有窗口的位置和大小恢复到上次保存该视图时的位置。

设置

需要Python 3

#从pip安装Python版服务器和客户端
#(稳定的版本,并非所有当前功能都受支持)
pip install visdom
#从源代码安装visdom
pip install -e .
#如果上述问题出现,你可以尝试以下方法
easy_install .

用法

从命令行启动服务器(可能在“屏幕”或“tmux”中):

> visdom

现在,可以通过在浏览器中转到http://localhost:8097或你自己的主机地址(如果已指定)来访问Visdom。

visdom命令等效于运行python -m visdom.server

如果上述方法不起作用,请尝试在服务器上使用SSH隧道,方法是将以下行添加到本地~/.ssh/config中:LocalForward 127.0.0.1:8097 127.0.0.1:8097

命令行选项

可以向服务器提供以下选项:

  1. -port:运行服务器的端口。
  2. -hostname:运行服务器的主机名。
  3. -base_url:基本服务器的URL(默认=/)。
  4. -env_path:要重载的序列化会话的路径。
  5. -logging_level:日志记录级别(默认=INFO)。接受标准文本和数字日志记录值。
  6. -readonly:标记以只读模式启动服务器。
  7. -enable_login:标记以设置服务器的身份验证,需要用户名和密码才能登录。
  8. -force_new_cookie:标记以重置服务器使用的安全cookie,从而使当前的登录cookie无效。需要-enable_login开启。

当提供-enable_login标志时,服务器要求用户使用终端提示输入凭据。或者,你可以设置VISDOM_USE_ENV_CREDENTIALSenv变量,然后通过VISDOM_USERNAMEVISDOM_PASSWORDenv变量提供你的用户名和密码,无需手动与终端进行交互。

如果你想从bash脚本或Jupyter笔记本电脑启动visdom服务器,这个功能很有用。

VISDOM_USERNAME =username
VISDOM_PASSWORD =password
VISDOM_USE_ENV_CREDENTIALS = 1 visdom -enable_login

如果未生成Cookie文件,也可以使用“VISDOMCOOKIE”变量提供Cookie值,或者标志`-forcenew_cookie`已设置。

Python示例
import visdom
import numpy as np
vis = visdom.Visdom()
vis.text('Hello, world!')
vis.image(np.ones((3, 10, 10)))

演示

python example/demo.py

欢迎关注磐创博客资源汇总站:http://docs.panchuang.net/

欢迎关注PyTorch官方中文教程站:http://pytorch.panchuang.net/

OpenCV中文官方文档:http://woshicver.com/

Visdom 介绍 | 一的更多相关文章

  1. Visdom 介绍 | 二

    用于创建,组织和共享实时丰富数据可视化的灵活工具.支持Python. 概述 概念 设置 用法 API 注意事项 贡献 API 要快速了解visdom的功能,请查看example目录,或阅读以下详细信息 ...

  2. Pytorch Visdom可视化工具

    2018-12-04 14:05:49 Visdom是Facebook专门为PyTorch开发的一款可视化工具,其开源于2017年3月.Visdom十分轻量级,但却支持非常丰富的功能,能胜任大多数的科 ...

  3. visdom可视化pytorch训练过程

    一.前言 在深度学习模型训练的过程中,常常需要实时监听并可视化一些数据,如损失值loss,正确率acc等.在Tensorflow中,最常使用的工具非Tensorboard莫属:在Pytorch中,也有 ...

  4. pytorch学习笔记(九):PyTorch结构介绍

    PyTorch结构介绍对PyTorch架构的粗浅理解,不能保证完全正确,但是希望可以从更高层次上对PyTorch上有个整体把握.水平有限,如有错误,欢迎指错,谢谢! 几个重要的类型和数值相关的Tens ...

  5. 0703-可视化工具tensorboard和visdom

    0703-可视化工具tensorboard和visdom 目录 一.可视化工具概述 二.TensorBoard 三.Visdom 3.1 visdom 概述 3.2 visdom 的常用操作 3.3 ...

  6. 深度学习与CV教程(8) | 常见深度学习框架介绍

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  7. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  8. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  9. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

随机推荐

  1. [红日安全]Web安全Day4 - SSRF实战攻防

    本文由红日安全成员: MisakiKata 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目 ...

  2. swoole(3)网络服务模型(单进程阻塞、预派生子进程、单进程阻塞复用模型)

    一:单进程阻塞 设计流程: 创建一个socket,绑定端口bind,监听端口listen 进入while循环,阻塞在accept操作上,等待客户端连接进入,进入睡眠状态,直到有新的客户发起connet ...

  3. JavaScript实现栈结构(Stack)

    JavaScript实现栈结构(Stack) 一.前言 1.1.什么是数据结构? 数据结构就是在计算机中,存储和组织数据的方式. 例如:图书管理,怎样摆放图书才能既能放很多书,也方便取? 主要需要考虑 ...

  4. 【技巧】歪脑筋优化flexbox瀑布流布局方案

    效果先行 需求 在大量"不定宽"元素并排的布局模式下,上图是我们想要的最佳布局但是FlexBox布局虽然枪弹但并不能完全呈现以上布局,于是我们需要结合FlexBox作下小的改动即可 ...

  5. Java基础--冒泡排序算法

    冒泡排序算法的运作如下:(从后往前) 比较相邻的元素,如果第一个比第二个大,就交换他们两个. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的元素. 针对 ...

  6. 日常破解---XCTF_APP1获取flag记录

    日常破解---XCTF_APP1获取flag记录 一.题目来源   来源:XCTF社区安卓题目app1 二.解题记录     1.首先安装到模拟器中运行一下,如下图所示,点击一下按钮,弹出提示年轻人不 ...

  7. PHP把图片存入数据库(非路径)【待测试】

    大部分人的图片上传都是保存一个路径到数据库,这样在插入时确实快,也符合web的特点,但是在删除时就很麻烦,需要找到文件并删除,该代码能够把代码直接存入数据库,删除时一并删除.请注意:这样的话数据库大小 ...

  8. Golang package轻量级KV数据缓存——go-cache源码分析

    作者:Moon-Light-Dream 出处:https://www.cnblogs.com/Moon-Light-Dream/ 转载:欢迎转载,但未经作者同意,必须保留此段声明:必须在文章中给出原文 ...

  9. 用python实现LBP特征点计算

    import cv2 import numpy as np def olbp(src): dst = np.zeros(src.shape,dtype=src.dtype) for i in rang ...

  10. 数据库中的两个最重要的日志redo log和binlog

    mysql整体来看其实只有两部分,一部分是server层,一部分是引擎层. 1.redo log(重做日志):当有一条记录需要更新的时候,InnoDB 引擎就会先把记录写入redo log里面,并更新 ...