关于 VisualTorch
VisualTorch 用于渲染基于 PyTorch 的神经网络架构图,支持 flow、graph 和 LeNet 风格,并可生成动画 GIF。适合需要可视化模型结构的研究人员和开发者。
主要功能
- 01支持 Sequential 与 Custom 模型
- 02flow、graph、lenet 三种图示风格
- 03生成动画 GIF 逐层展示模型
- 04可选的 stdio MCP 服务
- 05输出 PNG 静态图像与结构化元数据
适用场景
- 01为论文或文档绘制 PyTorch 模型结构图
- 02通过 MCP 客户端从可信模型源码生成架构图
- 03生成动画展示模型逐层数据流
MCP 相关
VisualTorch 提供可选的 stdio MCP 服务,暴露图示生成工具、文档资源及超时控制,可从 PyTorch 模型源码生成 PNG 图与 GIF。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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 时,标签会显示每个输出张量的形状,而不只显示第一个。无论哪种情况,下游连接都是正确的。欢迎贡献!

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

文档
在线文档请访问 visualtorch.readthedocs.io。
安装
请参阅安装页面。
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 历史
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。