From 77f486baf2726d5f6e95f73f44b6416918b1fddb Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Thu, 14 Apr 2022 11:41:19 +0000 Subject: [PATCH 01/20] add paddle.sparse, paddle.sparse.sparse_coo_tensor, paddle.sparse.sparse_csr_tensor --- docs/api/gen_doc.py | 1 + docs/api/index_cn.rst | 2 + docs/api/index_en.rst | 2 + docs/api/paddle/sparse/sparse_tensor_cn.rst | 116 ++++++++++++++++++++ 4 files changed, 121 insertions(+) create mode 100644 docs/api/paddle/sparse/sparse_tensor_cn.rst diff --git a/docs/api/gen_doc.py b/docs/api/gen_doc.py index f9cd434140d..edf3bad445d 100755 --- a/docs/api/gen_doc.py +++ b/docs/api/gen_doc.py @@ -472,6 +472,7 @@ def set_api_sketch(): paddle.fft, paddle.version, paddle.profiler, + paddle.sparse, ] alldict = {} diff --git a/docs/api/index_cn.rst b/docs/api/index_cn.rst index e2cc0fb783b..d72492835c6 100644 --- a/docs/api/index_cn.rst +++ b/docs/api/index_cn.rst @@ -75,3 +75,5 @@ API 文档 | paddle.vision | 视觉领域API,包括 数据集 Cifar10 、数据处理 | | | ColorJitter、常用基础网络结构 ResNet 等。 | +-------------------------------+-------------------------------------------------------+ +| paddle.sparse | 稀疏领域的API。 | ++-------------------------------+-------------------------------------------------------+ diff --git a/docs/api/index_en.rst b/docs/api/index_en.rst index 6a91a9fe574..fb0d778cce5 100644 --- a/docs/api/index_en.rst +++ b/docs/api/index_en.rst @@ -84,4 +84,6 @@ In this version, PaddlePaddle has made many optimizations to the APIs. You can r | | data processing ColorJitter, and commonly used models | | | like resnet | +-------------------------------+-------------------------------------------------------+ +| paddle.sparse | The Sparse domain API. | ++-------------------------------+-------------------------------------------------------+ diff --git a/docs/api/paddle/sparse/sparse_tensor_cn.rst b/docs/api/paddle/sparse/sparse_tensor_cn.rst new file mode 100644 index 00000000000..1f98f61388b --- /dev/null +++ b/docs/api/paddle/sparse/sparse_tensor_cn.rst @@ -0,0 +1,116 @@ +.. _cn_api_paddle_sparse_tensor: + +sparse_coo_tensor +------------------------------- + + +.. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape=None, dtype=None, place=None, stop_gradient=True) + +该API通过已知的非零元素的 ``indices`` 和 ``values`` 来创建一个coordinate格式的稀疏tensor,tensor类型为 ``paddle.Tensor``。 + +``indices`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 +``values`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 + + +如果 ``values`` 已经是一个tensor,且 ``dtype`` 、 ``place`` 没有发生变化,将不会发生 tensor 的拷贝并返回原来的 tensor。 +否则会创建一个新的tensor,且不保留原来计算图。 + +参数 +::::::::: + + - **indices** (tuple|list|ndarray|Tensor) - 初始化tensor的数据,可以是 + list,tuple,numpy\.ndarray,paddle\.Tensor类型。 + - **values** (tuple|list|ndarray|Tensor) - 初始化tensor的数据,可以是 + list,tuple,numpy\.ndarray,paddle\.Tensor类型。 + - **shape** (list|tuple, optional) - 稀疏Tensor的形状,也是Tensor的形状,如果没有提供,将自动推测出最小的形状。 + - **dtype** (str, optional) - 创建tensor的数据类型,可以是 'bool' ,'float16','float32', + 'float64' ,'int8','int16','int32','int64','uint8','complex64','complex128'。 + 默认值为None,如果 ``values`` 为python浮点类型,则从 + :ref:`cn_api_paddle_framework_get_default_dtype` 获取类型,如果 ``values`` 为其他类型, + 则会自动推导类型。 + - **place** (CPUPlace|CUDAPinnedPlace|CUDAPlace, optional) - 创建tensor的设备位置,可以是 + CPUPlace, CUDAPinnedPlace, CUDAPlace。默认值为None,使用全局的place。 + - **stop_gradient** (bool, optional) - 是否阻断Autograd的梯度传导。默认值为True,此时不进行梯度传传导。 + +返回 +::::::::: +通过 ``indices`` 和 ``values`` 创建的 稀疏Tensor。 + +代码示例 +::::::::: + +.. code-block:: python + + import paddle + from paddle.fluid.framework import _test_eager_guard + + with _test_eager_guard(): + indices = [[0, 1, 2], [1, 2, 0]] + values = [1.0, 2.0, 3.0] + dense_shape = [2, 3] + coo = paddle.sparse.sparse_coo_tensor(indices, values, dense_shape) + # print(coo) + # Tensor(shape=[2, 3], dtype=paddle.float32, place=Place(gpu:0), stop_gradient=True, + # indices=[[0, 1, 2], + # [1, 2, 0]], + # values=[1., 2., 3.]) + + +sparse_csr_tensor +------------------------------- + + +.. py:function:: paddle.sparse.sparse_csr_tensor(crows, cols, values, shape=None, dtype=None, place=None, stop_gradient=True) + +该API通过已知的非零元素的 ``crows`` , ``cols`` 和 ``values`` 来创建一个CSR(Compressed Sparse Row) 格式的稀疏tensor,tensor类型为 ``paddle.Tensor``。 + +``crows`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 +``cols`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 +``values`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 + + +如果 ``values`` 已经是一个tensor,且 ``dtype`` 、 ``place`` 没有发生变化,将不会发生 tensor 的拷贝并返回原来的 tensor。 +否则会创建一个新的tensor,且不保留原来计算图。 + +参数 +::::::::: + + - **crows** (tuple|list|ndarray|Tensor) - 每行第一个非零元素在 ``values`` 的起始位置。可以是 + list,tuple,numpy\.ndarray,paddle\.Tensor类型。 + - **cols** (tuple|list|ndarray|Tensor) - 一维数组,存储每个非零元素的列信息。可以是 + list,tuple,numpy\.ndarray,paddle\.Tensor类型。 + - **values** (tuple|list|ndarray|Tensor) - 一维数组,存储非零元素,可以是 + list,tuple,numpy\.ndarray,paddle\.Tensor类型。 + - **shape** (list|tuple, optional) - 稀疏Tensor的形状,也是Tensor的形状,如果没有提供,将自动推测出最小的形状。 + - **dtype** (str, optional) - 创建tensor的数据类型,可以是 'bool' ,'float16','float32', + 'float64' ,'int8','int16','int32','int64','uint8','complex64','complex128'。 + 默认值为None,如果 ``values`` 为python浮点类型,则从 + :ref:`cn_api_paddle_framework_get_default_dtype` 获取类型,如果 ``values`` 为其他类型, + 则会自动推导类型。 + - **place** (CPUPlace|CUDAPinnedPlace|CUDAPlace, optional) - 创建tensor的设备位置,可以是 + CPUPlace, CUDAPinnedPlace, CUDAPlace。默认值为None,使用全局的place。 + - **stop_gradient** (bool, optional) - 是否阻断Autograd的梯度传导。默认值为True,此时不进行梯度传传导。 + +返回 +::::::::: +通过 ``crows``, ``cols`` 和 ``values`` 创建的 稀疏Tensor。 + +代码示例 +::::::::: + +.. code-block:: python + + import paddle + from paddle.fluid.framework import _test_eager_guard + + with _test_eager_guard(): + crows = [0, 2, 3, 5] + cols = [1, 3, 2, 0, 1] + values = [1, 2, 3, 4, 5] + dense_shape = [3, 4] + csr = paddle.sparse.sparse_csr_tensor(crows, cols, values, dense_shape) + # print(csr) + # Tensor(shape=[3, 4], dtype=paddle.int64, place=Place(gpu:0), stop_gradient=True, + # crows=[0, 2, 3, 5], + # cols=[1, 3, 2, 0, 1], + # values=[1, 2, 3, 4, 5]) From 42e40f75e797e863f7ca34605cb034bafaea9fa0 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Fri, 15 Apr 2022 03:37:00 +0000 Subject: [PATCH 02/20] fix doc --- docs/api/paddle/sparse/sparse_tensor_cn.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/api/paddle/sparse/sparse_tensor_cn.rst b/docs/api/paddle/sparse/sparse_tensor_cn.rst index 1f98f61388b..1d056054d13 100644 --- a/docs/api/paddle/sparse/sparse_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_tensor_cn.rst @@ -18,17 +18,17 @@ sparse_coo_tensor 参数 ::::::::: - - **indices** (tuple|list|ndarray|Tensor) - 初始化tensor的数据,可以是 + - **indices** (list|tuple|ndarray|Tensor) - 初始化tensor的数据,可以是 list,tuple,numpy\.ndarray,paddle\.Tensor类型。 - - **values** (tuple|list|ndarray|Tensor) - 初始化tensor的数据,可以是 + - **values** (list|tuple|ndarray|Tensor) - 初始化tensor的数据,可以是 list,tuple,numpy\.ndarray,paddle\.Tensor类型。 - **shape** (list|tuple, optional) - 稀疏Tensor的形状,也是Tensor的形状,如果没有提供,将自动推测出最小的形状。 - - **dtype** (str, optional) - 创建tensor的数据类型,可以是 'bool' ,'float16','float32', + - **dtype** (str|np.dtype, optional) - 创建tensor的数据类型,可以是 'bool' ,'float16','float32', 'float64' ,'int8','int16','int32','int64','uint8','complex64','complex128'。 默认值为None,如果 ``values`` 为python浮点类型,则从 :ref:`cn_api_paddle_framework_get_default_dtype` 获取类型,如果 ``values`` 为其他类型, 则会自动推导类型。 - - **place** (CPUPlace|CUDAPinnedPlace|CUDAPlace, optional) - 创建tensor的设备位置,可以是 + - **place** (CPUPlace|CUDAPinnedPlace|CUDAPlace|str, optional) - 创建tensor的设备位置,可以是 CPUPlace, CUDAPinnedPlace, CUDAPlace。默认值为None,使用全局的place。 - **stop_gradient** (bool, optional) - 是否阻断Autograd的梯度传导。默认值为True,此时不进行梯度传传导。 @@ -75,19 +75,19 @@ sparse_csr_tensor 参数 ::::::::: - - **crows** (tuple|list|ndarray|Tensor) - 每行第一个非零元素在 ``values`` 的起始位置。可以是 + - **crows** (list|tuple|ndarray|Tensor) - 每行第一个非零元素在 ``values`` 的起始位置。可以是 list,tuple,numpy\.ndarray,paddle\.Tensor类型。 - - **cols** (tuple|list|ndarray|Tensor) - 一维数组,存储每个非零元素的列信息。可以是 + - **cols** (list|tuple|ndarray|Tensor) - 一维数组,存储每个非零元素的列信息。可以是 list,tuple,numpy\.ndarray,paddle\.Tensor类型。 - - **values** (tuple|list|ndarray|Tensor) - 一维数组,存储非零元素,可以是 + - **values** (list|tuple|ndarray|Tensor) - 一维数组,存储非零元素,可以是 list,tuple,numpy\.ndarray,paddle\.Tensor类型。 - **shape** (list|tuple, optional) - 稀疏Tensor的形状,也是Tensor的形状,如果没有提供,将自动推测出最小的形状。 - - **dtype** (str, optional) - 创建tensor的数据类型,可以是 'bool' ,'float16','float32', + - **dtype** (str|np.dtype, optional) - 创建tensor的数据类型,可以是 'bool' ,'float16','float32', 'float64' ,'int8','int16','int32','int64','uint8','complex64','complex128'。 默认值为None,如果 ``values`` 为python浮点类型,则从 :ref:`cn_api_paddle_framework_get_default_dtype` 获取类型,如果 ``values`` 为其他类型, 则会自动推导类型。 - - **place** (CPUPlace|CUDAPinnedPlace|CUDAPlace, optional) - 创建tensor的设备位置,可以是 + - **place** (CPUPlace|CUDAPinnedPlace|CUDAPlace|str, optional) - 创建tensor的设备位置,可以是 CPUPlace, CUDAPinnedPlace, CUDAPlace。默认值为None,使用全局的place。 - **stop_gradient** (bool, optional) - 是否阻断Autograd的梯度传导。默认值为True,此时不进行梯度传传导。 From b1e28a511c7bb00f3ed0882290df8b55e04327cf Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Mon, 18 Apr 2022 02:31:26 +0000 Subject: [PATCH 03/20] fix docs --- docs/api/paddle/sparse/sparse_tensor_cn.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/api/paddle/sparse/sparse_tensor_cn.rst b/docs/api/paddle/sparse/sparse_tensor_cn.rst index 1d056054d13..8bf07040790 100644 --- a/docs/api/paddle/sparse/sparse_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_tensor_cn.rst @@ -62,7 +62,9 @@ sparse_csr_tensor .. py:function:: paddle.sparse.sparse_csr_tensor(crows, cols, values, shape=None, dtype=None, place=None, stop_gradient=True) -该API通过已知的非零元素的 ``crows`` , ``cols`` 和 ``values`` 来创建一个CSR(Compressed Sparse Row) 格式的稀疏tensor,tensor类型为 ``paddle.Tensor``。 +该API通过已知的非零元素的 ``crows`` , ``cols`` 和 ``values`` 来创建一个CSR(Compressed Sparse Row) 格式的稀疏tensor,tensor类型为 ``paddle.Tensor`` 。 + +当前 ``sparse_csr_tensor`` 要求输入的 ``crows`` 中每个batch的数据是递增的, ``cols`` 也是递增的。 ``crows`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 ``cols`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 From cff8793f45cb8f7391f52625d4e2cbc485e1c300 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Thu, 21 Apr 2022 02:14:02 +0000 Subject: [PATCH 04/20] fix docs --- docs/api/paddle/sparse/sparse_tensor_cn.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/api/paddle/sparse/sparse_tensor_cn.rst b/docs/api/paddle/sparse/sparse_tensor_cn.rst index 8bf07040790..32cb3678c84 100644 --- a/docs/api/paddle/sparse/sparse_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_tensor_cn.rst @@ -8,8 +8,11 @@ sparse_coo_tensor 该API通过已知的非零元素的 ``indices`` 和 ``values`` 来创建一个coordinate格式的稀疏tensor,tensor类型为 ``paddle.Tensor``。 -``indices`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 -``values`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 +``indices`` 是存放坐标信息,是一个二维数组,每一列是对应非零元素的坐标,shape是 ``[sparse_dim, nnz]`` , + 其中 ``sparse_dim`` 是坐标的维度, ``nnz`` 是非零元素的个数。 + +``values`` 是存放非零元素,是一个多维数组,shape是 ``[nnz, {dense_dim}]`` , 其中nnz是非零元素个数, + ``dense_dim`` 是非零元素的维度。 如果 ``values`` 已经是一个tensor,且 ``dtype`` 、 ``place`` 没有发生变化,将不会发生 tensor 的拷贝并返回原来的 tensor。 @@ -60,7 +63,7 @@ sparse_csr_tensor ------------------------------- -.. py:function:: paddle.sparse.sparse_csr_tensor(crows, cols, values, shape=None, dtype=None, place=None, stop_gradient=True) +.. py:function:: paddle.sparse.sparse_csr_tensor(crows, cols, values, shape, dtype=None, place=None, stop_gradient=True) 该API通过已知的非零元素的 ``crows`` , ``cols`` 和 ``values`` 来创建一个CSR(Compressed Sparse Row) 格式的稀疏tensor,tensor类型为 ``paddle.Tensor`` 。 From 217d5350108cd05b9a55555e6a2e0e5c2e206f2e Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Thu, 21 Apr 2022 02:18:54 +0000 Subject: [PATCH 05/20] fix examples --- docs/api/paddle/sparse/sparse_tensor_cn.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/paddle/sparse/sparse_tensor_cn.rst b/docs/api/paddle/sparse/sparse_tensor_cn.rst index 32cb3678c84..73bcabe9392 100644 --- a/docs/api/paddle/sparse/sparse_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_tensor_cn.rst @@ -50,7 +50,7 @@ sparse_coo_tensor with _test_eager_guard(): indices = [[0, 1, 2], [1, 2, 0]] values = [1.0, 2.0, 3.0] - dense_shape = [2, 3] + dense_shape = [3, 3] coo = paddle.sparse.sparse_coo_tensor(indices, values, dense_shape) # print(coo) # Tensor(shape=[2, 3], dtype=paddle.float32, place=Place(gpu:0), stop_gradient=True, From 736b717fb5404ea74be4aa9fdef6a07574d72dae Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Thu, 21 Apr 2022 04:54:20 +0000 Subject: [PATCH 06/20] test ci --- docs/api/paddle/sparse/sparse_tensor_cn.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/paddle/sparse/sparse_tensor_cn.rst b/docs/api/paddle/sparse/sparse_tensor_cn.rst index 73bcabe9392..38dfac159b6 100644 --- a/docs/api/paddle/sparse/sparse_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_tensor_cn.rst @@ -4,7 +4,7 @@ sparse_coo_tensor ------------------------------- -.. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape=None, dtype=None, place=None, stop_gradient=True) +.. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape, dtype, place, stop_gradient) 该API通过已知的非零元素的 ``indices`` 和 ``values`` 来创建一个coordinate格式的稀疏tensor,tensor类型为 ``paddle.Tensor``。 From 6c2d4e43dc04adc4fa97c6020f4c7a452dbf5349 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Thu, 21 Apr 2022 12:32:40 +0000 Subject: [PATCH 07/20] test ci --- docs/api/paddle/sparse/sparse_tensor_cn.rst | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/docs/api/paddle/sparse/sparse_tensor_cn.rst b/docs/api/paddle/sparse/sparse_tensor_cn.rst index 38dfac159b6..734fceab726 100644 --- a/docs/api/paddle/sparse/sparse_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_tensor_cn.rst @@ -6,17 +6,6 @@ sparse_coo_tensor .. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape, dtype, place, stop_gradient) -该API通过已知的非零元素的 ``indices`` 和 ``values`` 来创建一个coordinate格式的稀疏tensor,tensor类型为 ``paddle.Tensor``。 - -``indices`` 是存放坐标信息,是一个二维数组,每一列是对应非零元素的坐标,shape是 ``[sparse_dim, nnz]`` , - 其中 ``sparse_dim`` 是坐标的维度, ``nnz`` 是非零元素的个数。 - -``values`` 是存放非零元素,是一个多维数组,shape是 ``[nnz, {dense_dim}]`` , 其中nnz是非零元素个数, - ``dense_dim`` 是非零元素的维度。 - - -如果 ``values`` 已经是一个tensor,且 ``dtype`` 、 ``place`` 没有发生变化,将不会发生 tensor 的拷贝并返回原来的 tensor。 -否则会创建一个新的tensor,且不保留原来计算图。 参数 ::::::::: From 89abaf3763c77dccf98e426069a88e802d8ec3a9 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Fri, 22 Apr 2022 07:56:46 +0000 Subject: [PATCH 08/20] test ci --- docs/api/paddle/sparse/sparse_tensor_cn.rst | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/api/paddle/sparse/sparse_tensor_cn.rst b/docs/api/paddle/sparse/sparse_tensor_cn.rst index 734fceab726..fef06a919fd 100644 --- a/docs/api/paddle/sparse/sparse_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_tensor_cn.rst @@ -4,8 +4,19 @@ sparse_coo_tensor ------------------------------- -.. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape, dtype, place, stop_gradient) +.. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape=None, dtype=None, place=None, stop_gradient=True) +该API通过已知的非零元素的 ``indices`` 和 ``values`` 来创建一个coordinate格式的稀疏tensor,tensor类型为 ``paddle.Tensor`` 。 + +``indices`` 是存放坐标信息,是一个二维数组,每一列是对应非零元素的坐标,shape是 ``[sparse_dim, nnz]`` , + 其中 ``sparse_dim`` 是坐标的维度, ``nnz`` 是非零元素的个数。 + +``values`` 是存放非零元素,是一个多维数组,shape是 ``[nnz, {dense_dim}]`` , 其中nnz是非零元素个数, + ``dense_dim`` 是非零元素的维度。 + + +如果 ``values`` 已经是一个tensor,且 ``dtype`` 、 ``place`` 没有发生变化,将不会发生 tensor 的拷贝并返回原来的 tensor。 +否则会创建一个新的tensor,且不保留原来计算图。 参数 ::::::::: From 0e1149d979585e95186946b65dffef11eeabb63a Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Fri, 22 Apr 2022 08:54:13 +0000 Subject: [PATCH 09/20] fix doc --- docs/api/paddle/sparse/sparse_tensor_cn.rst | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/api/paddle/sparse/sparse_tensor_cn.rst b/docs/api/paddle/sparse/sparse_tensor_cn.rst index fef06a919fd..dd23a81a919 100644 --- a/docs/api/paddle/sparse/sparse_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_tensor_cn.rst @@ -8,11 +8,9 @@ sparse_coo_tensor 该API通过已知的非零元素的 ``indices`` 和 ``values`` 来创建一个coordinate格式的稀疏tensor,tensor类型为 ``paddle.Tensor`` 。 -``indices`` 是存放坐标信息,是一个二维数组,每一列是对应非零元素的坐标,shape是 ``[sparse_dim, nnz]`` , - 其中 ``sparse_dim`` 是坐标的维度, ``nnz`` 是非零元素的个数。 +其中 ``indices`` 是存放坐标信息,是一个二维数组,每一列是对应非零元素的坐标,shape是 ``[sparse_dim, nnz]`` , ``sparse_dim`` 是坐标的维度, ``nnz`` 是非零元素的个数。 -``values`` 是存放非零元素,是一个多维数组,shape是 ``[nnz, {dense_dim}]`` , 其中nnz是非零元素个数, - ``dense_dim`` 是非零元素的维度。 +其中 ``values`` 是存放非零元素,是一个多维数组,shape是 ``[nnz, {dense_dim}]`` , nnz是非零元素个数, ``dense_dim`` 是非零元素的维度。 如果 ``values`` 已经是一个tensor,且 ``dtype`` 、 ``place`` 没有发生变化,将不会发生 tensor 的拷贝并返回原来的 tensor。 From 598f103e9789cfb84dc52730d592d3b2c943d677 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Fri, 22 Apr 2022 11:12:52 +0000 Subject: [PATCH 10/20] test ci --- ...tensor_cn.rst => sparse_coo_tensor_cn.rst} | 2 +- .../paddle/sparse/sparse_csr_tensor_cn.rst | 62 +++++++++++++++++++ 2 files changed, 63 insertions(+), 1 deletion(-) rename docs/api/paddle/sparse/{sparse_tensor_cn.rst => sparse_coo_tensor_cn.rst} (99%) create mode 100644 docs/api/paddle/sparse/sparse_csr_tensor_cn.rst diff --git a/docs/api/paddle/sparse/sparse_tensor_cn.rst b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst similarity index 99% rename from docs/api/paddle/sparse/sparse_tensor_cn.rst rename to docs/api/paddle/sparse/sparse_coo_tensor_cn.rst index dd23a81a919..3d1b9489ce6 100644 --- a/docs/api/paddle/sparse/sparse_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst @@ -1,4 +1,4 @@ -.. _cn_api_paddle_sparse_tensor: +.. _cn_api_paddle_sparse_coo_tensor: sparse_coo_tensor ------------------------------- diff --git a/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst b/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst new file mode 100644 index 00000000000..04c60ed9d80 --- /dev/null +++ b/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst @@ -0,0 +1,62 @@ +.. _cn_api_paddle_sparse_csr_tensor: + +sparse_csr_tensor +------------------------------- + + +.. py:function:: paddle.sparse.sparse_csr_tensor(crows, cols, values, shape, dtype=None, place=None, stop_gradient=True) + +该API通过已知的非零元素的 ``crows`` , ``cols`` 和 ``values`` 来创建一个CSR(Compressed Sparse Row) 格式的稀疏tensor,tensor类型为 ``paddle.Tensor`` 。 + +当前 ``sparse_csr_tensor`` 要求输入的 ``crows`` 中每个batch的数据是递增的, ``cols`` 也是递增的。 + +``crows`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 +``cols`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 +``values`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 + + +如果 ``values`` 已经是一个tensor,且 ``dtype`` 、 ``place`` 没有发生变化,将不会发生 tensor 的拷贝并返回原来的 tensor。 +否则会创建一个新的tensor,且不保留原来计算图。 + +参数 +::::::::: + + - **crows** (list|tuple|ndarray|Tensor) - 每行第一个非零元素在 ``values`` 的起始位置。可以是 + list,tuple,numpy\.ndarray,paddle\.Tensor类型。 + - **cols** (list|tuple|ndarray|Tensor) - 一维数组,存储每个非零元素的列信息。可以是 + list,tuple,numpy\.ndarray,paddle\.Tensor类型。 + - **values** (list|tuple|ndarray|Tensor) - 一维数组,存储非零元素,可以是 + list,tuple,numpy\.ndarray,paddle\.Tensor类型。 + - **shape** (list|tuple, optional) - 稀疏Tensor的形状,也是Tensor的形状,如果没有提供,将自动推测出最小的形状。 + - **dtype** (str|np.dtype, optional) - 创建tensor的数据类型,可以是 'bool' ,'float16','float32', + 'float64' ,'int8','int16','int32','int64','uint8','complex64','complex128'。 + 默认值为None,如果 ``values`` 为python浮点类型,则从 + :ref:`cn_api_paddle_framework_get_default_dtype` 获取类型,如果 ``values`` 为其他类型, + 则会自动推导类型。 + - **place** (CPUPlace|CUDAPinnedPlace|CUDAPlace|str, optional) - 创建tensor的设备位置,可以是 + CPUPlace, CUDAPinnedPlace, CUDAPlace。默认值为None,使用全局的place。 + - **stop_gradient** (bool, optional) - 是否阻断Autograd的梯度传导。默认值为True,此时不进行梯度传传导。 + +返回 +::::::::: +通过 ``crows``, ``cols`` 和 ``values`` 创建的 稀疏Tensor。 + +代码示例 +::::::::: + +.. code-block:: python + + import paddle + from paddle.fluid.framework import _test_eager_guard + + with _test_eager_guard(): + crows = [0, 2, 3, 5] + cols = [1, 3, 2, 0, 1] + values = [1, 2, 3, 4, 5] + dense_shape = [3, 4] + csr = paddle.sparse.sparse_csr_tensor(crows, cols, values, dense_shape) + # print(csr) + # Tensor(shape=[3, 4], dtype=paddle.int64, place=Place(gpu:0), stop_gradient=True, + # crows=[0, 2, 3, 5], + # cols=[1, 3, 2, 0, 1], + # values=[1, 2, 3, 4, 5]) From 684d5924c96df0448849eec8564e75482b6da823 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Fri, 22 Apr 2022 12:25:46 +0000 Subject: [PATCH 11/20] test ci --- docs/api/paddle/sparse/sparse_coo_tensor_cn.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst index 3d1b9489ce6..872a2d1f041 100644 --- a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst @@ -4,7 +4,7 @@ sparse_coo_tensor ------------------------------- -.. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape=None, dtype=None, place=None, stop_gradient=True) +.. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape, dtype, place, stop_gradient) 该API通过已知的非零元素的 ``indices`` 和 ``values`` 来创建一个coordinate格式的稀疏tensor,tensor类型为 ``paddle.Tensor`` 。 From 891fbac06ba8598d4d5e5aaa6a79aab8c8ef9651 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Sun, 24 Apr 2022 02:20:46 +0000 Subject: [PATCH 12/20] test ci --- docs/api/paddle/sparse/sparse_coo_tensor_cn.rst | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst index 872a2d1f041..cf6843646df 100644 --- a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst @@ -6,16 +6,6 @@ sparse_coo_tensor .. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape, dtype, place, stop_gradient) -该API通过已知的非零元素的 ``indices`` 和 ``values`` 来创建一个coordinate格式的稀疏tensor,tensor类型为 ``paddle.Tensor`` 。 - -其中 ``indices`` 是存放坐标信息,是一个二维数组,每一列是对应非零元素的坐标,shape是 ``[sparse_dim, nnz]`` , ``sparse_dim`` 是坐标的维度, ``nnz`` 是非零元素的个数。 - -其中 ``values`` 是存放非零元素,是一个多维数组,shape是 ``[nnz, {dense_dim}]`` , nnz是非零元素个数, ``dense_dim`` 是非零元素的维度。 - - -如果 ``values`` 已经是一个tensor,且 ``dtype`` 、 ``place`` 没有发生变化,将不会发生 tensor 的拷贝并返回原来的 tensor。 -否则会创建一个新的tensor,且不保留原来计算图。 - 参数 ::::::::: From cafd75fc5bc1d18313f1ff63c4fd375b018d2193 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Sun, 24 Apr 2022 03:09:38 +0000 Subject: [PATCH 13/20] test ci --- docs/api/paddle/sparse/sparse_coo_tensor_cn.rst | 4 ++-- docs/api/paddle/sparse/sparse_csr_tensor_cn.rst | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst index cf6843646df..4cda11c53ae 100644 --- a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst @@ -4,7 +4,7 @@ sparse_coo_tensor ------------------------------- -.. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape, dtype, place, stop_gradient) +.. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape=None, dtype=None, place=None, stop_gradient=True) 参数 ::::::::: @@ -25,7 +25,7 @@ sparse_coo_tensor 返回 ::::::::: -通过 ``indices`` 和 ``values`` 创建的 稀疏Tensor。 +通过 ``indices`` 和 ``values`` 创建的稀疏Tensor。 代码示例 ::::::::: diff --git a/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst b/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst index 04c60ed9d80..e1e4c05f626 100644 --- a/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst @@ -27,7 +27,7 @@ sparse_csr_tensor list,tuple,numpy\.ndarray,paddle\.Tensor类型。 - **values** (list|tuple|ndarray|Tensor) - 一维数组,存储非零元素,可以是 list,tuple,numpy\.ndarray,paddle\.Tensor类型。 - - **shape** (list|tuple, optional) - 稀疏Tensor的形状,也是Tensor的形状,如果没有提供,将自动推测出最小的形状。 + - **shape** (list|tuple) - 稀疏Tensor的形状,也是Tensor的形状,如果没有提供,将自动推测出最小的形状。 - **dtype** (str|np.dtype, optional) - 创建tensor的数据类型,可以是 'bool' ,'float16','float32', 'float64' ,'int8','int16','int32','int64','uint8','complex64','complex128'。 默认值为None,如果 ``values`` 为python浮点类型,则从 @@ -39,7 +39,7 @@ sparse_csr_tensor 返回 ::::::::: -通过 ``crows``, ``cols`` 和 ``values`` 创建的 稀疏Tensor。 +通过 ``crows``, ``cols`` 和 ``values`` 创建的稀疏Tensor。 代码示例 ::::::::: From d570dfbb8546bef72360a28e90086c6d6286a206 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Sun, 24 Apr 2022 03:27:48 +0000 Subject: [PATCH 14/20] add overview --- docs/api/paddle/Overview_cn.rst | 9 ++++++ .../paddle/sparse/sparse_coo_tensor_cn.rst | 32 ++++++++----------- .../paddle/sparse/sparse_csr_tensor_cn.rst | 18 +---------- 3 files changed, 23 insertions(+), 36 deletions(-) diff --git a/docs/api/paddle/Overview_cn.rst b/docs/api/paddle/Overview_cn.rst index e5b23b580dd..80e719ef478 100755 --- a/docs/api/paddle/Overview_cn.rst +++ b/docs/api/paddle/Overview_cn.rst @@ -385,3 +385,12 @@ device相关 " :ref:`paddle.Model ` ", "一个具备训练、测试、推理的神经网络" " :ref:`paddle.summary ` ", "打印网络的基础结构和参数信息" " :ref:`paddle.flops ` ", "打印网络的基础结构和参数信息" + +稀疏API相关 +:::::::::::::::::::: + +.. csv-table:: + :header: "API名称", "API功能" + :widths: 10, 30 + " :ref:`paddle.sparse.sparse_coo_tensor` ", "创建一个COO(Coordinate)格式的稀疏Tensor" + " :ref:`paddle.sparse.sparse_csr_tensor` ", "创建一个CSR(Compressed Sparse Row)格式的稀疏Tensor" diff --git a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst index 4cda11c53ae..8dcab031e7c 100644 --- a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst @@ -6,6 +6,16 @@ sparse_coo_tensor .. py:function:: paddle.sparse.sparse_coo_tensor(indices, values, shape=None, dtype=None, place=None, stop_gradient=True) +该API通过已知的非零元素的 ``indices`` 和 ``values`` 来创建一个coordinate格式的稀疏tensor,tensor类型为 ``paddle.Tensor`` 。 + +其中 ``indices`` 是存放坐标信息,是一个二维数组,每一列是对应非零元素的坐标,shape是 ``[sparse_dim, nnz]`` , ``sparse_dim`` 是坐标的维度, ``nnz`` 是非零元素的个数。 + +其中 ``values`` 是存放非零元素,是一个多维数组,shape是 ``[nnz, {dense_dim}]`` , nnz是非零元素个数, ``dense_dim`` 是非零元素的维度。 + + +如果 ``values`` 已经是一个tensor,且 ``dtype`` 、 ``place`` 没有发生变化,将不会发生 tensor 的拷贝并返回原来的 tensor。 +否则会创建一个新的tensor,且不保留原来计算图。 + 参数 ::::::::: @@ -25,7 +35,7 @@ sparse_coo_tensor 返回 ::::::::: -通过 ``indices`` 和 ``values`` 创建的稀疏Tensor。 +通过 ``indices`` 和 ``values`` 创建的 稀疏Tensor。 代码示例 ::::::::: @@ -86,24 +96,8 @@ sparse_csr_tensor 返回 ::::::::: -通过 ``crows``, ``cols`` 和 ``values`` 创建的 稀疏Tensor。 +通过 ``crows``, ``cols`` 和 ``values`` 创建的稀疏Tensor。 代码示例 ::::::::: - -.. code-block:: python - - import paddle - from paddle.fluid.framework import _test_eager_guard - - with _test_eager_guard(): - crows = [0, 2, 3, 5] - cols = [1, 3, 2, 0, 1] - values = [1, 2, 3, 4, 5] - dense_shape = [3, 4] - csr = paddle.sparse.sparse_csr_tensor(crows, cols, values, dense_shape) - # print(csr) - # Tensor(shape=[3, 4], dtype=paddle.int64, place=Place(gpu:0), stop_gradient=True, - # crows=[0, 2, 3, 5], - # cols=[1, 3, 2, 0, 1], - # values=[1, 2, 3, 4, 5]) +COPY-FROM: diff --git a/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst b/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst index e1e4c05f626..cf36171368d 100644 --- a/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst @@ -43,20 +43,4 @@ sparse_csr_tensor 代码示例 ::::::::: - -.. code-block:: python - - import paddle - from paddle.fluid.framework import _test_eager_guard - - with _test_eager_guard(): - crows = [0, 2, 3, 5] - cols = [1, 3, 2, 0, 1] - values = [1, 2, 3, 4, 5] - dense_shape = [3, 4] - csr = paddle.sparse.sparse_csr_tensor(crows, cols, values, dense_shape) - # print(csr) - # Tensor(shape=[3, 4], dtype=paddle.int64, place=Place(gpu:0), stop_gradient=True, - # crows=[0, 2, 3, 5], - # cols=[1, 3, 2, 0, 1], - # values=[1, 2, 3, 4, 5]) +COPY-FROM: From 4eedc1f9bd077c0f7fe985fb153dece755326fa9 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Sun, 24 Apr 2022 04:17:14 +0000 Subject: [PATCH 15/20] add overview --- docs/api/paddle/Overview_cn.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/api/paddle/Overview_cn.rst b/docs/api/paddle/Overview_cn.rst index 80e719ef478..dff12018c67 100755 --- a/docs/api/paddle/Overview_cn.rst +++ b/docs/api/paddle/Overview_cn.rst @@ -18,6 +18,7 @@ paddle 目录下包含tensor、device、framework相关API以及某些高层API - :ref:`framework相关 ` - :ref:`device相关 ` - :ref:`高层API相关 ` +- :ref:`稀疏API相关 ` @@ -386,11 +387,14 @@ device相关 " :ref:`paddle.summary ` ", "打印网络的基础结构和参数信息" " :ref:`paddle.flops ` ", "打印网络的基础结构和参数信息" +.. _about_sparse_api: + 稀疏API相关 :::::::::::::::::::: .. csv-table:: :header: "API名称", "API功能" :widths: 10, 30 + " :ref:`paddle.sparse.sparse_coo_tensor` ", "创建一个COO(Coordinate)格式的稀疏Tensor" " :ref:`paddle.sparse.sparse_csr_tensor` ", "创建一个CSR(Compressed Sparse Row)格式的稀疏Tensor" From 9d5f7dc89c69d8b48d393282fc38a86f88bd78f9 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Sun, 24 Apr 2022 06:43:37 +0000 Subject: [PATCH 16/20] update docs --- .../paddle/sparse/sparse_coo_tensor_cn.rst | 63 +------------------ 1 file changed, 1 insertion(+), 62 deletions(-) diff --git a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst index 8dcab031e7c..f6af2070714 100644 --- a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst @@ -35,68 +35,7 @@ sparse_coo_tensor 返回 ::::::::: -通过 ``indices`` 和 ``values`` 创建的 稀疏Tensor。 - -代码示例 -::::::::: - -.. code-block:: python - - import paddle - from paddle.fluid.framework import _test_eager_guard - - with _test_eager_guard(): - indices = [[0, 1, 2], [1, 2, 0]] - values = [1.0, 2.0, 3.0] - dense_shape = [3, 3] - coo = paddle.sparse.sparse_coo_tensor(indices, values, dense_shape) - # print(coo) - # Tensor(shape=[2, 3], dtype=paddle.float32, place=Place(gpu:0), stop_gradient=True, - # indices=[[0, 1, 2], - # [1, 2, 0]], - # values=[1., 2., 3.]) - - -sparse_csr_tensor -------------------------------- - - -.. py:function:: paddle.sparse.sparse_csr_tensor(crows, cols, values, shape, dtype=None, place=None, stop_gradient=True) - -该API通过已知的非零元素的 ``crows`` , ``cols`` 和 ``values`` 来创建一个CSR(Compressed Sparse Row) 格式的稀疏tensor,tensor类型为 ``paddle.Tensor`` 。 - -当前 ``sparse_csr_tensor`` 要求输入的 ``crows`` 中每个batch的数据是递增的, ``cols`` 也是递增的。 - -``crows`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 -``cols`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 -``values`` 可以是 scalar,tuple,list,numpy\.ndarray,paddle\.Tensor。 - - -如果 ``values`` 已经是一个tensor,且 ``dtype`` 、 ``place`` 没有发生变化,将不会发生 tensor 的拷贝并返回原来的 tensor。 -否则会创建一个新的tensor,且不保留原来计算图。 - -参数 -::::::::: - - - **crows** (list|tuple|ndarray|Tensor) - 每行第一个非零元素在 ``values`` 的起始位置。可以是 - list,tuple,numpy\.ndarray,paddle\.Tensor类型。 - - **cols** (list|tuple|ndarray|Tensor) - 一维数组,存储每个非零元素的列信息。可以是 - list,tuple,numpy\.ndarray,paddle\.Tensor类型。 - - **values** (list|tuple|ndarray|Tensor) - 一维数组,存储非零元素,可以是 - list,tuple,numpy\.ndarray,paddle\.Tensor类型。 - - **shape** (list|tuple, optional) - 稀疏Tensor的形状,也是Tensor的形状,如果没有提供,将自动推测出最小的形状。 - - **dtype** (str|np.dtype, optional) - 创建tensor的数据类型,可以是 'bool' ,'float16','float32', - 'float64' ,'int8','int16','int32','int64','uint8','complex64','complex128'。 - 默认值为None,如果 ``values`` 为python浮点类型,则从 - :ref:`cn_api_paddle_framework_get_default_dtype` 获取类型,如果 ``values`` 为其他类型, - 则会自动推导类型。 - - **place** (CPUPlace|CUDAPinnedPlace|CUDAPlace|str, optional) - 创建tensor的设备位置,可以是 - CPUPlace, CUDAPinnedPlace, CUDAPlace。默认值为None,使用全局的place。 - - **stop_gradient** (bool, optional) - 是否阻断Autograd的梯度传导。默认值为True,此时不进行梯度传传导。 - -返回 -::::::::: -通过 ``crows``, ``cols`` 和 ``values`` 创建的稀疏Tensor。 +通过 ``indices`` 和 ``values`` 创建的稀疏Tensor。 代码示例 ::::::::: From 9e0cf5e1679d241582340aeb75c10a9dc09b9da8 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Sun, 24 Apr 2022 07:07:11 +0000 Subject: [PATCH 17/20] test COPY-FROM --- docs/api/paddle/sparse/sparse_coo_tensor_cn.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst index f6af2070714..6b582a5bf62 100644 --- a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst @@ -39,4 +39,5 @@ sparse_coo_tensor 代码示例 ::::::::: -COPY-FROM: + +COPY-FROM: From 09d4977a20b9ac5e43c445f16be740e20dc08f55 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Sun, 24 Apr 2022 07:20:28 +0000 Subject: [PATCH 18/20] fix example --- docs/api/paddle/sparse/sparse_coo_tensor_cn.rst | 2 +- docs/api/paddle/sparse/sparse_csr_tensor_cn.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst index 6b582a5bf62..ab17d6c3078 100644 --- a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst @@ -40,4 +40,4 @@ sparse_coo_tensor 代码示例 ::::::::: -COPY-FROM: +COPY-FROM: paddle.sparse.sparse_coo_tensor diff --git a/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst b/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst index cf36171368d..f90930c4f46 100644 --- a/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst @@ -43,4 +43,4 @@ sparse_csr_tensor 代码示例 ::::::::: -COPY-FROM: +COPY-FROM: paddle.sparse.sparse_csr_tensor From b51464b8dd3725364d93f6dc9426d7c8f88a8296 Mon Sep 17 00:00:00 2001 From: zkh2016 Date: Sun, 24 Apr 2022 07:34:22 +0000 Subject: [PATCH 19/20] fix example --- docs/api/paddle/sparse/sparse_coo_tensor_cn.rst | 3 +-- docs/api/paddle/sparse/sparse_csr_tensor_cn.rst | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst index ab17d6c3078..ab2672e3c76 100644 --- a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst @@ -37,7 +37,6 @@ sparse_coo_tensor ::::::::: 通过 ``indices`` 和 ``values`` 创建的稀疏Tensor。 -代码示例 -::::::::: +**代码示例** COPY-FROM: paddle.sparse.sparse_coo_tensor diff --git a/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst b/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst index f90930c4f46..5236e3a373d 100644 --- a/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_csr_tensor_cn.rst @@ -41,6 +41,6 @@ sparse_csr_tensor ::::::::: 通过 ``crows``, ``cols`` 和 ``values`` 创建的稀疏Tensor。 -代码示例 -::::::::: +**代码示例** + COPY-FROM: paddle.sparse.sparse_csr_tensor From 813f36ef6a604c7419f8b864f827c99abf031e47 Mon Sep 17 00:00:00 2001 From: Chen Long <1300851984@qq.com> Date: Sun, 24 Apr 2022 15:41:04 +0800 Subject: [PATCH 20/20] Update sparse_coo_tensor_cn.rst --- docs/api/paddle/sparse/sparse_coo_tensor_cn.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst index ab2672e3c76..ab17d6c3078 100644 --- a/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst +++ b/docs/api/paddle/sparse/sparse_coo_tensor_cn.rst @@ -37,6 +37,7 @@ sparse_coo_tensor ::::::::: 通过 ``indices`` 和 ``values`` 创建的稀疏Tensor。 -**代码示例** +代码示例 +::::::::: COPY-FROM: paddle.sparse.sparse_coo_tensor