latex 画复杂的神经网络流程图(处理图像或点云的网络架构图)

这篇博客介绍了如何利用LaTeX的TikZ包绘制机器视觉模型的网络架构,包括图像输入、特征提取、注意力模块等,并展示了将外部图片与TikZ代码结合的方法。此外,还详细解释了注意力系数的生成过程,分为边注意力和邻居注意力,用于评估边特征和邻居特征对中心点的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 使用神经网络做机器视觉,如图像识别和分类,点云的融合,分类和分割。经常要画自己work的架构图,当然有很多可以用的工具,如visio等。但是我们大多时候会使用latex或者cTex来编辑我们的论文。如果架构图作为图片包含在文档,显得有点格格不入。其次网络图重做也要借助其他工具,这里我们尝试使用latex的tikz画一个网络架构图。如下

需要 \usepackage{tikz}

\begin{figure}[H]
		\begin{center}
			\begin{tikzpicture}[scale=0.75]
			\node [rectangle,fill=red!0,rotate=90] (in) at (0.0,3) {\scriptsize{Input PointCloud}};			
			\node [rectangle,fill=green!50,rotate=90] (input) at (0.5,3) {\footnotesize{N$\times$3}};
			\node [rectangle,fill=orange!40,minimum width=2.25cm, minimum height=3cm] (ATM) at (2.75,3) {};
			\coordinate (conect1) at (1.1,3);
			\node [rectangle,fill=cyan!50,minimum width=1.5cm, minimum height=0.5cm] (ATM1) at (2.75,4.5) {\footnotesize{SRFGAT$_1$}};
			\node [rectangle,fill=cyan!50,minimum width=1.5cm, minimum height=0.5cm] (ATM2) at (2.75,3.5) {\footnotesize{SRFGAT$_2$}};
			\node [rectangle,fill=cyan!50,minimum width=1.5cm, minimum height=0.5cm] (ATM3) at (2.75,2.5) {$\cdots$};
			\node [rectangle,fill=cyan!50,minimum width=1.5cm, minimum height=0.5cm] (ATM4) at (2.75,1.5) {\footnotesize{SRFGAT$_M$}};
			
			\draw [-,color=black,line width=0.8pt] (input)-- (conect1);
			\draw [->,color=black,line width=0.8pt] (conect1)|- (ATM1);
			\draw [->,color=black,line width=0.8pt] (conect1)|- (ATM2);
			\draw [->,color=black,line width=0.8pt] (conect1)|- (ATM3);
			\draw [->,color=black,line width=0.8pt] (conect1)|- (ATM4);
			
			\coordinate (connect2) at (4.35,5.5);	
			\draw [-,color=magenta,line width=0.8pt] (ATM1)-| (connect2);
			\draw [-,color=magenta,line width=0.8pt] (ATM2)-| (connect2);
			\draw [-,color=magenta,line width=0.8pt] (ATM3)-| (connect2);
			\draw [-,color=magenta,line width=0.8pt] (ATM4)-| (connect2);
			
			\node[circle, fill=blue!40, inner sep=0.5pt,label=above:\footnotesize{Concat}] (otimes1) at (9.0,5.5) {$\|$};
			\draw [->,color=magenta,line width=0.8pt] (connect2)--node [above, color=black] {\tiny{edge-features}} (otimes1);
			
			\node [rectangle,fill=blue!40,minimum width=2.5cm, minimum height=0.2cm,rotate=90] (concat) at (5.21,3) {\footnotesize{$\|$~~Concat}};
			\coordinate (pc1) at (4.9,4.5);
			\coordinate (pc2) at (4.9,3.5);
			\coordinate (pc3) at (4.9,2.5);
			\coordinate (pc4) at (4.9,1.5);
			
			\draw [->,color=black,line width=0.75pt] (ATM1)-- (pc1);
			\draw [->,color=black,line width=0.75pt] (ATM2)-- (pc2);
			\draw [->,color=black,line width=0.75pt] (ATM3)-- (pc3);
			\draw [->,color=black,line width=0.75pt] (ATM4)-- (pc4);
			
			\node [rectangle,fill=cyan!50,minimum width=0.75cm, minimum height=0.25cm] (MLP1) at (6.6,3) {\footnotesize{MLP}};	
			\node [rectangle,fill=cyan!50,minimum width=0.75cm, minimum height=0.25cm] (MLP2) at (8.25,3) {\footnotesize{MLP}};	
			\node [rectangle,fill=cyan!50,minimum width=0.75cm, minimum height=0.25cm] (MLP3) at (10.05,3) {\footnotesize{MLP}};
			\node [rectangle,fill=cyan!50,minimum width=0.75cm, minimum height=0.25cm] (MLP4) at (11.85,3) {\footnotesize{MLP}};	
			\draw [->,color=black,line width=0.75pt] (concat)-- (MLP1);	
			\draw [->,color=black,line width=0.75pt] (MLP1)-- (MLP2);
			\draw [->,color=black,line width=0.75pt] (MLP2)-- (MLP3);
			\draw [->,color=black,line width=0.75pt] (MLP3)-- (MLP4);
			
			\node[circle, fill=blue!40, inner sep=0.5pt,label=below:\footnotesize{Concat}] (otimes2) at (13.25,3) {$\|$};
			\draw [->,color=black,line width=0.75pt] (MLP4)-- (otimes2);
			\draw [->,color=magenta,line width=0.8pt] (otimes1)-| (otimes2);
			\draw[line width=0.8pt,,color=black, ->] (MLP1) ..controls(8.75,5.2) and (11.0,4.5).. (otimes2);
			\draw[line width=0.8pt,,color=black, ->] (MLP2) ..controls(9.75,4.75) and (11.0,4.5).. (otimes2);
			\draw[line width=0.8pt,,color=black, ->] (MLP3) ..controls(10.5,4.5) and (11.5,4.2).. (otimes2);
			
			\node [rectangle,fill=cyan!50,minimum width=0.75cm, minimum height=0.25cm] (MLP5) at (14.5,3) {\footnotesize {MLP}};
			
			\draw [->,color=black,line width=0.75pt] (otimes2)-- (MLP5);
			
			\node [rectangle,fill=cyan!50,minimum width=3cm, minimum height=0.2cm,rotate=90] (o1) at (15.85,3) {\footnotesize{N$\times$1024}};
			
			\draw [->,color=black,line width=0.75pt] (MLP5) --  (o1);	
			
			\node [rectangle,fill=cyan!50,minimum width=3cm, minimum height=0.2cm,rotate=90] (1024) at (17.55,3) {\footnotesize{1024}};
			\coordinate (po2-1) at (17.8,4.5);
			\coordinate (po2-2) at (17.8,3.8);
			\coordinate (po2-3) at (17.8,3.3);
			\coordinate (po2-4) at (17.8,2.6);
			\coordinate (po2-5) at (17.8,1.9);
			\coordinate (po2-6) at (17.8,1.4);
			
			\draw [->,color=black,line width=0.8pt] (o1)--node [above] {\tiny{$\begin{matrix} \text{Max}\\\text{pooling} \end{matrix}$}} (1024);
			
			
			\node [rectangle,fill=orange!40,minimum width=2.0cm, minimum height=3cm] (MLP-union) at (19.5,3) {};
			\node [rectangle,rounded corners=1mm,fill=cyan!0,minimum width=1.5cm, minimum height=0.25cm] (mlp1) at (19.5,4.5) {\footnotesize{MLP}};
			\node [rectangle,rounded corners=1mm, fill=cyan!50,minimum width=1.5cm, minimum height=0.25cm] (mlp2) at (19.5,3.8) {};
			\node [rectangle,rounded corners=1mm,fill=cyan!50,minimum width=1.5cm, minimum height=0.25cm] (mlp3) at (19.5,3.3) {};
			\node [rectangle,rounded corners=1mm,fill=cyan!0,minimum width=1.5cm, minimum height=0.25cm] (mlp4) at (19.5,2.6) {\footnotesize{shared}};
			\node [rectangle,rounded corners=1mm,fill=cyan!50,minimum width=1.5cm, minimum height=0.25cm] (mlp5) at (19.5,1.9) {};
			\node [rectangle,rounded corners=1mm,fill=cyan!50,minimum width=1.5cm, minimum height=0.25cm] (mlp6) at (19.5,1.4) {};
			
			\draw [->,color=black,line width=0.75pt] (po2-2)-- (mlp2);
			\draw [->,color=black,line width=0.75pt] (po2-3)-- (mlp3);
			\draw [->,color=black,line width=0.75pt] (po2-5)-- (mlp5);
			\draw [->,color=black,line width=0.75pt] (po2-6)-- (mlp6);
			\draw [dotted,color=black,line width=0.75pt] (mlp3)-- (mlp4);
			\draw [dotted,color=black,line width=0.75pt] (mlp4)-- (mlp5);
			
			\node [rectangle,fill=red!50,minimum width=3cm, minimum height=0.2cm,rotate=90] (o3) at (21.5,3) {\footnotesize{Classification}};
			\coordinate (po3-1) at (21.25,4.5);
			\coordinate (po3-2) at (21.25,3.8);
			\coordinate (po3-3) at (21.25,3.3);
			\coordinate (po3-4) at (21.25,2.6);
			\coordinate (po3-5) at (21.25,1.9);
			\coordinate (po3-6) at (21.25,1.4);
			
			\draw [<-,color=black,line width=0.75pt] (po3-2)-- (mlp2);
			\draw [<-,color=black,line width=0.75pt] (po3-3)-- (mlp3);
			\draw [<-,color=black,line width=0.75pt] (po3-5)-- (mlp5);
			\draw [<-,color=black,line width=0.75pt] (po3-6)-- (mlp6);		
			\end{tikzpicture}
		\end{center}
		\caption{The architecture of classification. In this framework, it takes $N$ points as input and applies $M$ individual SRFGAT-modules to obtain multi-attention features on  multi local graphs, then the output features are recast by means of five shared MLP layers and attention pooling layer, respectively. Finally, a shared full-connected layer is employed to form a global feature, then obtained classification scores for c categories.}
		\label{myNet}
	\end{figure}

