首页/新闻资讯/正文详情

Visdom 快速上手指南:5 分钟搭建实时可视化仪表盘并绘制第一张图

发布时间:2026/9/24 23:58:29 来源:云帆数科 栏目:资讯中心
Visdom 快速上手指南:5 分钟搭建实时可视化仪表盘并绘制第一张图
数据可视化前端【免费下载链接】visdomTool for real-time visualization, monitoring and collaborative analysis of AI/ML experiments and live data. Supports Python, PyTorch/Torch, NumPy, TensorFlow/Keras https://visdom.dev项目地址https://gitcode.com/gh_mirrors/vi/visdom点击查看免费下载本指南基于官方 Quick Start 文档带你从零开始安装 Visdom、启动本地可视化服务器、在浏览器中打开仪表盘并用 Python 客户端一次性创建文本、图像、折线图、散点图和柱状图五种窗口。读完你将掌握 Visdom 客户端—服务器工作模型、win/env/opts三大核心概念以及用updateappend对训练曲线进行实时流式更新的实战能力。1. 安装 VisdomVisdom 的 Python 客户端与 Web 客户端都随 Python 服务器一同发布因此只需一条 pip 命令即可完成全部安装pip install visdom# 验证安装是否成功 python -c import visdom; print(visdom.__version__)安装前提以当前仓库源码为准虽然 installation.md 中标注了 Python 3.6 的历史要求但当前仓库的 客户端入口 已明确断言sys.version_info (3, 12)直接抛出RuntimeError(Visdom requires Python 3.12 or newer.)因此在最新版本上请确保使用Python 3.12 或更新版本并搭配现代浏览器Chrome、Firefox、Safari、Edge使用。其他安装方式可参考 详细安装文档支持从源码安装pip install -e .开发模式、在虚拟环境中安装避免依赖冲突若需要把 Plotly 图形直接保存为 PNG/SVG 文件而非通过浏览器下载按钮可额外安装pip install plotly kaleido。2. 启动服务器在命令行中直接运行visdomvisdom命令等价于python -m visdom.server见 usage.md其底层入口是 run_server.py 中的main()先解析命令行参数再调用start_server()构建 Tornado 应用并启动asyncio事件循环。启动成功后你会看到类似输出Checking for scripts. Its Alive! INFO:root:Application Started You can navigate to http://localhost:8097其中 Application Started 与 You can navigate to ... 由 run_server.py 的 _serve 打印。默认端口 8097、默认主机 localhost、默认环境存储路径~/.visdom/等常量均定义在 defaults.py。若 8097 端口已被占用服务器会自动尝试分配空闲端口并打印实际地址。小贴士建议在screen或tmux中启动服务器这样训练脚本可以持续运行。远程访问共享机器时建议配合-enable_login与-bind_local参数开启认证并限制仅本机可访问仅靠 SSH 隧道并不能提供认证保护。常用的服务器启动参数以下参数由 run_server.py 的命令行解析 支持可组合使用参数默认值说明-port8097服务器监听端口1–65535端口 0 被浏览器视为不安全端口而排除-hostnamelocalhost服务器对外显示的主机名-base_url/服务器基础路径需以/开头且不以/结尾-env_path~/.visdom/序列化会话环境数据的持久化路径-logging_levelINFO日志级别支持级别名或整数如 20-readonly关闭以只读模式启动-enable_login关闭启动认证交互式输入用户名密码或使用VISDOM_USERNAME/VISDOM_PASSWORD环境变量-bind_local关闭仅允许从 localhost 访问-save_interval30环境自动落盘的间隔秒数0 表示关闭定时保存-save_threshold50环境更新达到该次数时提前保存避免忙碌环境长时间未落盘-ssl_certfile/-ssl_keyfile无证书与私钥文件路径必须成对提供以启用 HTTPS-use_frontend_client_polling关闭前端改用轮询而非 WebSocket 通信3. 打开仪表盘浏览器访问http://localhost:8097即可看到一个空白的 Visdom 仪表盘默认main环境。仪表盘上的窗口支持拖拽、缩放、下载内容等交互操作UI 顶部的环境选择器可以切换不同的环境空间详见 Views Filters 相关概念说明。4. 创建你的第一个可视化打开一个 Python Shell 或脚本运行以下代码原样可复制运行import visdom import numpy as np vis visdom.Visdom() # 检查服务器是否已连接 assert vis.check_connection(timeout_seconds3), \ Visdom server is not running at http://localhost:8097 # 1. 显示一段文本 vis.text(h2Hello Visdom!/h2pYour first visualization./p, winhello, optsdict(titleWelcome)) # 2. 显示一张随机图像 vis.image(np.random.rand(3, 256, 256), winrandom_img, optsdict(titleRandom Image)) # 3. 绘制正弦波折线 x np.linspace(0, 4 * np.pi, 200) vis.line(Ynp.sin(x), Xx, winsine, optsdict(titleSine Wave, xlabelx, ylabelsin(x))) # 4. 创建散点图 vis.scatter( Xnp.random.rand(100, 2), Y(np.random.rand(100) 0.5).astype(int) 1, winscatter, optsdict(titleRandom Scatter, legend[Class A, Class B], markersize8), ) # 5. 绘制柱状图 vis.bar( Xnp.random.rand(5), winbar, optsdict(titleBar Chart, rownames[Mon, Tue, Wed, Thu, Fri]), )切回浏览器你会看到五个包含可视化的窗口。代码背后的工作机制从源码看visdom.Visdom()构造函数py/visdom/init.py 的 Visdom.init在初始化时会自动向服务器发送一个env/请求以注册当前环境并默认建立一个 WebSocket 反向通道use_incoming_socketTrue可改为轮询use_pollingTrue用于接收服务器事件、注册事件回调。check_connection(timeout_seconds3)实现见此处会在超时时间内反复检测win_exists()与 socket 状态返回布尔值确认连通性。每个绘图调用如text、image、line、scatter、bar最终都通过_send()py/visdom/init.py#L1184-L1266把 JSON 消息 POST 到 Tornado 服务器的events端点当win为None时服务器会自动生成一个随机窗口名window_id这就是win窗口标识的来历。三个核心概念win、env 与 optswin窗口的唯一标识。传入相同的win会复用已有窗口覆盖或追加数据不传则自动生成随机名。env环境即独立的工作区。客户端默认连接到main环境也可以通过envexperiment_1在单次调用中指定或直接在构造时传入vis visdom.Visdom(envexperiment_1)。环境之间数据互相隔离可通过http://localhost:8097/env/experiment_1直达某个环境。opts绘图选项字典。所有绘图调用共通的选项包括title标题、xlabel/ylabel轴标签、legend图例、width/height、margin*边距等不同图类型还有专属选项例如散点图的markersize、柱状图的rownamesx 轴标签与stacked堆叠模式、layoutopts透传 Plotly 布局。选项在客户端会经过_assert_optspy/visdom/init.py#L410-L488的校验例如markersize必须为正数、opacity必须落在 0–1 之间、jpgquality必须在 0–100 之间。5. 实时更新折线图Visdom 最有价值的特性之一是对已存在窗口的增量更新。updateappend会把新数据点追加到现有折线图末尾实现训练过程中的流式曲线import time win vis.line(Y[0.9], X[1], optsdict(titleTraining Loss, xlabelEpoch, ylabelLoss)) for epoch in range(2, 50): loss 0.9 * np.exp(-0.05 * epoch) np.random.normal(0, 0.02) vis.line(Y[loss], X[epoch], winwin, updateappend) time.sleep(0.1)在浏览器中即可看到损失曲线随着循环逐点增长。updateappend请求走的是独立的update端点区别于创建窗口的events端点且更新请求同样会被记录到日志文件。line的update参数除append外还支持replace整体替换与remove删除窗口等模式。6. 进阶离线记录与远端连接离线模式没有运行服务器时可以把所有 Visdom 调用记录到日志文件稍后在服务器可用时重放import visdom vis visdom.Visdom( offlineTrue, log_to_filenamevisdom_log.json ) # 所有调用都会写入日志文件 vis.text(This is logged offline) vis.line(Y[1, 2, 3], X[1, 2, 3])服务器可用后重放日志恢复状态vis_online visdom.Visdom() vis_online.replay_log(visdom_log.json)从源码看离线模式要求必须指定log_to_filename否则直接断言失败且会强制关闭 socket 通道replay_logpy/visdom/init.py#L1782-L1791逐行读取日志并以from_logTrue标志重发每条消息避免重复记录。连接远端服务器vis visdom.Visdom(serverhttp://remote-host, port8097)如果远端服务器启用了认证还需要传入用户名密码vis visdom.Visdom( serverhttp://remote-host, port8097, usernamemyuser, passwordmypass )客户端在带认证时会向服务器 POST 登录凭据建立会话密码在客户端以 SHA-256 哈希传递见 Visdom.init的认证分支对于自签名 HTTPS 证书的服务器可通过ssl_verifyFalse跳过校验。Visdom 构造函数的完整可选参数base_url、proxies、use_polling、session_idle_timeout等均可参考 py/visdom/init.py 的构造函数签名。运行仓库自带 Demo如果已克隆本仓库可以直接运行官方演示脚本体验全部功能python example/demo.py仓库的 example 目录 还提供了 mnist-embeddings、训练过程监控train_example.py以及 Keras、Lightning、sklearn、XGBoost 等多种框架的接入示例使用 Jupyter Notebook 时只需在独立终端启动服务器然后在 notebook 单元里照常调用vis.text(Hello from Jupyter!)即可。接下来可以深入学习Creating Visualizations — 所有可展示的图表类型与媒体Managing Environments — 将工作按环境组织为独立工作区Live Updates Streaming — 从训练循环中流式传输数据Full API Reference — 每个函数与参数的完整说明赞分享数据可视化前端【免费下载链接】visdomTool for real-time visualization, monitoring and collaborative analysis of AI/ML experiments and live data. Supports Python, PyTorch/Torch, NumPy, TensorFlow/Keras https://visdom.dev项目地址https://gitcode.com/gh_mirrors/vi/visdom点击查看免费下载相关推荐5分钟上手Visdom从安装到构建实时数据可视化仪表盘5分钟上手Visdom从安装到构建实时数据可视化仪表盘 Visdom是一款灵活的实时数据可视化工具支持Torch和Numpy能够帮助开发者轻松创建、组织和数据可视化前端3步彻底优化Windows系统AtlasOS开源工具完整指南3步彻底优化Windows系统AtlasOS开源工具完整指南 你是否厌倦了Windows系统的卡顿、隐私泄露和臃肿的后台服务AtlasOS作为一款开源Win操作系统隐私合规5分钟快速上手Sigma.js从零渲染你的第一张图可视化5分钟快速上手Sigma.js从零渲染你的第一张图可视化 Sigma.js 是一款基于 WebGL 的开源 JavaScript 图可视化库专为渲染数千个节数据可视化前端图形学上一篇RePKG解锁Wallpaper Engine资源提取难题的开源解决方案下一篇终极指南如何一键重置JetBrains IDE试用期限制创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

