From b5ec7dc552158a09181bdb6a7ac74dcd512db8f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=B2=E3=81=A8=E3=82=8A=E3=81=BC=E3=81=A3=E3=81=A1?= <114558251+yeteye@users.noreply.github.com> Date: Tue, 3 Sep 2024 10:18:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0dstack=E5=9B=BE=E4=BE=8B=20(#?= =?UTF-8?q?6842)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/api/paddle/dstack_cn.rst | 6 ++++++ docs/images/api_legend/dstack.png | Bin 0 -> 28850 bytes 2 files changed, 6 insertions(+) create mode 100644 docs/images/api_legend/dstack.png diff --git a/docs/api/paddle/dstack_cn.rst b/docs/api/paddle/dstack_cn.rst index a3059c7b28d..f58573a8162 100644 --- a/docs/api/paddle/dstack_cn.rst +++ b/docs/api/paddle/dstack_cn.rst @@ -17,6 +17,12 @@ dstack :::::::::::: Tensor,与输入数据类型相同的堆叠张量。 +也可以参考下方的图示来理解 ``dstack`` 是如何对张量进行变换的。图片展示了两个个形状为 [3] 的一维张量以及两个形状为 [3, 2] 的二维张量,这些张量在深度方向上堆叠后的结果。其中,形状为 [3] 的一维张量在堆叠时会被扩展为形状为[1, 3]的二维张量。 + +.. image:: ../../images/api_legend/dstack.png + :width: 500 + :alt: 图例 + 代码示例 :::::::::::: diff --git a/docs/images/api_legend/dstack.png b/docs/images/api_legend/dstack.png new file mode 100644 index 0000000000000000000000000000000000000000..07c3d4b67a5b167e3ebd8717b65263407af6489d GIT binary patch literal 28850 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