上面是纯粹的tex代码生成的图,当然我们也可以使用tex代码生成的图和外部图片结合的方式完成我们的工作,以节约工作量。 

\begin{figure}[H]
		\begin{center}
			\usetikzlibrary{decorations.text}
			\begin{tikzpicture}[scale=0.75]	
			\node at (-5,0){\includegraphics[scale=0.125]{figures/tuzi.jpg}}; % 根据路径插入自己的图片
			\coordinate (tuzi1) at (-3.25, 0.0);			
			\coordinate (tuzi2) at (-2.5, 0.0);
			\path[-stealth, line width=1.5pt] (tuzi1) edge [double] (tuzi2);	
			
			\node[circle, fill=red!100,inner sep=2pt] (pi) at (-0.75,0){$p_i$};
			\node[circle, fill=blue!50,inner sep=2pt] (pi2) at (0.75,1){$p_{i2}$};
			\node[circle, fill=blue!50,inner sep=2pt] (pi6) at (-2.25,1){$p_{i6}$};
			\node[circle, fill=blue!50,inner sep=2pt] (pi3) at (0.75,-1){$p_{i3}$};
			\node[circle, fill=blue!50,inner sep=2pt] (pi5) at (-2.25,-1){$p_{i5}$};
			\node[circle, fill=blue!50,inner sep=2pt] (pi1) at (-0.75,2.0){$p_{i1}$};
			\node[circle, fill=blue!50,inner sep=2pt] (pi4) at (-0.75,-2.0){$p_{i4}$};
			
			\draw[line width=0.9pt,color=magenta,->] (pi1) --node[left, xshift=1mm, yshift=1mm]{$e_{i1}$} (pi);
			\draw[line width=0.9pt,color=magenta,->] (pi2) --node[above, xshift=-1mm]{$e_{i2}$} (pi);
			\draw[line width=0.9pt,color=magenta,->] (pi3) --node[above, xshift=1mm, yshift=-1mm]{$e_{i3}$} (pi);
			\draw[line width=0.9pt,color=magenta,->] (pi4) --node[right, xshift=-1mm, yshift=-1mm]{$e_{i4}$} (pi);
			\draw[line width=0.9pt,color=magenta,->] (pi5) --node[below, xshift=1mm]{$e_{i5}$} (pi);
			\draw[line width=0.9pt,color=magenta,->] (pi6) --node[below, xshift=-1mm, yshift=1mm]{$e_{i6}$} (pi);
			
			\node[circle, fill=red!50,inner sep=0.1pt] (new-edge1) at (3.25,4.75){\scriptsize$e'_{i1}$};
			\node[circle, fill=red!50,inner sep=0.1pt] (new-edge2) at (3.25,4.0){\scriptsize$e'_{i2}$};
			\node[circle, fill=red!50,inner sep=0.1pt] (new-edge3) at (3.25,3.25){\scriptsize$e'_{i3}$};
			\node[circle, fill=red!50,inner sep=0.1pt] (new-edge4) at (3.25,2.5){\scriptsize$e'_{i4}$};
			\node[circle, fill=red!50,inner sep=0.1pt] (new-edge5) at (3.25,1.75){\scriptsize$e'_{i5}$};
			\node[circle, fill=red!50,inner sep=0.1pt] (new-edge6) at (3.25,1.0){\scriptsize$e'_{i6}$};
			
			\node[circle, fill=red!50,inner sep=0.5pt] (edge1) at (3.25,-0.25){\scriptsize$e_{i1}$};
			\node[circle, fill=red!50,inner sep=0.5pt] (edge2) at (3.25,-1.0){\scriptsize$e_{i2}$};
			\node[circle, fill=red!50,inner sep=0.5pt] (edge3) at (3.25,-1.75){\scriptsize$e_{i3}$};
			\node[circle, fill=red!50,inner sep=0.5pt] (edge4) at (3.25,-2.5){\scriptsize$e_{i4}$};
			\node[circle, fill=red!50,inner sep=0.5pt] (edge5) at (3.25,-3.25){\scriptsize$e_{i5}$};
			\node[circle, fill=red!50,inner sep=0.5pt] (edge6) at (3.25,-4.0){\scriptsize$e_{i6}$};
			
			\coordinate (point0) at (1.25, 0.25);		
			\coordinate (point1) at (2.75, 2.75);
			\coordinate (point2) at (1.25, 0.0);		
			\coordinate (point3) at (2.75, -2.25);						
			\coordinate (resnet1) at (3.75, 2.75);			
			\coordinate (resnet2) at (5.75, 2.75);			
			\coordinate (resnet3) at (3.75, -2.25);			
			\coordinate (resnet4) at (5.75, -2.25);
			
			\path[-stealth, line width=1.5pt] (point0) edge [double] (point1);	
			\path[-stealth, line width=1.5pt] (point2) edge [double] (point3);		
			\path[-stealth, line width=1.5pt] (resnet1) edge [double]  node [above, rotate=0] {\small $\begin{matrix} \text{edges}\\ \text{attention} \end{matrix}$} (resnet2);			
			\path[-stealth, line width=1.5pt] (resnet3) edge [double]  node [below, rotate=0] {\small $\begin{matrix} \text{neighbors}\\ \text{attention} \end{matrix}$} (resnet4);
			%			\path[decorate,decoration={text along path,text={edge atten}}] (resnet1) --  (resnet2);
			%			\path[-stealth, line width=1.5pt] (resnet1) edge [double]  (resnet2);			
			%			\path[-stealth, line width=1.5pt] (resnet3) edge [double]  node [below, yshift=-3mm] {neighbor-attention} (resnet4);
			
			%           ---------------------------------------------------------------------------------------------------------------------		
			\node[circle, fill=green!60,inner sep=3pt] (x0) at (6, 4) {};
			\node[circle, fill=green!60,inner sep=3pt] (x1) at (6, 3.5) {};
			\node[circle, inner sep=1pt] (x2) at (6, 3) {$\vdots$};	
			\node[circle, fill=green!60,inner sep=3pt] (x3) at (6, 2.25) {};
			\node[circle, fill=green!60,inner sep=3pt] (x4) at (6, 1.75) {};		
			
			
			\node[circle, fill=cyan!70,inner sep=3pt] (h10) at (7.5, 4.25) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h11) at (7.5, 3.75) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h12) at (7.5, 3.25) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h13) at (7.5, 2.75) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h14) at (7.5, 2.25) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h15) at (7.5, 1.75) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h16) at (7.5, 1.25) {};
			
			\draw[line width=0.8pt,-] (x0) --  (h10);
			\draw[line width=0.8pt,-] (x0) --  (h11);
			\draw[line width=0.8pt,-] (x0) --  (h12);
			\draw[line width=0.8pt,-] (x0) --  (h13);
			\draw[line width=0.8pt,-] (x0) --  (h14);
			\draw[line width=0.8pt,-] (x0) --  (h15);
			\draw[line width=0.8pt,-] (x0) --  (h16);
			\draw[line width=0.8pt,-] (x1) --  (h10);
			\draw[line width=0.8pt,-] (x1) --  (h11);
			\draw[line width=0.8pt,-] (x1) --  (h13);
			\draw[line width=0.8pt,-] (x1) --  (h14);
			\draw[line width=0.8pt,-] (x1) --  (h15);
			\draw[line width=0.8pt,-] (x1) --  (h16);
			\draw[line width=0.8pt,-] (x3) --  (h10);
			\draw[line width=0.8pt,-] (x3) --  (h11);
			\draw[line width=0.8pt,-] (x3) --  (h13);
			\draw[line width=0.8pt,-] (x3) --  (h14);
			\draw[line width=0.8pt,-] (x3) --  (h15);
			\draw[line width=0.8pt,-] (x3) --  (h16);
			\draw[line width=0.8pt,-] (x4) --  (h10);
			\draw[line width=0.8pt,-] (x4) --  (h11);
			\draw[line width=0.8pt,-] (x4) --  (h13);
			\draw[line width=0.8pt,-] (x4) --  (h14);
			\draw[line width=0.8pt,-] (x4) --  (h15);
			\draw[line width=0.8pt,-] (x4) --  (h16);
			
			\node[circle, fill=green!60,inner sep=3pt] (y0) at (9, 4) {};
			\node[circle, fill=green!60,inner sep=3pt] (y1) at (9, 3.5) {};
			\node[circle, inner sep=1pt] (y2) at (9, 3) {$\vdots$};	
			\node[circle, fill=green!60,inner sep=3pt] (y3) at (9, 2.25) {};
			\node[circle, fill=green!60,inner sep=3pt] (y4) at (9, 1.75) {};
			
			\draw[line width=0.8pt,-] (h10) --  (y0);
			\draw[line width=0.8pt,-] (h10) --  (y1);
			\draw[line width=0.8pt,-] (h10) --  (y3);
			\draw[line width=0.8pt,-] (h10) --  (y4);
			\draw[line width=0.8pt,-] (h11) --  (y0);
			\draw[line width=0.8pt,-] (h11) --  (y1);
			\draw[line width=0.8pt,-] (h11) --  (y3);
			\draw[line width=0.8pt,-] (h11) --  (y4);
			\draw[line width=0.8pt,-] (h12) --  (y0);
			\draw[line width=0.8pt,-] (h12) --  (y1);
			\draw[line width=0.8pt,-] (h12) --  (y3);
			\draw[line width=0.8pt,-] (h12) --  (y4);
			\draw[line width=0.8pt,-] (h13) --  (y0);
			\draw[line width=0.8pt,-] (h13) --  (y1);
			\draw[line width=0.8pt,-] (h13) --  (y3);
			\draw[line width=0.8pt,-] (h13) --  (y4);
			\draw[line width=0.8pt,-] (h14) --  (y0);
			\draw[line width=0.8pt,-] (h14) --  (y1);
			\draw[line width=0.8pt,-] (h14) --  (y3);
			\draw[line width=0.8pt,-] (h14) --  (y4);
			\draw[line width=0.8pt,-] (h15) --  (y0);
			\draw[line width=0.8pt,-] (h15) --  (y1);
			\draw[line width=0.8pt,-] (h15) --  (y3);
			\draw[line width=0.8pt,-] (h15) --  (y4);
			\draw[line width=0.8pt,-] (h16) --  (y0);
			\draw[line width=0.8pt,-] (h16) --  (y1);
			\draw[line width=0.8pt,-] (h16) --  (y3);
			\draw[line width=0.8pt,-] (h16) --  (y4);
			
			\node[circle,fill=magenta!60, inner sep=2.5pt] (edgecoef) at (10.5, 3) {};
			\node at (10.5,3)[right]{edges-coef};
			
			\draw[line width=0.8pt,-] (y0) --  (edgecoef);
			\draw[line width=0.8pt,-] (y1) --  (edgecoef);
			\draw[line width=0.8pt,-] (y3) --  (edgecoef);
			\draw[line width=0.8pt,-] (y4) --  (edgecoef);	
			% ----------------------------------------------------------------------------------------
			
			\node[circle, fill=green!60,inner sep=3pt] (x00) at (6, -1) {};
			\node[circle, fill=green!60,inner sep=3pt] (x10) at (6, -1.5) {};
			\node[circle, inner sep=1pt] (x20) at (6, -2) {$\vdots$};	
			\node[circle, fill=green!60,inner sep=3pt] (x30) at (6, -2.75) {};
			\node[circle, fill=green!60,inner sep=3pt] (x40) at (6, -3.25) {};		
			
			
			\node[circle, fill=cyan!70,inner sep=3pt] (h20) at (7.5, -0.5) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h21) at (7.5, -1) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h22) at (7.5, -1.5) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h23) at (7.5, -2) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h24) at (7.5, -2.5) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h25) at (7.5, -3) {};
			\node[circle, fill=cyan!70,inner sep=3pt] (h26) at (7.5, -3.5) {};
			
			\draw[line width=0.8pt,-] (x00) --  (h20);
			\draw[line width=0.8pt,-] (x00) --  (h21);
			\draw[line width=0.8pt,-] (x00) --  (h22);
			\draw[line width=0.8pt,-] (x00) --  (h23);
			\draw[line width=0.8pt,-] (x00) --  (h24);
			\draw[line width=0.8pt,-] (x00) --  (h25);
			\draw[line width=0.8pt,-] (x00) --  (h26);
			\draw[line width=0.8pt,-] (x10) --  (h20);
			\draw[line width=0.8pt,-] (x10) --  (h21);
			\draw[line width=0.8pt,-] (x10) --  (h23);
			\draw[line width=0.8pt,-] (x10) --  (h24);
			\draw[line width=0.8pt,-] (x10) --  (h25);
			\draw[line width=0.8pt,-] (x10) --  (h26);
			\draw[line width=0.8pt,-] (x30) --  (h20);
			\draw[line width=0.8pt,-] (x30) --  (h21);
			\draw[line width=0.8pt,-] (x30) --  (h23);
			\draw[line width=0.8pt,-] (x30) --  (h24);
			\draw[line width=0.8pt,-] (x30) --  (h25);
			\draw[line width=0.8pt,-] (x30) --  (h26);
			\draw[line width=0.8pt,-] (x40) --  (h20);
			\draw[line width=0.8pt,-] (x40) --  (h21);
			\draw[line width=0.8pt,-] (x40) --  (h23);
			\draw[line width=0.8pt,-] (x40) --  (h24);
			\draw[line width=0.8pt,-] (x40) --  (h25);
			\draw[line width=0.8pt,-] (x40) --  (h26);
			
			\node[circle, fill=green!60,inner sep=3pt] (y00) at (9, -1) {};
			\node[circle, fill=green!60,inner sep=3pt] (y10) at (9, -1.5) {};
			\node[circle, inner sep=1pt] (y20) at (9, -2) {$\vdots$};	
			\node[circle, fill=green!60,inner sep=3pt] (y30) at (9, -2.75) {};
			\node[circle, fill=green!60,inner sep=3pt] (y40) at (9, -3.25) {};
			
			\draw[line width=0.8pt,-] (h20) --  (y00);
			\draw[line width=0.8pt,-] (h20) --  (y10);
			\draw[line width=0.8pt,-] (h20) --  (y30);
			\draw[line width=0.8pt,-] (h20) --  (y40);
			\draw[line width=0.8pt,-] (h21) --  (y00);
			\draw[line width=0.8pt,-] (h21) --  (y10);
			\draw[line width=0.8pt,-] (h21) --  (y30);
			\draw[line width=0.8pt,-] (h21) --  (y40);
			\draw[line width=0.8pt,-] (h22) --  (y00);
			\draw[line width=0.8pt,-] (h22) --  (y10);
			\draw[line width=0.8pt,-] (h22) --  (y30);
			\draw[line width=0.8pt,-] (h22) --  (y40);
			\draw[line width=0.8pt,-] (h23) --  (y00);
			\draw[line width=0.8pt,-] (h23) --  (y10);
			\draw[line width=0.8pt,-] (h23) --  (y30);
			\draw[line width=0.8pt,-] (h23) --  (y40);
			\draw[line width=0.8pt,-] (h24) --  (y00);
			\draw[line width=0.8pt,-] (h24) --  (y10);
			\draw[line width=0.8pt,-] (h24) --  (y30);
			\draw[line width=0.8pt,-] (h24) --  (y40);
			\draw[line width=0.8pt,-] (h25) --  (y00);
			\draw[line width=0.8pt,-] (h25) --  (y10);
			\draw[line width=0.8pt,-] (h25) --  (y30);
			\draw[line width=0.8pt,-] (h25) --  (y40);
			\draw[line width=0.8pt,-] (h26) --  (y00);
			\draw[line width=0.8pt,-] (h26) --  (y10);
			\draw[line width=0.8pt,-] (h26) --  (y30);
			\draw[line width=0.8pt,-] (h26) --  (y40);
			
			\node[circle,fill=magenta!60, inner sep=2.5pt] (neighcoef) at (10.5, -2.0) {};
			\node at (10.5,-2.0)[right]{neighors-coef};
			\draw[line width=0.8pt,-] (y00) --  (neighcoef);
			\draw[line width=0.8pt,-] (y10) --  (neighcoef);
			\draw[line width=0.8pt,-] (y30) --  (neighcoef);
			\draw[line width=0.8pt,-] (y40) --  (neighcoef);
			\end{tikzpicture}
		\end{center}
		\caption{An illustration of attention coefficients generation. The edge feature not only server as local information to center point, but also response the effect of neighbors and centroid. Edge-attention and neighbor-attention reflect the important of edge features and neighbor features to centroid, respectively.}
	\end{figure}

结果如下:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值