Tikz 中的深度学习和 FEM 图

Tikz 中的深度学习和 FEM 图

一年多以前,我发表了以下开源文章:https://www.sciencedirect.com/science/article/pii/S0045782521007374

目前,我正在撰写我的博士论文,其中涉及此类文章。我想改进上述出版物图 1 中给出的草图/图表,如下所示:

原始出版物中的图 1

由于我的论文中包含的所有其他图形都是 Tikz 格式的,因此我也希望这幅图采用这种优雅的格式。但是,我发现这真的非常困难!我想要一个可重现的代码来输入到我的论文中,以便根据论文的排版风格生成图形。

如果你们中有人能帮我完成这项任务,我将不胜感激。当然,我会在论文中写上你的名字(昵称),以表彰你的努力。

答案1

这是一个手动的、快速而简单的方法。

仅需借助3d库中的一些矩形和网格即可获得canvas is AB plane at C按键。

代码

\documentclass[tikz]{standalone}
\usetikzlibrary{3d, shapes.arrows}
\begin{document}
\begin{tikzpicture}[
  line join=round,
  z=(135:.8cm), sh/.style={shift={(0,0,#1)}},
  sides/.style={fill=lightgray}]
\sffamily
\foreach \i in {4, 3, 2, 1}{
  \tikzset{sh=\i}
  \fill[white] (0,0) rectangle coordinate(@) (3,2);
  \draw[line cap=rect, xstep=3/(2^\i), ystep=2/(2^\i)] (0,0) grid (3,2);
}
\node[below] at (@|-0,0) {FEM refinements};

\tikzset{shift=(right:7)}

\foreach \i in {4, 3, 2, 1}{
  \tikzset{sh=\i}
  \draw[sides, canvas is yz plane at x=0]
    (0,0) rectangle (1.5,.5) coordinate (@);
  \draw[sides, canvas is xz plane at y=1.5]
    (@) rectangle node[transform shape, yscale=.75] {Layer \i}
                  (4,0) coordinate (@);
  \draw[fill=white] (0,0) rectangle coordinate(@) (@);
}
\node[below] at (@|-0,0) {NN layers};

\node[single arrow, draw, fill=white, minimum height=3cm,
      canvas is yz plane at x=0, rotate=90] at (0, .75, 2.75) {};
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容