LaTeX 画神经网络

LaTeX 介绍

  LaTeX 和 C、C++、Java、Python 等编程语言一样,要使用需要安装编译器,如:texlive、ctex等。再配一个文档编译器,方便写代码,如:texstudio、texmaker等。清华镜像提供了方便的安装包:https://mirrors.tuna.tsinghua.edu.cn/#

LaTeX 画一个感知器图

  代码看着很多,但很多都是重复的部分。画图主要使用 LaTeX 中的 tikz 宏包。下面是代码配着注释,(%后面的是注释内容):

% 导言部分
\documentclass{
   
   article}

% 导入tikz宏包
\usepackage{
   
   tikz}

% 正文
\begin{
   
   document}
	\begin{
   
   tikzpicture}
		% 结点样式名称/.style={
   
   形状,draw=颜色!色度,fill=填充色!色度,清晰度,minimum size=结点大小}
		[L1Node/.style={
   
   circle,draw=blue!30, fill=blue!10, very thick, minimum size=8mm},
		L2Node/.style={
   
   circle,draw=pink!50, fill=pink!20, very thick, minimum size=8mm}]
		
		% 输入特征值x
		% 函数参数:\node(结点名称)at(结点坐标){
   
   结点内容}
		\node(x_1) at (-1.5, -1){
   
   $x_0$}; 
		\node(x_2) at (-1.5, -2){
   
   $x_1$};
		\node(x_3) at (-1.5, -3){
   
   $\vdots\ $};
		\node(x_4) at (-1.5, -4){
   
   $x_n$};
		
		% 输入层结点
		% 函数参数:\foreach循环\x依次取1,2,3,4; 
		% 函数参数:\node[结点样式](结点名称)at(结点坐标){
   
   结点内容}
		\foreach \x in {
   
   1,...,4}
		\node[L1Node] (a_\x) at (0, -\x){
   
   };
		
		% 添加权值w
		\node(w1)at(1,-1.5){
   
   $w_0$};
		\node(w1)at(1,-2.1){
   
   $w_1$};
		\node(w1)at(1,-2.7){
   
   $w_2$};
		\node(w1)at(1,-3.3){
   
   $w_3$};
		
		% 激活函数f(x)
		\node(v)at(3.6,-2){
   
   $f(\sum w_ix_i)$};
		
		% 输出结点
		\node[L2Node] (b_1) at (2.5
### 如何使用LaTeX绘制神经网络架构图 #### 使用`TikZ`包绘制神经网络架构图 LaTeX中的`TikZ`是一个强大的绘图工具,能够创建高质量的图形,包括神经网络架构图。通过编写特定的命令和参数,可以在文档中嵌入复杂的图像。 对于希望利用LaTeX生成神经网络图表的情况,可以采用如下方法: 安装并配置好MiKTeX环境之后,可以通过运行带有适当选项的latexmk命令来处理`.tex`文件[^1]。具体来说,为了构建一张简单的两层前馈神经网络示意图,下面给出了一段基本的例子代码: ```latex \documentclass{article} \usepackage{tikz} % 定义节点样式 \tikzset{ neuron/.style={circle,draw=black!50,fill=blue!20,minimum size=1cm}, input neuron/.style={neuron, fill=green!20}, output neuron/.style={neuron, fill=red!20}, hidden neuron/.style={neuron, fill=purple!20}, annot/.style={text width=4em, text centered} } \begin{document} \begin{figure}[h] \centering \begin{tikzpicture}[x=.5cm,y=.5cm] % 输入层 \node[input neuron] (I-1) at (0,-1) {}; \node[input neuron] (I-2) at (0,-2) {}; % 隐藏层 \node[hidden neuron] (H-1) at (3,-1) {}; \node[hidden neuron] (H-2) at (3,-2) {}; % 输出层 \node[output neuron] (O-1) at (6,-1.5) {}; % 连接输入到隐藏层 \foreach \source in {1,...,2}{ \foreach \dest in {1,...,2}{ \path (I-\source) edge[-stealth] (H-\dest); } } % 连接隐藏层到输出层 \foreach \source in {1,...,2}{ \path (H-\source) edge[-stealth] (O-1); } % 添加标签 \node[annot,left of=I-1,node distance=1cm] (in-label) {Input Layer}; \node[annot,right of=O-1,node distance=1cm] (out-label) {Output Layer}; \end{tikzpicture} \caption{A simple feedforward neural network with one hidden layer.} \label{fig:simple_nn} \end{figure} \end{document} ``` 这段代码展示了如何定义不同类型的神经元(如输入、隐藏和输出),并通过循环语句简化了连接线的绘制过程。最终效果是一张清晰直观的单隐含层全连接神经网络模型图。 除了手动编码之外,还有其他途径可以帮助更便捷地制作此类图表。例如,某些编程语言提供了专门用于此目的的库或框架;像Python下的`conx`库就允许调用`net.picture()`函数快速获得可视化的结果[^3]。另外,也有开源项目专注于解决这个问题,比如GitHub上的PlotNeuralNet项目,它特别适合用来描绘CNNs等复杂结构[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值