灯在闪不等于程序在跑:STM32时钟与调试实战解析
灯在闪不等于程序在跑:STM32时钟与调试实战解析

“你说灯在闪,可板子呢?”我接过的嵌入式相关的活儿,有八成是从这句话开始的。说出来你可能不信,很多时候,一个看起来完全正常的现象——LED灯在闪烁,恰恰是问题最深的伪装。你问新手“板子跑起来了吗”&am… · 2026/9/24 23:58:23

傻瓜式UX:ERP的致命糖衣
傻瓜式UX:ERP的致命糖衣

企业上ERP,几乎都会遇到同一句话。 还没上线时,基层用户看着演示说: “太复杂了,能不能再简单一点?” 上线以后,他们又会说: “字段太多、步骤太多、管得太细,我们以前不是这样干… · 2026/9/24 23:58:23

opentelemetry-go 的 AI Agent 协作规范:从核心期望、默认工作流到五种 Agent 角色
opentelemetry-go 的 AI Agent 协作规范:从核心期望、默认工作流到五种 Agent 角色

云原生存储 【免费下载链接】distribution The toolkit to pack, ship, store, and deliver container content 项目地址: https://gitcode.com/gh_mirrors/dis/distribution 点击查看 免费下载 本篇技术指南以当前仓库 vendor/go.opentelemetry.io/otel/AGENTS.md… · 2026/9/24 23:58:23

