Skip to content

Commit fafea03

Browse files
[Docathon][Add CN Doc No.30、31] (#6447)
* [Docathon][Add CN Doc No.30、31] * modified: docs/api/paddle/incubate/nn/functional/fused_rotary_position_embedding_cn.rst modified: docs/api/paddle/sparse/nn/functional/subm_conv2d_cn.rst * Apply suggestions from code review Co-authored-by: zachary sun <[email protected]> * Update docs/api/paddle/sparse/nn/functional/subm_conv2d_cn.rst Co-authored-by: zachary sun <[email protected]> * Update docs/api/paddle/sparse/nn/functional/subm_conv2d_cn.rst * Update docs/api/paddle/sparse/nn/functional/subm_conv2d_cn.rst * Update docs/api/paddle/sparse/nn/functional/subm_conv2d_cn.rst --------- Co-authored-by: zachary sun <[email protected]>
1 parent 00ed0d2 commit fafea03

File tree

3 files changed

+90
-0
lines changed

3 files changed

+90
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
.. _cn_api_paddle_incubate_nn_functional_fused_rotary_position_embedding:
2+
3+
fused_rotary_position_embedding
4+
-------------------------------
5+
6+
.. 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)
7+
融合旋转位置编码。
8+
9+
参数
10+
::::::::::
11+
12+
- **q** (Tensor) - 输入张量。 数据类型可以是 bfloat16, float16, float32 或 float64。 q 的形状必须是 [batch_size, seq_len, num_heads, head_dim],并且 head_dim 必须是 2 的倍数。
13+
- **k** (Tensor, 可选) - 输入张量。 数据类型可以是 bfloat16, float16, float32 或 float64。 k 的形状必须是 [batch_size, seq_len, num_heads, head_dim],并且 head_dim 必须是 2 的倍数。
14+
- **v** (Tensor, 可选) - 输入张量。 数据类型可以是 bfloat16, float16, float32 或 float64。 v 的形状必须是 [batch_size, seq_len, num_heads, head_dim],并且 head_dim 必须是 2 的倍数。
15+
- **sin** (Tensor, 可选) - 输入张量。 数据类型可以是 bfloat16, float16, float32 或 float64。 sin 的形状必须是 [seq_len, head_dim] 或 [1, seq_len, 1, head_dim], 并且 head_dim 必须是 2 的倍数。
16+
- **cos** (Tensor, 可选) - 输入张量。 数据类型可以是 bfloat16, float16, float32 或 float64。 cos 的形状必须是 [seq_len, head_dim] 或 [1, seq_len, 1, head_dim], 并且 head_dim 必须是 2 的倍数。
17+
- **position_ids** (Tensor, 可选) - 输入张量。 数据类型为 int64. position_ids 的形状为[batch_size, seq_len]。
18+
- **use_neox_rotary_style** (可选|bool) - 当 use_neox_rotary_style 为 True, 每两个相邻的数字计算一次。 当 use_neox_rotary_style 为 False, 计算与前半段和后半段位置相对应的数字。 默认值为 True。
19+
20+
21+
返回
22+
::::::::::
23+
24+
- out_q/out_k/out_v 表示融合旋转位置嵌入的张量,具有与 `q` 相同的形状和数据类型。
25+
26+
27+
代码示例
28+
::::::::::
29+
30+
COPY-FROM: paddle.incubate.nn.functional.fused_rotary_position_embedding

