From e0e392400497ab91581df382fdbe536bfc64489d Mon Sep 17 00:00:00 2001 From: Kaedeharai Date: Tue, 14 Nov 2023 12:45:02 +0800 Subject: [PATCH 1/5] [Docathon][Fix COPY-FROM No.6-10] --- .../paddle/distributed/InMemoryDataset_cn.rst | 28 +++++++++---------- docs/api/paddle/text/Movielens_cn.rst | 4 +-- docs/api/paddle/text/UCIHousing_cn.rst | 4 +-- docs/api/paddle/text/WMT14_cn.rst | 4 +-- docs/api/paddle/text/WMT16_cn.rst | 4 +-- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/api/paddle/distributed/InMemoryDataset_cn.rst b/docs/api/paddle/distributed/InMemoryDataset_cn.rst index aa805421f7f..cd0d5798f58 100644 --- a/docs/api/paddle/distributed/InMemoryDataset_cn.rst +++ b/docs/api/paddle/distributed/InMemoryDataset_cn.rst @@ -4,7 +4,7 @@ InMemoryDataset ------------------------------- -.. py:class:: paddle.distributed.InMemoryDataset() +.. py:class:: paddle.distributed.fleet.InMemoryDataset() @@ -13,7 +13,7 @@ InMemoryDataset,它将数据加载到内存中,并在训练前随机整理 代码示例 :::::::::::: -COPY-FROM: paddle.distributed.InMemoryDataset +COPY-FROM: paddle.distributed.fleet.InMemoryDataset 方法 :::::::::::: @@ -45,7 +45,7 @@ None。 **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset.init +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.init _init_distributed_settings(**kwargs) ''''''''' @@ -74,7 +74,7 @@ None。 **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset._init_distributed_settings +COPY-FROM: paddle.distributed.fleet.InMemoryDataset._init_distributed_settings update_settings(**kwargs) ''''''''' @@ -110,7 +110,7 @@ None。 **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset.update_settings +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.update_settings load_into_memory() ''''''''' @@ -123,7 +123,7 @@ load_into_memory() **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset.load_into_memory +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.load_into_memory preload_into_memory(thread_num=None) ''''''''' @@ -136,7 +136,7 @@ preload_into_memory(thread_num=None) **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset.preload_into_memory +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.preload_into_memory wait_preload_done() ''''''''' @@ -145,7 +145,7 @@ wait_preload_done() **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset.wait_preload_done +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.wait_preload_done local_shuffle() ''''''''' @@ -154,7 +154,7 @@ local_shuffle() **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset.local_shuffle +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.local_shuffle global_shuffle(fleet=None, thread_num=12) ''''''''' @@ -163,7 +163,7 @@ global_shuffle(fleet=None, thread_num=12) **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset.global_shuffle +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.global_shuffle **参数** @@ -175,7 +175,7 @@ release_memory() 当数据不再使用时,释放 InMemoryDataset 内存数据。 -COPY-FROM: paddle.distributed.InMemoryDataset.release_memory +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.release_memory get_memory_data_size(fleet=None) ''''''''' @@ -194,7 +194,7 @@ get_memory_data_size(fleet=None) **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset.get_memory_data_size +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.get_memory_data_size get_shuffle_data_size(fleet=None) ''''''''' @@ -213,7 +213,7 @@ shuffle 数据的大小。 **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset.get_shuffle_data_size +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.get_shuffle_data_size slots_shuffle(slots) ''''''''' @@ -226,4 +226,4 @@ slots_shuffle(slots) **代码示例** -COPY-FROM: paddle.distributed.InMemoryDataset.slots_shuffle +COPY-FROM: paddle.distributed.fleet.InMemoryDataset.slots_shuffle diff --git a/docs/api/paddle/text/Movielens_cn.rst b/docs/api/paddle/text/Movielens_cn.rst index 75ce960d108..bb47eb63b4c 100644 --- a/docs/api/paddle/text/Movielens_cn.rst +++ b/docs/api/paddle/text/Movielens_cn.rst @@ -3,7 +3,7 @@ Movielens ------------------------------- -.. py:class:: paddle.text.datasets.Movielens() +.. py:class:: paddle.text.Movielens() 该类是对 `Movielens 1-M `_ @@ -25,4 +25,4 @@ Movielens 代码示例 ::::::::: -COPY-FROM: paddle.text.datasets.Movielens +COPY-FROM: paddle.text.Movielens diff --git a/docs/api/paddle/text/UCIHousing_cn.rst b/docs/api/paddle/text/UCIHousing_cn.rst index b04a5f7ecd2..7277c3d6bbf 100644 --- a/docs/api/paddle/text/UCIHousing_cn.rst +++ b/docs/api/paddle/text/UCIHousing_cn.rst @@ -3,7 +3,7 @@ UCIHousing ------------------------------- -.. py:class:: paddle.text.datasets.UCIHousing() +.. py:class:: paddle.text.UCIHousing() 该类是对 `UCI housing `_ @@ -23,4 +23,4 @@ UCIHousing 代码示例 ::::::::: -COPY-FROM: paddle.text.datasets.UCIHousing +COPY-FROM: paddle.text.UCIHousing diff --git a/docs/api/paddle/text/WMT14_cn.rst b/docs/api/paddle/text/WMT14_cn.rst index 9e49cebff2e..883633dde91 100644 --- a/docs/api/paddle/text/WMT14_cn.rst +++ b/docs/api/paddle/text/WMT14_cn.rst @@ -3,7 +3,7 @@ WMT14 ------------------------------- -.. py:class:: paddle.text.datasets.WMT14() +.. py:class:: paddle.text.WMT14() 该类是对 `WMT14 `_ 测试数据集实现。 @@ -32,4 +32,4 @@ http://paddlemodels.bj.bcebos.com/wmt/wmt14.tgz 代码示例 ::::::::: -COPY-FROM: paddle.text.datasets.WMT14 +COPY-FROM: paddle.text.WMT14 diff --git a/docs/api/paddle/text/WMT16_cn.rst b/docs/api/paddle/text/WMT16_cn.rst index 48673ee4769..4f8b1398ade 100644 --- a/docs/api/paddle/text/WMT16_cn.rst +++ b/docs/api/paddle/text/WMT16_cn.rst @@ -3,7 +3,7 @@ WMT16 ------------------------------- -.. py:class:: paddle.text.datasets.WMT16() +.. py:class:: paddle.text.WMT16() 该类是对 `WMT16 `_ 测试数据集实现。 @@ -32,4 +32,4 @@ http://www.statmt.org/wmt16/multimodal-task.html#task1 代码示例 ::::::::: -COPY-FROM: paddle.text.datasets.WMT16 +COPY-FROM: paddle.text.WMT16 From 094b07a000a20283ef0797183e2342d4586f35f6 Mon Sep 17 00:00:00 2001 From: Kaedeharai Date: Thu, 16 Nov 2023 22:14:38 +0800 Subject: [PATCH 2/5] [Docathon][Fix COPY-FROM No.6-10] --- .../paddle/distributed/InMemoryDataset_cn.rst | 54 +++++-------------- docs/api/paddle/text/Movielens_cn.rst | 2 +- docs/api/paddle/text/UCIHousing_cn.rst | 2 +- docs/api/paddle/text/WMT14_cn.rst | 2 +- docs/api/paddle/text/WMT16_cn.rst | 2 +- 5 files changed, 17 insertions(+), 45 deletions(-) diff --git a/docs/api/paddle/distributed/InMemoryDataset_cn.rst b/docs/api/paddle/distributed/InMemoryDataset_cn.rst index cd0d5798f58..0442f0eb63c 100644 --- a/docs/api/paddle/distributed/InMemoryDataset_cn.rst +++ b/docs/api/paddle/distributed/InMemoryDataset_cn.rst @@ -4,7 +4,7 @@ InMemoryDataset ------------------------------- -.. py:class:: paddle.distributed.fleet.InMemoryDataset() +.. py:class:: paddle.distributed.InMemoryDataset() @@ -13,7 +13,7 @@ InMemoryDataset,它将数据加载到内存中,并在训练前随机整理 代码示例 :::::::::::: -COPY-FROM: paddle.distributed.fleet.InMemoryDataset +COPY-FROM: paddle.distributed.InMemoryDataset 方法 :::::::::::: @@ -45,36 +45,8 @@ None。 **代码示例** -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.init +COPY-FROM: paddle.distributed.InMemoryDataset.init -_init_distributed_settings(**kwargs) -''''''''' - -**注意:** - - **1. 该 API 只在非** `Dygraph <../../user_guides/howto/dygraph/DyGraph.html>`_ **模式下生效** - **2. 本 api 需要在机大规模参数服务器训练下生效,敬请期待详细使用文档** - -对 InMemoryDataset 的实例进行分布式训练相关配置的初始化。 - -**参数** - - - **kwargs** - 可选的关键字参数,由调用者提供,目前支持以下关键字配置。 - - **merge_size** (int) - 通过样本 id 来设置合并,相同 id 的样本将会在 shuffle 之后进行合并,你应该在一个 data 生成器里面解析样本 id。merge_size 表示合并的最小数量,默认值为-1,表示不做合并。 - - **parse_ins_id** (bool) - 是否需要解析每条样的 id,默认值为 False。 - - **parse_content** (bool) - 是否需要解析每条样本的 content,默认值为 False。 - - **fleet_send_batch_size** (int) - 设置发送 batch 的大小,默认值为 1024。 - - **fleet_send_sleep_seconds** (int) - 设置发送 batch 后的睡眠时间,默认值为 0。 - - **fea_eval** (bool) - 设置特征打乱特征验证模式,来修正特征级别的重要性,特征打乱需要 ``fea_eval`` 被设置为 True。默认值为 False。 - - **candidate_size** (int) - 特征打乱特征验证模式下,用于随机化特征的候选池大小。默认值为 10000。 - -**返回** -None。 - - -**代码示例** - -COPY-FROM: paddle.distributed.fleet.InMemoryDataset._init_distributed_settings update_settings(**kwargs) ''''''''' @@ -110,7 +82,7 @@ None。 **代码示例** -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.update_settings +COPY-FROM: paddle.distributed.InMemoryDataset.update_settings load_into_memory() ''''''''' @@ -123,7 +95,7 @@ load_into_memory() **代码示例** -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.load_into_memory +COPY-FROM: paddle.distributed.InMemoryDataset.load_into_memory preload_into_memory(thread_num=None) ''''''''' @@ -136,7 +108,7 @@ preload_into_memory(thread_num=None) **代码示例** -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.preload_into_memory +COPY-FROM: paddle.distributed.InMemoryDataset.preload_into_memory wait_preload_done() ''''''''' @@ -145,7 +117,7 @@ wait_preload_done() **代码示例** -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.wait_preload_done +COPY-FROM: paddle.distributed.InMemoryDataset.wait_preload_done local_shuffle() ''''''''' @@ -154,7 +126,7 @@ local_shuffle() **代码示例** -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.local_shuffle +COPY-FROM: paddle.distributed.InMemoryDataset.local_shuffle global_shuffle(fleet=None, thread_num=12) ''''''''' @@ -163,7 +135,7 @@ global_shuffle(fleet=None, thread_num=12) **代码示例** -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.global_shuffle +COPY-FROM: paddle.distributed.InMemoryDataset.global_shuffle **参数** @@ -175,7 +147,7 @@ release_memory() 当数据不再使用时,释放 InMemoryDataset 内存数据。 -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.release_memory +COPY-FROM: paddle.distributed.InMemoryDataset.release_memory get_memory_data_size(fleet=None) ''''''''' @@ -194,7 +166,7 @@ get_memory_data_size(fleet=None) **代码示例** -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.get_memory_data_size +COPY-FROM: paddle.distributed.InMemoryDataset.get_memory_data_size get_shuffle_data_size(fleet=None) ''''''''' @@ -213,7 +185,7 @@ shuffle 数据的大小。 **代码示例** -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.get_shuffle_data_size +COPY-FROM: paddle.distributed.InMemoryDataset.get_shuffle_data_size slots_shuffle(slots) ''''''''' @@ -226,4 +198,4 @@ slots_shuffle(slots) **代码示例** -COPY-FROM: paddle.distributed.fleet.InMemoryDataset.slots_shuffle +COPY-FROM: paddle.distributed.InMemoryDataset.slots_shuffle diff --git a/docs/api/paddle/text/Movielens_cn.rst b/docs/api/paddle/text/Movielens_cn.rst index bb47eb63b4c..8a9bdb52819 100644 --- a/docs/api/paddle/text/Movielens_cn.rst +++ b/docs/api/paddle/text/Movielens_cn.rst @@ -3,7 +3,7 @@ Movielens ------------------------------- -.. py:class:: paddle.text.Movielens() +.. py:class:: paddle.text.Movielens(data_file = None, mode = 'train', test_ratio = 0.1, rand_seed = 0, download = True) 该类是对 `Movielens 1-M `_ diff --git a/docs/api/paddle/text/UCIHousing_cn.rst b/docs/api/paddle/text/UCIHousing_cn.rst index 7277c3d6bbf..fa4baf9e50a 100644 --- a/docs/api/paddle/text/UCIHousing_cn.rst +++ b/docs/api/paddle/text/UCIHousing_cn.rst @@ -3,7 +3,7 @@ UCIHousing ------------------------------- -.. py:class:: paddle.text.UCIHousing() +.. py:class:: paddle.text.UCIHousing(data_file = None, mode = 'train', download = True) 该类是对 `UCI housing `_ diff --git a/docs/api/paddle/text/WMT14_cn.rst b/docs/api/paddle/text/WMT14_cn.rst index 883633dde91..c19c3911499 100644 --- a/docs/api/paddle/text/WMT14_cn.rst +++ b/docs/api/paddle/text/WMT14_cn.rst @@ -3,7 +3,7 @@ WMT14 ------------------------------- -.. py:class:: paddle.text.WMT14() +.. py:class:: paddle.text.WMT14(data_file = None, mode = 'train', dict_size = -1, download = True) 该类是对 `WMT14 `_ 测试数据集实现。 diff --git a/docs/api/paddle/text/WMT16_cn.rst b/docs/api/paddle/text/WMT16_cn.rst index 4f8b1398ade..f678643051b 100644 --- a/docs/api/paddle/text/WMT16_cn.rst +++ b/docs/api/paddle/text/WMT16_cn.rst @@ -3,7 +3,7 @@ WMT16 ------------------------------- -.. py:class:: paddle.text.WMT16() +.. py:class:: paddle.text.WMT16(data_file = None, mode = 'train', src_dict_size = -1, trg_dict_size = -1, lang = 'ch', download = True) 该类是对 `WMT16 `_ 测试数据集实现。 From 5884bd4e611b5923b6eb6412b2a8b239943ee1b8 Mon Sep 17 00:00:00 2001 From: Kaedeharai Date: Wed, 22 Nov 2023 20:22:38 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=96=87=E6=A1=A3=E4=BF=AE=E5=A4=8D80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/api/paddle/grad_cn.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/paddle/grad_cn.rst b/docs/api/paddle/grad_cn.rst index 41c65efac6f..a71d1322e2e 100644 --- a/docs/api/paddle/grad_cn.rst +++ b/docs/api/paddle/grad_cn.rst @@ -7,7 +7,7 @@ grad .. py:function:: paddle.grad(outputs, inputs, grad_outputs=None, retain_graph=None, create_graph=False, only_inputs=True, allow_unused=False, no_grad_vars=None) .. note:: - 该 API 仅支持**动态图模式**。 + 该 API 仅支持 **动态图模式**。 对于每个 `inputs`,计算所有 `outputs` 相对于其的梯度和。 From 2370751dea3fa7f50f697254803575ec3e177965 Mon Sep 17 00:00:00 2001 From: Kaedeharai Date: Tue, 12 Dec 2023 20:48:47 +0800 Subject: [PATCH 4/5] [Docathon][Add CN Doc No.26] --- docs/api/paddle/nn/Overview_cn.rst | 1 + .../scaled_dot_product_attention_cn.rst | 53 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 docs/api/paddle/nn/functional/scaled_dot_product_attention_cn.rst diff --git a/docs/api/paddle/nn/Overview_cn.rst b/docs/api/paddle/nn/Overview_cn.rst index c517e6607b9..0e088d496ba 100644 --- a/docs/api/paddle/nn/Overview_cn.rst +++ b/docs/api/paddle/nn/Overview_cn.rst @@ -196,6 +196,7 @@ Transformer 相关 " :ref:`paddle.nn.MultiHeadAttention ` ", "多头注意力机制" + " :ref:`paddle.nn.functional_scaled_dot_product_attention ` ", "点乘注意力机制,并在此基础上加入了对注意力权重的缩放" " :ref:`paddle.nn.Transformer ` ", "Transformer 模型" " :ref:`paddle.nn.TransformerDecoder ` ", "Transformer 解码器" " :ref:`paddle.nn.TransformerDecoderLayer ` ", "Transformer 解码器层" diff --git a/docs/api/paddle/nn/functional/scaled_dot_product_attention_cn.rst b/docs/api/paddle/nn/functional/scaled_dot_product_attention_cn.rst new file mode 100644 index 00000000000..0abaa7731b1 --- /dev/null +++ b/docs/api/paddle/nn/functional/scaled_dot_product_attention_cn.rst @@ -0,0 +1,53 @@ +.. _cn_api_paddle_nn_functional_scaled_dot_product_attention: + +scaled_dot_product_attention +------------------------------- + +.. py:function:: paddle.nn.functional.scaled_dot_product_attention(query, key, value, attn_mask=None, dropout_p=0.0, is_causal=False, training=True, name=None) + +计算公式为: + +.. math:: + result=softmax(\frac{ Q * K^T }{\sqrt{d}}) * V + +其中, ``Q``、``K`` 和 ``V`` 表示注意力模块的三个输入参数。这三个参数的尺寸相同。``d`` 表示三个参数中最后一个维度的大小。 + +.. warning:: + 此 API 仅支持数据类型为 float16 和 bfloat16 的输入。 + + +参数 +:::::::::: + + - **query** (Tensor) - 注意力模块中的查询张量。 + 具有以下形状的四维张量: + [batch_size, seq_len, num_heads, head_dim] + 数据类型可以是 float61 或 bfloat16。 + - **key** (Tensor) - 注意力模块中的关键张量。 + 具有以下形状的四维张量: + [batch_size, seq_len, num_heads, head_dim]。 + 数据类型可以是 float61 或 bfloat16。 + - **value** (Tensor) - 注意力模块中的值张量。 + 具有以下形状的四维张量: + [batch_size, seq_len, num_heads, head_dim]。 + 数据类型可以是 float61 或 bfloat16。 + - **attn_mask** (Tensor, 可选) - 与添加到注意力分数的 ``query``、 ``key``、 ``value`` 类型相同的浮点掩码, 默认值为空。 + - **dropout_p** (float) - ``dropout`` 的比例, 默认值为 0.00 即不进行正则化。 + - **is_causal** (bool) - 是否启用因果关系, 默认值为 False 即不启用。 + - **training** (bool): - 是否处于训练阶段, 默认值为 True 即处于训练阶段。 + - **name** (str, 可选) - 默认值为 None。通常不需要用户设置此属性。欲了解更多信息, 请参阅 + :ref:`api_guide_Name`。 + + +返回 +:::::::::: + + - ``out`` (Tensor): 形状为 ``[batch_size, seq_len, num_heads, head_dim]`` 的 4 维张量。 + 数据类型可以是 float16 或 bfloat16。 + - ``softmax`` (Tensor): 如果 return_softmax 为 False,则为 None。 + + +代码示例 +:::::::::: + +COPY-FROM: paddle.nn.functional.scaled_dot_product_attention From 43fbd50ac422b084022104d53432ff97489daf67 Mon Sep 17 00:00:00 2001 From: Kaedeharai Date: Thu, 21 Dec 2023 20:08:45 +0800 Subject: [PATCH 5/5] new file: docs/api/paddle/incubate/nn/functional/fused_rotary_position_embedding_cn.rst modified: docs/api/paddle/sparse/Overview_cn.rst new file: docs/api/paddle/sparse/nn/functional/subm_conv2d_cn.rst --- .../fused_rotary_position_embedding_cn.rst | 31 +++++++++ docs/api/paddle/sparse/Overview_cn.rst | 1 + .../sparse/nn/functional/subm_conv2d_cn.rst | 66 +++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 docs/api/paddle/incubate/nn/functional/fused_rotary_position_embedding_cn.rst create mode 100644 docs/api/paddle/sparse/nn/functional/subm_conv2d_cn.rst diff --git a/docs/api/paddle/incubate/nn/functional/fused_rotary_position_embedding_cn.rst b/docs/api/paddle/incubate/nn/functional/fused_rotary_position_embedding_cn.rst new file mode 100644 index 00000000000..2ee03a78c43 --- /dev/null +++ b/docs/api/paddle/incubate/nn/functional/fused_rotary_position_embedding_cn.rst @@ -0,0 +1,31 @@ +.. _cn_api_paddle_incubate_nn_functional_fused_rotary_position_embedding: + +fused_rotary_position_embedding +------------------------------- + +.. py:function:: paddle.incubate.nn.functional.fused_rotary_position_embedding(q, k=None, v=None, sin=None, cos=None, position_ids=None, use_neox_rotary_style=True) + +融合旋转位置编码。 + +参数 +:::::::::: + + - **q** (Tensor) - 输入张量。 数据类型可以是 bfloat16, float16, float32 或 float64. q 的形状必须是 [batch_size, seq_len, num_heads, head_dim] 并且 head_dim 必须是 2 的倍数。 + - **k** (Tensor, 可选) - 输入张量。 数据类型可以是 bfloat16, float16, float32 或 float64. k 的形状必须是 [batch_size, seq_len, num_heads, head_dim] 并且 head_dim 必须是 2 的倍数。 + - **v** (Tensor, 可选) - 输入张量。 数据类型可以是 bfloat16, float16, float32 或 float64. v 的形状必须是 [batch_size, seq_len, num_heads, head_dim] 并且 head_dim 必须是 2 的倍数。 + - **sin** (Tensor, 可选) - 输入张量。 数据类型可以是 bfloat16, float16, float32 或 float64. sin 的形状必须是 [seq_len, head_dim] 或 [1, seq_len, 1, head_dim] 并且 head_dim 必须是 2 的倍数。 + - **cos** (Tensor, 可选) - 输入张量。 数据类型可以是 bfloat16, float16, float32 或 float64. cos 的形状必须是 [seq_len, head_dim] 或 [1, seq_len, 1, head_dim] 并且 head_dim 必须是 2 的倍数。 + - **position_ids** (Tensor, 可选) - 输入张量。 数据类型为 int64. position_ids 的形状为[batch_size, seq_len]. + - **use_neox_rotary_style** (可选|bool) - 当 use_neox_rotary_style 为 True, 每两个相邻的数字计算一次。 当 use_neox_rotary_style 为 False, 计算与前半段和后半段位置相对应的数字。 默认值为 True. + + +返回 +:::::::::: + + - out_q/out_k/out_v 表示融合旋转位置嵌入的张量,具有与 `q` 相同的形状和数据类型。 + + +代码示例 +:::::::::: + +COPY-FROM: paddle.incubate.nn.functional.fused_rotary_position_embedding diff --git a/docs/api/paddle/sparse/Overview_cn.rst b/docs/api/paddle/sparse/Overview_cn.rst index 47ceb1f41d4..e748dda602c 100644 --- a/docs/api/paddle/sparse/Overview_cn.rst +++ b/docs/api/paddle/sparse/Overview_cn.rst @@ -94,3 +94,4 @@ paddle.sparse 目录包含飞桨框架支持稀疏数据存储和计算相关的 " :ref:`paddle.sparse.nn.functional.conv3d ` ", "三维卷积函数" " :ref:`paddle.sparse.nn.functional.subm_conv3d ` ", "子流形三维卷积函数" " :ref:`paddle.sparse.nn.functional.max_pool3d ` ", "三维最大池化函数" + " :ref:`paddle.sparse.nn.functional.subm_conv2d ` ", "稀疏子流形二维卷积" diff --git a/docs/api/paddle/sparse/nn/functional/subm_conv2d_cn.rst b/docs/api/paddle/sparse/nn/functional/subm_conv2d_cn.rst new file mode 100644 index 00000000000..33c5e0d0ccf --- /dev/null +++ b/docs/api/paddle/sparse/nn/functional/subm_conv2d_cn.rst @@ -0,0 +1,66 @@ +.. _cn_api_paddle_sparse_nn_functional_subm_conv2d_cn: + +subm_conv2d_cn +------------------------------- + +.. py:function:: paddle.sparse.nn.functional.subm_conv2d(x, weight, bias=None, stride=1, padding=0, dilation=1, groups=1, data_format='NHWC', key=None, name=None) + +稀疏子流形二维卷积函数根据输入滤波器计算输出以及步幅、填充、扩张、组参数。 +输入(Input)和输出(Output)是多维稀疏张量(SparseCooTensors), 其形状为 :math: `[N, H, W, C]` 。 +其中 N 是批次大小, C 是通道数, H 是特征的高度, W 是特征的宽度。 +如果提供了偏差归因,则将偏差添加到卷积的输出中。 + +对于每一个输入 :math: `X`, 其计算公式为: + +.. math:: + Out = \sigma (W \ast X + b) + +在上面的等式中: + + * :math:`X`: 输入值, NHWC 格式的张量。 + * :math:`W`: 筛选值, NHWC 格式的张量。 + * :math:`\\ast`:子流形卷积操作,参考论文: https://arxiv.org/abs/1706.01307. + * :math:`b`: Bias value, 形状为[M]的一维张量. + * :math:`Out`: Output value, the shape of :math:`Out` and :math:`X` may be different. + + +参数 +:::::::::: + + - x (Tensor): 输入是形状为 [N, H, W, C] 的四维稀疏张量, 输入数据类型为 float16、float32 或 float64。 + - weight (Tensor): 形状为 [kH, kW, C/g, M] 的卷积核, + 其中 M 是滤波器(输出通道)的数量, g 是组的数量, kD、kH、kW 分别是滤波器的高度和宽度。 + - bias (Tensor, optional): 偏差, 形状为 [M] 的张量。 + - stride (int|list|tuple, optional): 步长大小, 意味着卷积的步长。如果步幅为 list/tuple, 它必须包含两个整数 (stride_height, stride_width)。 + 否则, stride_height = stride_width = stride。stride 的默认值为 1。 + - padding (string|int|list|tuple, optional): 填充大小。它表示零填充在每个维度的两侧的数量。 + 如果 'padding' 是字符串,则 'VALID' 或 'SAME' 是填充算法。 + 如果填充大小是元组或列表,它可以有三种形式:'[pad_heigh, pad_width]' 或 '[pad_height_top, pad_height_bottom, pad_width_left, pad_width_right]', + 当 'data_format' 为 'NHWC' 时, 'padding' 可以采用以下形式 + '[[0,0], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right], [0,0]]'。 + padding 的默认值为 0。 + - dilation (int|list|tuple, optional): 扩张大小。它表示内核点之间的间距。 + 如果 dilation 是列表/元组,则它必须包含两个整数 (dilation_height、dilation_width)。否则, dilation_height = dilation_width = dilation。 + dilation 的默认值为 1。 + - groups (int, optional): 二维卷积层的组号。根据 Alex Krizhevsky 的 Deep CNN 论文中的卷积分组: + 当 group=2 时,滤波器的前半部分仅连接到前半部分的输入通道,而滤波器的后半部分仅连接到输入通道的后半部分。 + groups 的默认值为 1。目前, 只有 support groups=1。 + - data_format (str, optional): 指定输入的数据格式和输出的数据格式将与输入一致。来自 `"NHWC"` 的可选字符串。默认值为 `"NHWC"`。 + 当它是 `"NHWC"` 时, 数据按以下顺序存储:`[batch_size, input_height, input_width, input_channels]`。 + - key(str, optional):用于保存或使用相同规则手册的密钥, + 规则手册的定义和作用是指 https://pdfs.semanticscholar.org/5125/a16039cabc6320c908a4764f32596e018ad3.pdf。这 + 默认值为 None。 + - name(str, optional):有关详细信息,请参阅到 :ref:`api_guide_Name`。 + 通常名称是不需要设置的, 并且默认情况下为空。 + + +返回 +:::::::::: + + - 表示二维卷积的多维稀疏张量(SparseCooTenstor), 其数据类型与输入相同。 + + +代码示例 +:::::::::: + +COPY-FROM: paddle.sparse.nn.functional.subm_conv2d