深度学习新闻分类推荐系统:从TextCNN到个性化推荐
深度学习新闻分类推荐系统:从TextCNN到个性化推荐

简介:这份基于深度学习的新闻分类推荐系统Python实现源码,是专为课程设计与期末大作业准备的高分项目,下载后无需修改即可运行,适用于需要快速交付完整课题的高校学生。系统涵盖新闻数据预处理、文本分类模型训练、推荐逻辑展示等… · 2026/9/24 23:59:53

汽车电子底层软件开发:AUTOSAR与CAN总线实战解析
汽车电子底层软件开发:AUTOSAR与CAN总线实战解析

1. 这门“汽车电子底层软件开发就业课”到底在教什么?——不是写个LED闪烁就能上岗的很多人看到“汽车电子底层软件开发就业课”这个标题,第一反应是:不就是嵌入式C语言单片机CAN通信?刷几道LeetCode、调通一个STM32 CAN收发例程&… · 2026/9/24 23:59:53

Vim基础操作全攻略:保存退出、模式切换与高频命令实战
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保… · 2026/9/24 23:59:53

Python+CNN车牌识别实战:从数据预处理到模型训练与部署
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据… · 2026/9/24 23:59:53

AI元人文:从工具使用到思维重构的深度探索
AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决… · 2026/9/24 23:59:53

《AI Agent 场景应用 - MobileOpenClaw》第5-9节:会话上下文细化处理实战指南
《AI Agent 场景应用 - MobileOpenClaw》第5-9节:会话上下文细化处理实战指南

文档教程后端 【免费下载链接】CodeGuide :books: 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。如果本仓库能为您提供帮助,请给予支持(关注、… · 2026/9/24 23:59:47

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码