LaTeX tikz 画神经网络结构图
画图代码如下:
%!TEX TS-program = xeLaTeX
%!TEX encoding = UTF-8 Unicode
documentclass[10pt,tikz,border=1]{standalone}
PassOptionsToPackage{noopticals, mathlf, roundv}{MinionPro}
usetikzlibrary{arrows.meta}
usetikzlibrary{calc,positioning}
usetikzlibrary{
arrows,
decorations.pathmorphing,
backgrounds,
fit,
positioning,
petri}
egin{document}
egin{tikzpicture}[%
>={Latex[width=2mm,length=2mm]},
base/.style = {
minimum width=1cm,
minimum height=0.5cm,
text centered,
font=sffamily},
neuron1/.style={
circle,
draw,
inner sep=0pt,
minimum size=8mm},
activityStarts/.style = {
base,
fill=blue!30},
zol/.style = {
rectangle,
rounded corners,
draw=black,
minimum width=4cm,
minimum height=1cm,
text centered,
font=sffamily}
]
foreach y in {3,...,1}
ode (ly) [neuron1] at (-2.5, 1.5+y * 1) {$a_{y}$};
foreach y in {6,...,1}
ode (my) [neuron1] at (0, y * 1) {$b_{y}$};
foreach y in {6,...,1}
ode (ny) [neuron1] at (2.5, y * 1) {$c_{y}$};
foreach y in {5,...,1}
ode (ry) [neuron1] at (5, 1+y * 1) {$d_{y}$};
foreach y in {4,...,1}
ode (py) [neuron1] at (7.5, 1+y * 1) {$e_{y}$};
foreach y in {4,...,1}
ode (qy) [neuron1] at (9.5, 1+y * 1) {$f_{y}$};
ode (a0) [zol,activityStarts,right=of q4,xshift=0.5cm, yshift=0.5cm] {$z = x+y
$};
ode (a1) [zol,activityStarts,right=of q4,xshift=0.5cm,yshift=-0.5cm] {$z = x+y$};
ode (a2) [zol,activityStarts,right=of q4,xshift=0.5cm,yshift=-1.5cm] {$z = x+y$};
ode (a3) [zol,activityStarts,right=of q4,xshift=0.5cm,yshift=-2.5cm] {$z = x+y$};
ode (a4) [zol,activityStarts,right=of q4,xshift=0.5cm,yshift=-3.5cm] {$z = x+y$};
foreach x in {3,...,1}
foreach y in {6,...,1}
draw[-] (lx) to (my);
foreach x in {6,...,1}
foreach y in {6,...,1}
draw[-] (mx) to (ny);
foreach x in {6,...,1}
foreach y in {5,...,1}
draw[-] (nx) to (ry);
egin{scope}[on background layer]
ode (back1) [fill = black!10, rounded corners, fit =(m1)(m2)(m3)(m4)(m5)(m6)(n1)(n2)(n3)(n4)(n5)(n6)] {};
end{scope}
foreach x in {5,...,1}
foreach y in {4,...,1}
draw[-] (rx) to (py);
foreach x in {4,...,1}
foreach y in {4,...,1}
draw[-] (px) to (qy);
foreach x in {4,...,1}
foreach y in {1.5, 2.5, 3.5, 4.5, 5.5}
draw (qx) -- (11.4,y);
end{tikzpicture}
end{document}
编译结果如下:
