神经网络架构图的标注惯例
- 张量形状标签:在每个模块后面印出输出形状,全图只用一种格式,例如图像用 H×W×C,序列用 (batch, seq_len, d_model)。
- 跳跃连接:残差连接和 U-Net 的跳跃连接画成弧线或虚线箭头,并汇入一个可见的合并节点,相加标 ⊕,拼接则标注“concat”。
- 重复模块:只画一份,放在方括号或外框里并标出 ×N,例如六层 Transformer 编码器写“×6”,不要叠六份一样的。
- 按层类型配色:为卷积层、池化层、归一化层、注意力层和全连接层各分配一种颜色,并加上图例。不要只靠颜色区分,标签上仍然要写出每一层的名称。
怎样在提示词里把架构写准确
把模型写成带箭头的有序链条,每一步后面跟上形状:“输入层 32×32×3 → 卷积层 3×3、32 个滤波器 → 32×32×32 → 最大池化 2×2 → 16×16×32”。工具会照着您写的画,所以“一个很深的 CNN”这种模糊提示只会得到模糊的图。
说明排布方向(从左到右、自下而上,还是 U 形)、哪些连接跨层、分支在哪里汇合、哪些模块会重复。措辞要紧的地方,就把标签原文用引号给出。画 CNN 架构图时,请说明要三维体块还是平面方框。
与 PlotNeuralNet、draw.io 和 NN-SVG 的比较
PlotNeuralNet 是采用 MIT 许可的项目,为架构图生成 LaTeX/TikZ 代码,并提供可选的 Python 接口,适合本来就用 LaTeX 写作、希望把图当代码管理的作者。NN-SVG 是采用 MIT 许可的参数化工具,可导出 FCNN、LeNet 和 AlexNet 风格的 SVG,模型刚好符合这几种风格时最合用。draw.io 是采用 Apache 2.0 许可的免费通用绘图工具,有网页版和桌面版,每个图形都能手动控制。
当架构是那些工具没有模板的类型(例如多模态模型或图模型),而您又不想写 TikZ、不想一个个方框摆位时,本工具最适合快速拿到一版精修的初稿。它的输出是 PNG 图像,不是精确的矢量几何。最近核对时间:2026 年 9 月 15 日,依据 PlotNeuralNet(github.com/HarisIqbal88/PlotNeuralNet)、NN-SVG(github.com/alexlenail/NN-SVG)和 draw.io(github.com/jgraph/drawio)的官方仓库。
发表前的核对要点
- 数一数图里的模块,和模型定义对照,包括标了 ×N 的重复堆叠。
- 重算形状:步长 2 的 2×2 池化会把高和宽各减半,4×4×128 展平后是 2048。
- 检查每条跳跃连接的起点和终点是否落在对应的层和分辨率上。
- 逐字读每个标签;图像模型可能把“LayerNorm”之类的词写错,或把数字调换。
- 让图里的名称与方法部分和代码里的名称保持一致。