docs/api/paddle/sparse/Overview_cn.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,3 +97,4 @@ paddle.sparse 目录包含飞桨框架支持稀疏数据存储和计算相关的
9797
" :ref:`paddle.sparse.nn.functional.conv3d <cn_api_paddle_sparse_nn_functional_conv3d>` ", "三维卷积函数"
9898
" :ref:`paddle.sparse.nn.functional.subm_conv3d <cn_api_paddle_sparse_nn_functional_subm_conv3d>` ", "子流形三维卷积函数"
9999
" :ref:`paddle.sparse.nn.functional.max_pool3d <cn_api_paddle_sparse_nn_functional_max_pool3d>` ", "三维最大池化函数"
100+
" :ref:`paddle.sparse.nn.functional.subm_conv2d <cn_api_paddle_sparse_nn_functional_subm_conv2d>` ", "子流形二维卷积函数"
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
.. _cn_api_paddle_sparse_nn_functional_subm_conv2d:
2+
3+
subm_conv2d
4+
-------------------------------
5+
6+
.. 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)
7+
8+
稀疏子流形二维卷积函数根据输入卷积核计算输出以及步长(stride)、填充(padding)、空洞大小(dilations)一组参数。
9+
输入(Input)和输出(Output)是多维稀疏张量(SparseCooTensors), 其形状为 :math:`[N, H, W, C]` 。
10+
其中 N 是批次大小, C 是通道数, H 是特征的高度, W 是特征的宽度。
11+
如果提供了偏差归因,则将偏差添加到卷积的输出中。
12+
13+
对于每一个输入 :math:`X`, 其计算公式为:
14+
15+
.. math::
16+
Out = \sigma (W \ast X + b)
17+
在上面的等式中:
18+
19+
* :math:`X`: 输入值, NHWC 格式的张量。
20+
* :math:`W`: 卷积核值, NHWC 格式的张量。
21+
* :math:`\\ast`: 子流形卷积操作,参考论文: https://arxiv.org/abs/1706.01307.
22+
* :math:`b`: 偏置值, 形状为[M]的一维张量。
23+
* :math:`Out`: 输出值, :math:`Out` 的形状可能和 :math:`X` 有不同。
24+
25+
26+
参数
27+
::::::::::
28+
29+
- x (Tensor): 输入是形状为 [N, H, W, C] 的四维稀疏张量, 输入数据类型为 float16、float32 或 float64。
30+
- weight (Tensor): 形状为 [kH, kW, C/g, M] 的卷积核,其中 M 是卷积核(输出通道)的数量, g 是组的数量, kD、kH、kW 分别是卷积核的高度和宽度。
31+
- bias (Tensor, optional): 偏差, 形状为 [M] 的张量。
32+
- stride (int|list|tuple, optional): 步长大小, 意味着卷积的步长。如果步长为 list/tuple, 它必须包含两个整数 (stride_height, stride_width)。否则, stride_height = stride_width = stride。stride 的默认值为 1。
33+
- padding (string|int|list|tuple, optional): 填充大小。它表示零填充在每个维度的两侧的数量。
34+
如果 'padding' 是字符串,则 'VALID' 或 'SAME' 是填充算法。
35+
如果填充大小是元组或列表,它可以有三种形式:'[pad_heigh, pad_width]' 或 '[pad_height_top, pad_height_bottom, pad_width_left, pad_width_right]'。
36+
当 'data_format' 为 'NHWC' 时, 'padding' 可以采用以下形式 '[[0,0], [pad_height_top, pad_height_bottom], [pad_width_left, pad_width_right], [0,0]]'。padding 的默认值为 0。
37+
- dilation (int|list|tuple, optional): 空洞大小。它表示内核点之间的间距。
38+
如果 dilation 是列表/元组,则它必须包含两个整数 (dilation_height、dilation_width)。
39+
否则, dilation_height = dilation_width = dilation。
40+
dilation 的默认值为 1。
41+
- groups (int, optional): 二维卷积层的组号。根据 Alex Krizhevsky 的 Deep CNN 论文中的卷积分组:
42+
当 group=2 时,卷积核的前半部分仅连接到前半部分的输入通道,而卷积核的后半部分仅连接到输入通道的后半部分。
43+
groups 的默认值为 1。目前, 只有 support groups=1。
44+
- data_format (str, optional): 指定输入的数据格式和输出的数据格式将与输入一致。即 `"NHWC"` 的可选字符串。默认值为 `"NHWC"`。
45+
当它是 `"NHWC"` 时, 数据按以下顺序存储:`[batch_size, input_height, input_width, input_channels]`。
46+
- key(str, optional):用于保存或使用相同规则手册的密钥,规则手册的定义和作用是指 https://pdfs.semanticscholar.org/5125/a16039cabc6320c908a4764f32596e018ad3.pdf。默认值为 None。
47+
- name(str, optional):有关详细信息,请参阅到 :ref:`api_guide_Name`。通常名称是不需要设置的, 并且默认情况下为空。
48+
49+
50+
返回
51+
::::::::::
52+
53+
- 表示二维卷积的多维稀疏张量(SparseCooTenstor), 其数据类型与输入相同。
54+
55+
56+
代码示例
57+
::::::::::
58+
59+
COPY-FROM: paddle.sparse.nn.functional.subm_conv2d

0 commit comments

Comments
 (0)