mcpField
V
VisualTorch

VisualTorch

本地服务
visualtorch.readthedocs.io开发工具3422 周前更新

关于 VisualTorch

VisualTorch 用于渲染基于 PyTorch 的神经网络架构图,支持 flow、graph 和 LeNet 风格,并可生成动画 GIF。适合需要可视化模型结构的研究人员和开发者。

主要功能

  1. 01支持 Sequential 与 Custom 模型
  2. 02flow、graph、lenet 三种图示风格
  3. 03生成动画 GIF 逐层展示模型
  4. 04可选的 stdio MCP 服务
  5. 05输出 PNG 静态图像与结构化元数据

适用场景

  1. 01为论文或文档绘制 PyTorch 模型结构图
  2. 02通过 MCP 客户端从可信模型源码生成架构图
  3. 03生成动画展示模型逐层数据流

MCP 相关

VisualTorch 提供可选的 stdio MCP 服务,暴露图示生成工具、文档资源及超时控制,可从 PyTorch 模型源码生成 PNG 图与 GIF。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"willyfh-visualtorch": {
"command": "uvx",
"args": [
"visualtorch"
]
}
}
}
启动命令uvx visualtorch

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypivisualtorch1.4.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

VisualTorch

python pytorch Downloads Run Tests Documentation Status

VisualTorch 旨在帮助可视化基于 Torch 的神经网络架构。目前,它支持为 PyTorch Sequential 和自定义模型生成流程风格、图形风格和 LeNet 风格的架构图。其最初的可视化风格受到 visualkeras、pytorchviz、pytorch-summary 和 torchview 的启发;此后,它发展出了统一的追踪后端和架构处理逻辑,功能远超最初的设计。

注意: 1.0+ 是一次包含不兼容 API 变更的重大版本更新,但功能和算法都有显著改进——建议升级。若要使用旧版 API,请使用 0.2.5 或更早版本。

局限性: VisualTorch 会追踪一次真实的前向传播来生成图表,因此存在任何基于追踪的方法都固有的局限性(这不是错误,也无法在不进行完整符号执行的情况下解决):具有依赖数据的控制流的模型(例如,只有在张量值超过某个阈值时才会执行的分支)只会显示追踪时虚拟输入所经过的分支。另一方面,返回多个有意义的输出张量的层(例如自定义多任务输出头,或 nn.LSTM 的 (output, (h_n, c_n)))仍然只会根据第一个张量确定节点大小;设置 show_dimension=True 时,标签会显示每个输出张量的形状,而不只显示第一个。无论哪种情况,下游连接都是正确的。欢迎贡献!

VisualTorch 示例

动画揭示

每种风格也都可以渲染为动画 GIF,逐层或逐列揭示模型, 使用 visualtorch.animate(model, input_shape, style=...) 即可——请查看 流程、 图形 和 lenet 风格的实际效果。

VisualTorch 动画示例

文档

在线文档请访问 visualtorch.readthedocs.io。

文档包含使用示例、API 参考以及其他实用信息。

安装

请参阅安装页面。

MCP 集成

VisualTorch 包含一个可选且与客户端无关的 stdio MCP 服务,可根据 PyTorch 模型源代码生成静态 PNG 图表和动态 GIF 展示。它提供能力发现、结构化输出元数据、文档资源、子进程超时,以及全部三种规范 样式(graph、flow 和 lenet)。使用 pip install "visualtorch[mcp]" 安装,并参阅 MCP 集成指南,了解工具架构、通用 stdio 配置、示例以及可信代码安全边界。 无需安装特定客户端的插件或扩展。

用于研究

VisualTorch 已用于已发表的研究成果,包括发表于 Nature、IEEE 和 MDPI 的作品。

完整列表请参阅研究展示页面。

在研究中使用了 VisualTorch、用它构建了某些内容,或者发现了引用它的论文?告诉我们,或提交拉取请求直接添加相关信息——我们很乐意了解。

示例

请参阅用法示例页面。

贡献

欢迎按照此指南提交拉取请求,为本项目做出贡献。

发布版本

有关发布方法和周期,请参阅 GOVERNANCE.md;有关过往发布版本,请参阅 PyPI 发布历史。

许可证

本项目根据 MIT 许可证的条款以开源形式提供。

本项目最初基于 visualkeras(采用 MIT 许可证),并参考 pytorchviz、pytorch-summary 和 torchview 进行了其他修改;这些项目同样采用 MIT 许可证。

引用

如果本项目对您的研究有所帮助,请在发表成果时引用本项目。

**注意:**以下论文描述的是截至其发表日期(2024 年)的 VisualTorch。此后,项目进行了大幅重构,包括不兼容的 API 变更(当前 API 请参阅文档)。DOI 始终指向实际经过评审并发表的内容。

@article{Hendria2024,
  doi = {10.21105/joss.06678},
  url = {https://doi.org/10.21105/joss.06678},
  year = {2024},
  publisher = {The Open Journal},
  volume = {9},
  number = {102},
  pages = {6678},
  author = {Willy Fitra Hendria and Paul Gavrikov},
  title = {VisualTorch: Streamlining Visualization for PyTorch Neural Network Architectures},
  journal = {Journal of Open Source Software}
}

Star 历史

Star 历史图表

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。