Visdom 介绍 | 一
用于创建,组织和共享实时丰富数据可视化的灵活工具。支持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:当前环境IDtarget:事件被调用的窗口ID
其他参数在下面定义。
现在支持以下回调事件:
Close-在关闭窗口时触发。返回仅包含上述字段的字典。KeyPress-按下键时触发。包含其他参数:key-所按下键的字符串表示形式(应用状态修饰符,例如SHIFT)key_code-所按下键的javascript事件键码(无修饰符)
PropertyUpdate-在“属性”窗格中更新属性时触发propertyId-在属性列表中的位置value-新属性值
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。
命令行选项
可以向服务器提供以下选项:
-port:运行服务器的端口。-hostname:运行服务器的主机名。-base_url:基本服务器的URL(默认=/)。-env_path:要重载的序列化会话的路径。-logging_level:日志记录级别(默认=INFO)。接受标准文本和数字日志记录值。-readonly:标记以只读模式启动服务器。-enable_login:标记以设置服务器的身份验证,需要用户名和密码才能登录。-force_new_cookie:标记以重置服务器使用的安全cookie,从而使当前的登录cookie无效。需要-enable_login开启。
当提供-enable_login标志时,服务器要求用户使用终端提示输入凭据。或者,你可以设置VISDOM_USE_ENV_CREDENTIALSenv变量,然后通过VISDOM_USERNAME和VISDOM_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 介绍 | 一的更多相关文章
- Visdom 介绍 | 二
用于创建,组织和共享实时丰富数据可视化的灵活工具.支持Python. 概述 概念 设置 用法 API 注意事项 贡献 API 要快速了解visdom的功能,请查看example目录,或阅读以下详细信息 ...
- Pytorch Visdom可视化工具
2018-12-04 14:05:49 Visdom是Facebook专门为PyTorch开发的一款可视化工具,其开源于2017年3月.Visdom十分轻量级,但却支持非常丰富的功能,能胜任大多数的科 ...
- visdom可视化pytorch训练过程
一.前言 在深度学习模型训练的过程中,常常需要实时监听并可视化一些数据,如损失值loss,正确率acc等.在Tensorflow中,最常使用的工具非Tensorboard莫属:在Pytorch中,也有 ...
- pytorch学习笔记(九):PyTorch结构介绍
PyTorch结构介绍对PyTorch架构的粗浅理解,不能保证完全正确,但是希望可以从更高层次上对PyTorch上有个整体把握.水平有限,如有错误,欢迎指错,谢谢! 几个重要的类型和数值相关的Tens ...
- 0703-可视化工具tensorboard和visdom
0703-可视化工具tensorboard和visdom 目录 一.可视化工具概述 二.TensorBoard 三.Visdom 3.1 visdom 概述 3.2 visdom 的常用操作 3.3 ...
- 深度学习与CV教程(8) | 常见深度学习框架介绍
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
随机推荐
- 【Network telemetry】谈谈网络遥感技术,从主动探测与被动探测再到Netflow与INT
[前言] [本篇为原创]网络遥感,Network telemetry,为什么叫“telemetry”呢?我个人的理解是将网络中的数据进行一种“采集”,也就是实际上是一种网络数据的采集手段.由于工作需要 ...
- C与ARM汇编结合实现mini2440串口uart简单程序
最近学完了ARM的一些基础知识,开始在mini2440上开发一些简单的程序,串口发送程序是一开始涉及多个寄存器的例子,稍有繁多的步骤应该是开发过程中要慢慢适应的境况 下面的程序的目的是实现mini24 ...
- 【猫狗数据集】pytorch训练猫狗数据集之创建数据集
猫狗数据集的分为训练集25000张,在训练集中猫和狗的图像是混在一起的,pytorch读取数据集有两种方式,第一种方式是将不同类别的图片放于其对应的类文件夹中,另一种是实现读取数据集类,该类继承tor ...
- 如何在Flutter中使用flutter_markdown
很多博客,论坛都支持markdown语法,flutter也有支持markdown语法的插件flutter_markdown 安装依赖 dependencies: flutter: sdk: flutt ...
- notepad++ 快捷键运行python程序目录存在空格的问题
通常情况下 cmd /k (python.exe文件所在路径) "$(FULL_CURRENT_PATH)"&PAUSE&EXIT 就ok了,路径里有空格就不一样了 ...
- 【转】JS内置对象方法
String内置对象的方法 1. concat() concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串 var str = "Hello"; var out ...
- 借助Redis完成延时任务
背景 相信我们或多或少的会遇到类似下面这样的需求: 第三方给了一批数据给我们处理,我们处理好之后就通知他们处理结果. 大概就是下面这个图说的. 本来在处理完数据之后,我们就会马上把处理结果返回给对方, ...
- 浅谈静态布局、流式布局,rem布局,弹性布局、响应式布局
静态布局: 特点:没有兼容性问题 PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分:移动设备:另外建立移动网站,单独 ...
- C语言程序设计(二) C数据类型
第二章 C数据类型 八进制整数由数字0开头,后跟0~7的数字序列组成. 十六进制整数由数字0加字母x(或X)开头,后跟0~9,a~f(或A~F)的数字序列组成. 整型常量: 默认的int型定义为有符号 ...
- Array.isArray() 判断是不是数组
var arr = new Array(); if(Array.isArray()){ console.log('yes') } else { conssole.log('no') }
