当前位置:首页 > 使用样例 > 绘图

这 LaTeX 代码轻松绘制神经网络图美出新高度
上传时间:2025-05-19 21:38:39
  • 这 LaTeX 代码轻松绘制神经网络图美出新高度
作品简介

该项目是一个简单的 LaTeX 脚本,旨在生成多层感知机(MLP)结构的神经网络图。用户只需定义每一层的神经元数量,脚本即可自动绘制出完整的网络结构图,包括输入层、隐藏层和输出层。

GitHub项目—— https://github.com/WilliamPsc/Neural-Network-Diagram-Generator

项目亮点

  1. 可定制架构:能自由定义每层神经元数量,轻松打造专属神经网络结构。
  2. 权重可视化:能以不同样式展示正、负和假负权重,让权重情况一目了然。
  3. 索引显示随心选:可以选择是否显示权重上的索引数字,满足多样化需求。
  4. 自动布局:神经元和连接会自动定位,图表清晰易读。
  5. 偏置展示灵活:既能显示偏置索引,也能显示偏置值。

使用步骤

定义网络架构

通过修改\networkShape变量来设置每层的神经元数量。例如:

\def\networkShape{4,5,5,3}

这表示一个包含4个输入神经元、两个各5个神经元的隐藏层和3个输出神经元的网络。

自定义权重部分

  • 更新\positiveWeights\negativeWeights\falseNegativeWeights变量,指定各权重的正负情况。未列入的权重将被分类为“无符号”。
  • 通过\weightValues变量定义权重值,在图中可选择显示索引或值。

显示设置

  • \displayIndex控制是否显示权重索引。
  • displayBias\displayBiasValue设置偏置项的显示方式。

生成文本内容

可以在脚本末尾修改图示标题。默认显示网络结构和参数数量。

编译文档

使用支持Tikz的LaTeX编辑器,运行以下命令生成图示:

pdflatex neural_network.tex

示例

定义一个网络架构为4-5-5-3的网络,指定部分权重的正负情况并显示索引:

% Define the network architecture as an array
% Each element represents the number of neurons in that layer
\def\networkShape{4,5,5,3}

% Weights signs
\def\positiveWeights{0,1,2,3,4}
\def\negativeWeights{5,6,7,8,9}
\def\falseNegativeWeights{10,11,12,13,14}

% Values of all model weights
\def\weightValues{}

% Display the index number or not (0 no / 1 yes)
\pgfmathsetmacro{\displayIndex}{1}

就可以得到示例图

暂无评论

  •  777
  •  3
  •  0