diff --git a/docs/api/paddle/index_add_cn.rst b/docs/api/paddle/index_add_cn.rst index 5f0d849345c..a4d17c33f20 100644 --- a/docs/api/paddle/index_add_cn.rst +++ b/docs/api/paddle/index_add_cn.rst @@ -55,7 +55,7 @@ index_add 输出: out.shape = [3, 3] out.data = [[2., 1., 2.], - [1., 1., 1.], + [2., 1., 2.], [2., 1., 2.]] **示例 1 图解说明** @@ -79,10 +79,10 @@ index_add 参数 ::::::::: - - **x** (Tensor)– 输入 Tensor。 ``x`` 的数据类型可以是 float16, float32,float64,int32,int64。 - - **index** (Tensor)– 包含索引下标的 1-D Tensor。数据类型为 int32 或者 int64。 - - **axis** (int) – 索引轴。数据类型为 int。 - - **value** (Tensor)– 与 ``x`` 相加的 Tensor。 ``value`` 的数据类型同 ``x`` 。 + - **x** (Tensor) - 输入 Tensor。 ``x`` 的数据类型可以是 float16,float32,float64,int32,int64。 + - **index** (Tensor) - 包含索引下标的 1-D Tensor。数据类型为 int32 或者 int64。 + - **axis** (int) - 索引轴。数据类型为 int。 + - **value** (Tensor) - 与 ``x`` 相加的 Tensor。 ``value`` 的数据类型同 ``x`` 。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 diff --git a/docs/api/paddle/nn/Embedding_cn.rst b/docs/api/paddle/nn/Embedding_cn.rst index 0d446f7dd5c..5b79a4c4922 100644 --- a/docs/api/paddle/nn/Embedding_cn.rst +++ b/docs/api/paddle/nn/Embedding_cn.rst @@ -5,12 +5,12 @@ Embedding .. py:class:: paddle.nn.Embedding(num_embeddings, embedding_dim, padding_idx=None, max_norm=None, norm_type=2.0, *, scale_grad_by_freq=False, sparse=False, _weight=None, _freeze=False, device=None, dtype=None, weight_attr=None, name=None) -嵌入层(Embedding Layer),用于构建 ``Embedding`` 的一个可调用对象,具体用法参照 ``代码示例``。其根据 ``x`` 中的 id 信息从 embedding 矩阵中查询对应 embedding 信息,并会根据输入的 size (num_embeddings, embedding_dim)和 weight_attr 自动构造一个二维 embedding 矩阵。 +嵌入层(Embedding Layer),用于构建 ``Embedding`` 的一个可调用对象,具体用法参照 ``代码示例`` 。其根据 ``x`` 中的 id 信息从 embedding 矩阵中查询对应 embedding 信息,并会根据输入的 size (num_embeddings, embedding_dim) 和 weight_attr 自动构造一个二维 embedding 矩阵。 输出的 Tensor 的 shape 是在输入 Tensor shape 的最后一维后面添加了 embedding_dim 的维度。 .. note:: - input 中的 id 必须满足 ``0 <= id < size[0]``,否则程序会抛异常退出。 + x 中的 id 必须满足 ``0 <= id < num_embeddings`` ,否则程序会抛出异常并退出。 .. code-block:: text @@ -35,17 +35,17 @@ Embedding 参数 :::::::::::: - - **num_embeddings** (int) - 嵌入字典的大小,input 中的 id 必须满足 ``0 <= id < num_embeddings`` 。 + - **num_embeddings** (int) - 嵌入字典的大小,输入中的 id 必须满足 ``0 <= id < num_embeddings`` 。 - **embedding_dim** (int) - 每个嵌入向量的维度。 - - **padding_idx** (int|long|None,可选) - padding_idx 的配置区间为 ``[-weight.shape[0], weight.shape[0])``,如果配置了 padding_idx,那么在训练过程中遇到此 id 时,其参数及对应的梯度将会以 0 进行填充。 + - **padding_idx** (int|long|None,可选) - padding_idx 的配置区间为 ``[-num_embeddings, num_embeddings)`` ,如果配置了 padding_idx,那么在训练过程中遇到此 id 时,其参数及对应的梯度将会以 0 进行填充。默认值为 None。 - **max_norm** (float,可选) - 若声明,会将范数大于此值的词嵌入向量重新归一化,使其范数等于此值。在动态图模式下会对 ``weight`` 产生 inplace 修改。默认值为 None。 - - **norm_type** (float) - 应用 ``max_norm`` 时所计算的 p 阶范数的 p 值。默认值 2.0。 + - **norm_type** (float) - 应用 ``max_norm`` 时所计算的 p 阶范数的 p 值。默认值为 2.0。 关键字参数 :::::::::::: - - **scale_grad_by_freq** (bool,可选) - 是否根据单词在 mini-batch 中出现频率的倒数缩放梯度。默认值 False。 - - **sparse** (bool,可选) - 是否使用稀疏更新,在词嵌入权重较大的情况下,使用稀疏更新能够获得更快的训练速度及更小的内存/显存占用。 + - **scale_grad_by_freq** (bool,可选) - 是否根据单词在 mini-batch 中出现频率的倒数缩放梯度。默认值为 False。 + - **sparse** (bool,可选) - 是否使用稀疏更新,在词嵌入权重较大的情况下,使用稀疏更新能够获得更快的训练速度及更小的内存/显存占用。默认值为 False。 - **_weight** (Tensor,可选) - 嵌入矩阵的初始化参数,如果提供了此参数,则不会创建新的嵌入矩阵,而是直接使用此参数。 - **_freeze** (bool,可选) - 是否冻结嵌入矩阵的参数,默认值为 False。 - **device** (str|None,可选) - 指定权重所在的设备,默认值为 None。 diff --git a/docs/api/paddle/nn/functional/embedding_cn.rst b/docs/api/paddle/nn/functional/embedding_cn.rst index 1ffbf56ae54..a83f1d762f3 100644 --- a/docs/api/paddle/nn/functional/embedding_cn.rst +++ b/docs/api/paddle/nn/functional/embedding_cn.rst @@ -7,13 +7,13 @@ embedding -嵌入层(Embedding Layer),根据 x 中的 id 信息从 embedding 矩阵中查询对应 embedding 信息,并会根据输入的 size (vocab_size, emb_size)和 dtype 自动构造一个二维 embedding 矩阵。 +用于查找 ``x`` 提供的 id 的嵌入向量。 -输出的 Tensor 的 shape 是将输入 Tensor shape 后追加一维 emb_size。 +输出的 Tensor 的 shape 是将输入 Tensor shape 后追加一维 embedding_dim (weight.shape[1]) 。 .. note:: - x 中的 id 必须满足 ``0 =< id < size[0]``,否则程序会抛异常退出。 + x 中的 id 必须满足 ``0 =< id < weight.shape[0]``,否则程序会抛出异常并退出。 .. note:: 别名支持: 参数名 ``input`` 可替代 ``x``,如 ``input=tensor_x`` 等价于 ``x=tensor_x``。 @@ -26,7 +26,7 @@ embedding x.data = [[1, 3], [2, 4], [4, 127]] x.shape = [3, 2] weight.shape = [128, 16] - 输出是 Tensor: + 输出是 Tensor: out.shape = [3, 2, 16] out.data = [[[0.129435295, 0.244512452, ..., 0.436322452], [0.345421456, 0.524563927, ..., 0.144534654]], @@ -42,20 +42,20 @@ embedding :::::::::::: - - **x** (Tensor) - 存储 id 信息的 Tensor,数据类型必须为:int32/int64。input 中的 id 必须满足 ``0 =< id < size[0]`` 。 - 别名: ``input`` - - **weight** (Tensor) - 存储词嵌入权重参数的 Tensor,形状为(num_embeddings, embedding_dim)。 - - **padding_idx** (int|long|None,可选) - padding_idx 的配置区间为 ``[-weight.shape[0], weight.shape[0]``,如果配置了 padding_idx,那么在训练过程中遇到此 id 时,其参数及对应的梯度将会以 0 进行填充。如果 padding_idx < 0 ,则 padding_idx 将自动转换到 ``weight.shape[0] + padding_idx`` 。如果设置为 "None",则不会对输出产生影响。默认值:None。 + - **x** (Tensor) - 存储 id 信息的 Tensor,数据类型必须为:int32/int64。输入中的 id 必须满足 ``0 =< id < weight.shape[0]``。 + 别名 :``input`` + - **weight** (Tensor) - 存储词嵌入权重参数的 Tensor,形状为 (num_embeddings, embedding_dim) 。 + - **padding_idx** (int|long|None,可选) - padding_idx 的配置区间为 ``[-weight.shape[0], weight.shape[0])``,如果配置了 padding_idx,那么在训练过程中遇到此 id 时,其参数及对应的梯度将会以 0 进行填充。如果 padding_idx < 0 ,则 padding_idx 将自动转换到 ``weight.shape[0] + padding_idx``。如果设置为 None,则不会对输出产生影响。默认值为 None。 - **max_norm** (float,可选) - 若声明,会将范数大于此值的词嵌入向量重新归一化,使其范数等于此值。在动态图模式下会对 ``weight`` 产生 inplace 修改。默认值为 None。 - - **norm_type** (float) - 应用 ``max_norm`` 时所计算的 p 阶范数的 p 值。默认值 2.0。 - - **sparse** (bool,可选) - 是否使用稀疏更新,在词嵌入权重较大的情况下,使用稀疏更新(即设置为 True)能够获得更快的训练速度及更小的内存/显存占用。但是一些优化器不支持稀疏更新,例如 :ref:`cn_api_paddle_optimizer_Adadelta` , :ref:`cn_api_paddle_optimizer_Adamax` , :ref:`cn_api_paddle_optimizer_Lamb` 。在这些情况下,稀疏必须为 False。默认值:False。 - - **scale_grad_by_freq** (bool,可选) - 是否根据单词在 mini-batch 中出现频率的倒数缩放梯度。默认值 False。 + - **norm_type** (float) - 应用 ``max_norm`` 时所计算的 p 阶范数的 p 值。默认值为 2.0。 + - **sparse** (bool,可选) - 是否使用稀疏更新,在词嵌入权重较大的情况下,使用稀疏更新(即设置为 True)能够获得更快的训练速度及更小的内存/显存占用。但是一些优化器不支持稀疏更新,例如 :ref:`cn_api_paddle_optimizer_Adadelta` , :ref:`cn_api_paddle_optimizer_Adamax` , :ref:`cn_api_paddle_optimizer_Lamb` 。在这些情况下,稀疏必须为 False。默认值为 False。 + - **scale_grad_by_freq** (bool,可选) - 是否根据单词在 mini-batch 中出现频率的倒数缩放梯度。默认值为 False。 - **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。 返回 :::::::::::: -Tensor, x 映射后得到的 Embedding Tensor,数据类型和权重定义的类型一致。 +Tensor,x 映射后得到的 Embedding Tensor,数据类型和权重定义的类型一致。 代码示例