
数据可视化前端【免费下载链接】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点击查看免费下载Visdom 是面向 AI/ML 实验的实时可视化工具Python 客户端与 Web 前端随 Python 服务端一并分发安装后即可在同一端口下完成服务端启动 浏览器访问 Python 绘图的完整闭环。本文以官方安装文档为主线结合本仓库的源码实现系统讲解从 pip/源码安装、虚拟环境隔离、可选依赖到服务器启动、命令行配置、HTTPS 与登录认证再到常见安装问题的完整排查路径帮助你在一台新机器上从零跑起 Visdom 并定位绝大多数安装类故障。安装前置条件官方文档给出的最低要求如下Python3.6 或更高版本pip随 Python 一并安装现代 Web 浏览器Chrome、Firefox、Safari、Edge需要特别说明的是当前仓库的实际要求比文档更严格setup.py中声明了python_requires3.12见 setup.py同时 py/visdom/init.py 与 py/visdom/server/main.py 在导入时都会直接抛出RuntimeError(Visdom requires Python 3.12 or newer.)。因此在实际环境中请优先使用 Python 3.12 及以上版本否则即便安装成功导入或启动时也会被显式拒绝。方式一通过 pip 安装推荐最简单的安装方式直接使用 pip 安装 PyPI 上发布的 visdom 包pip install visdom从 setup.py 的install_requires可以看到安装时会自动带上以下核心运行时依赖numpy、scipy、requests、tornado、jsonpatch、websocket-client、networkx、openTSNE以及pillow。其中tornado承担 HTTP 与 WebSocket 服务openTSNE为 embeddings 可视化提供 t-SNE 降维能力。方式二从源码安装需要安装仓库最新开发版本时可以直接从 git 仓库安装pip install githttps://github.com/fossasia/visdom对于参与开发的场景建议克隆仓库并以**可编辑模式editable mode**安装这样代码改动即时生效无需重复安装git clone https://github.com/fossasia/visdom.git cd visdom pip install -e .仓库的打包配置在 setup.py 中包体从py目录下收集package_dir{: py}并将visdom/static下的静态资源与py.typed、*.pyi一并打包同时注册了控制台入口visdomvisdom.server.run_server:download_scripts_and_run——这正是后文visdom命令的来源。使用虚拟环境隔离依赖为避免与其他项目产生依赖冲突官方文档推荐在虚拟环境中安装 Visdompython -m venv visdom-env source visdom-env/bin/activate # Linux/macOS # visdom-env\Scripts\activate # Windows pip install visdom虚拟环境创建了与系统 Python 隔离的独立依赖树尤其适合在同一台机器上同时维护多个深度学习实验环境避免numpy、pillow等依赖版本互相污染。可选依赖plotly 与 kaleido如果希望在代码中直接将 Plotly 图形保存为图片文件PNG/SVG 等而不用在浏览器里手动点击下载按钮需要额外安装两个包pip install plotly kaleido两者的分工在源码中非常清晰plotly提供plotly.graph_objects等绘图对象以及plotly.utils.PlotlyJSONEncoder序列化能力见 py/visdom/init.py 中plotlyplot的实现先对 figure 做 JSON 往返编码以处理 numpy 数组等边界情况再转发给前端渲染kaleido承担离屏渲染把 figure 写入图片文件。对应地py/visdom/init.py 中的save_plotly_figure(figure, filepath, **kwargs)在缺少plotly时会抛出RuntimeError提示安装命令缺少kaleido时同样会捕获write_image抛出的 ValueError 并给出pip install kaleido的明确提示。输出格式由filepath的扩展名推断png、svg、pdf 等**kwargs可透传width、height、scale等write_image参数。对应 API 的完整用法参见 website/docs/api/basics.md 中的vis.plotlyplot与vis.save_plotly_figure小节以及 README.md 中的相关示例。验证安装是否成功安装完成后按以下三步验证环境是否就绪# 1. 检查已安装版本 python -c import visdom; print(visdom.__version__)当前仓库的版本号记录在 py/visdom/VERSION为0.3.0。版本号由py/visdom/__init__.py读取该文件注入__version__。# 2. 启动服务器 visdom# 3. 浏览器访问 http://localhost:8097看到 Visdom dashboard 界面即表示安装与启动全部成功。服务端默认端口为8097、默认主机名为localhost、默认基础路径为/、默认环境存储路径为$HOME/.visdom/这些默认值集中定义在 py/visdom/server/defaults.py。深入理解visdom命令它到底做了什么visdom命令与python -m visdom.server是等价的二者都最终进入 py/visdom/server/run_server.py 的download_scripts_and_run()入口下载前端脚本先调用build.download_scripts()把py/visdom/static/js/main.js等前端静态资源准备到本地首次启动时拉取解析命令行参数main()通过argparse解析全部启动选项启动服务start_server()基于 Tornado 的HTTPServer绑定端口并进入事件循环打印形如You can navigate to http://localhost:8097/的访问地址。其中端口校验值得留意run_server.py中的valid_port()只接受1~65535的整数特意排除了端口 0浏览器会以ERR_UNSAFE_PORT拒绝同时拒绝布尔值、浮点数等隐式可转整形的输入。对应的单元测试见 py/tests/unit/run_server_cli.py。常见安装问题排查端口被占用如果 8097 端口已被其他进程占用可换端口启动visdom -port 8098从源码角度看即使不指定端口_serve()在捕获到EADDRINUSE错误时也会自动退避绑定一个空闲端口并在日志中提示Port ... is already in use, assigning a free port。因此端口被占用通常表现为启动日志中的警告而非直接崩溃。安装权限不足无管理员权限安装时使用--user将包安装到当前用户目录pip install --user visdom找不到 visdom 命令Module not found安装成功但visdom命令不可用时通常是 Python 的 scripts 目录不在PATH中。此时有两种处理方式# 方式一把 Python scripts 目录加入 PATH # 方式二直接用模块方式运行 python -m visdom.server进阶服务端命令行选项总览下表汇总了visdom/python -m visdom.server支持的核心命令行选项参数解析见 py/visdom/server/run_server.py 的main()默认值见 py/visdom/server/defaults.py选项说明默认值-port服务端口8097-hostname服务主机名localhost-base_url基础 URL 路径必须以/开头且不以/结尾/-env_path序列化会话环境的存储/加载路径~/.visdom/-logging_level日志级别接受文本如INFO或数值如20INFO-readonly以只读模式启动服务关闭-enable_login启用用户名/密码登录认证关闭-force_new_cookie重置服务端安全 Cookie使旧登录态失效需配合-enable_login关闭-bind_local仅允许本机127.0.0.1访问关闭-eager_data_loading启动时预加载全部环境默认按用户请求惰性加载关闭-save_interval自动保存已变更环境的间隔秒数0关闭定时器30-save_threshold环境累计更新达到该次数即提前保存0关闭50-ssl_certfileSSL 证书文件路径与-ssl_keyfile成对使用无HTTP-ssl_keyfileSSL 私钥文件路径与-ssl_certfile成对使用无HTTP另外还有-use_frontend_client_polling可让前端改用轮询而非 WebSocket 与服务端通信。base_url的规范性检查必须以/开头、不能以/结尾由run_server.py在启动前断言完成。关于自动保存机制环境常驻内存后台存储线程每-save_interval秒落盘一次且一旦某个环境更新次数达到-save_threshold会立即提前保存两个值同时设为0则恢复仅手动保存 关闭时保存一次的旧行为。更多细节可参考 website/docs/getting-started/command-line-options.md。进阶启用登录认证默认情况下 Visdom不带任何认证任何能访问到该端口的人都可以查看和修改环境因此共享或生产部署务必同时启用-enable_login与-bind_localvisdom -enable_login -bind_local交互式启动时服务端会在终端提示输入用户名和密码。若希望非交互式启动例如从 bash 脚本或 Jupyter 启动可通过环境变量注入凭据VISDOM_USERNAMEusername VISDOM_PASSWORDpassword VISDOM_USE_ENV_CREDENTIALS1 visdom -enable_login服务端实现会校验设置了VISDOM_USE_ENV_CREDENTIALS但缺少用户名或密码时直接报错退出Cookie 文件缺失或使用-force_new_cookie时可通过VISDOM_COOKIE环境变量提供 Cookie 值。这些逻辑都位于 py/visdom/server/run_server.py 的main()中。进阶HTTPS 支持需要以 HTTPS 提供服务时提供一对 SSL 证书与私钥即可。开发环境可先生成自签名证书# 生成自签名证书仅用于开发 openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes # 启动 HTTPS 服务 python -m visdom.server -ssl_certfile cert.pem -ssl_keyfile key.pem然后通过https://localhost:8097访问。run_server.py的_build_ssl_context()要求证书与私钥成对提供——只给其一会被视为配置错误直接抛ValueError路径不存在则抛FileNotFoundError。Python 客户端连接时# 生产环境使用真实 CA 签发的证书默认校验 vis visdom.Visdom(serverhttps://myserver.com) # 开发环境自签名证书关闭证书校验 vis visdom.Visdom(serverhttps://localhost, ssl_verifyFalse)注意ssl_verifyFalse会关闭证书验证仅适用于带自签名证书的开发环境严禁用于生产。Python 客户端连接参数速览visdom.Visdom()构造函数见 py/visdom/init.py提供以下常用参数server服务端主机名默认http://localhostport服务端端口默认8097base_url基础 URL默认/env默认环境名未显式指定 env 时写入该环境默认mainusername/password服务端开启-enable_login时使用的认证凭据默认Noneproxies协议到代理地址的映射字典如{http: foo.bar:3128}http_proxy_host/http_proxy_port已废弃offline离线模式所有请求写入日志文件而不发往服务端需同时设置log_to_filenamelog_to_filename把所有绘图/更新事件以追加方式记录到文件之后可用replay_log回放use_incoming_socket是否启用接收前端事件的 WebSocket默认True关闭后无法注册回调use_preflight_checksupdateappend或store_historyTrue前是否先询问窗口是否存在默认True设为False可把追加循环的请求数大约减半ssl_verifyHTTPS 下是否校验证书默认True仅对https://地址有效安装完成后可用下面的最小脚本做一次端到端冒烟验证含check_connection连接检查import visdom import numpy as np vis visdom.Visdom() assert vis.check_connection(timeout_seconds3), Could not connect to Visdom server vis.text(Hello, world!) vis.image(np.ones((3, 10, 10)))check_connection(timeout_seconds0)会在指定超时内轮询服务端连通性并返回布尔值replay_log(log_filename)则逐行解析日志文件、按序重放每个事件见 py/visdom/init.py。若已克隆仓库还可以直接运行官方演示python example/demo.py更多启动与使用细节可进一步阅读 website/docs/getting-started/usage.md含 Hello World、环境管理、Jupyter 使用、离线模式与远程连接示例。完成以上安装与验证后即可通过 Python 客户端在浏览器中实时创建、组织并共享实验可视化。赞分享数据可视化前端【免费下载链接】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点击查看免费下载相关推荐9Router 安装部署指南全局安装、源码构建、Docker 与常见问题排查9Router 安装部署指南全局安装、源码构建、Docker 与常见问题排查 9Router 是一个开源的 AI 路由网关通过一条本地 HTTP 服务将 C人工智能LLM 网关AI 应用Habitat-Sim 从源码构建完全指南PIP 安装、CMake 构建选项与常见问题排查Habitat Sim 从源码构建完全指南PIP 安装、CMake 构建选项与常见问题排查 本篇指南聚焦于 Facebook AI Research 的 Ha人工智能具身智能3D渲染物理引擎机器人ManiSkill 安装完全指南pip 安装、Docker 部署、Vulkan 配置与故障排查ManiSkill 安装完全指南pip 安装、Docker 部署、Vulkan 配置与故障排查 本文是 ManiSkillManipulation Skil机器人具身智能人工智能强化学习深度学习上一篇Semantic-UI-React动画效果实现Transition组件全解析下一篇Apache Druid多数据源联合查询终极指南跨集群数据聚合实现方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考