用于创建,组织和共享实时丰富数据可视化的灵活工具。支持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. C++扬帆远航——7(年月日)

    /* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:charizi.cpp * 作者:常轩 * 完成日期:2016年 ...

  2. 批量复制及执行命令shell脚本

    平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可 ...

  3. unittest实战(四):用例编写

    import yamlimport unittestfrom selenium import webdriverimport timefrom ddt import ddt, data, unpack ...

  4. Java 线程基础知识

    前言 什么是线程?线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程 ID,当前指令指针 (PC),寄存器集合和堆栈组成.另外,线 ...

  5. 7-36 jmu-python-统计字符个数 (10 分)

    输入一个字符串,统计其中数字字符及小写字符的个数 输入格式: 输入一行字符串 输出格式: 共有?个数字,?个小写字符,?填入对应数量 输入样例: helo134ss12 输出样例: 共有5个数字,6个 ...

  6. 原生js实现在表格用鼠标框选并有反选功能

    今天应同学要求,需要写一个像Excel那样框选高亮,并且实现框选区域实现反选功能.要我用原生js写,由于没什么经验翻阅了很多资料,第一次写文章希望各位指出不足!! 上来先建表 <div clas ...

  7. SAP CRM Transaction处理中的权限控制

    当试图打开一个Opportunity时, 系统会进行如下一系列的权限检查: 1. 检查Authorization object CRM_ORD_OP: 此处会检查当前user的partner func ...

  8. 前端每日实战:55# 视频演示如何用纯 CSS 创作一个太阳、地球、月亮的运转模型

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/RJjQYY 可交互视频 此视频是可 ...

  9. 汇编语言-[bx]和loop指令和多个段

    5.1 [BX]和内存单元的描述 要完成描述一个内存单元,需要两种信息: 内存单元的地址: 可以用 [0] 表示一个内存单元, 0 表示单元的偏移地址,段地址默认在 ds 中: 同样也可以用 [bx] ...

  10. oracle 10g 搭建备库以及一次DG GAP的处理情况

    1.主庫全庫備份rman target/rman> backup database format '/backup/fullbak/fullbak_%U';2.用scp傳到備庫,最好是rman目 ...