From 56226400a75264e9421e2dbb82f24dd1f1db509e Mon Sep 17 00:00:00 2001 From: zhangyi Date: Mon, 18 Jul 2022 15:22:30 +0800 Subject: [PATCH] mcorrect the format of API files --- ....nn.probability.bnn_layers.ConvReparam.rst | 45 ++++++------ ...obability.bnn_layers.DenseLocalReparam.rst | 29 ++++---- ...nn.probability.bnn_layers.DenseReparam.rst | 29 ++++---- ...probability.bnn_layers.NormalPosterior.rst | 22 +++--- ....nn.probability.bnn_layers.NormalPrior.rst | 14 ++-- ...probability.bnn_layers.WithBNNLossCell.rst | 28 ++++---- ...pore.nn.probability.dpn.ConditionalVAE.rst | 51 ++++++------- .../mindspore.nn.probability.dpn.VAE.rst | 45 +++++------- .../mindspore.nn.probability.infer.ELBO.rst | 23 +++--- .../mindspore.nn.probability.infer.SVI.rst | 26 +++---- ...bability.toolbox.UncertaintyEvaluation.rst | 45 ++++++------ ...robability.toolbox.VAEAnomalyDetection.rst | 45 +++++------- ....probability.transforms.TransformToBNN.rst | 43 +++++------ ...mindspore.nn.transformer.AttentionMask.rst | 26 +++---- ...dspore.nn.transformer.CrossEntropyLoss.rst | 19 +++-- ....transformer.EmbeddingOpParallelConfig.rst | 9 ++- .../mindspore.nn.transformer.FeedForward.rst | 42 +++++------ ...re.nn.transformer.FixedSparseAttention.rst | 37 +++++----- .../mindspore.nn.transformer.MoEConfig.rst | 13 ++-- ...pore.nn.transformer.MultiHeadAttention.rst | 61 ++++++++-------- ...dspore.nn.transformer.OpParallelConfig.rst | 7 +- .../mindspore.nn.transformer.Transformer.rst | 71 +++++++++---------- ...pore.nn.transformer.TransformerDecoder.rst | 67 +++++++++-------- ...nn.transformer.TransformerDecoderLayer.rst | 59 ++++++++------- ...pore.nn.transformer.TransformerEncoder.rst | 59 ++++++++------- ...nn.transformer.TransformerEncoderLayer.rst | 54 +++++++------- ...ransformer.TransformerOpParallelConfig.rst | 21 +++--- ...transformer.TransformerRecomputeConfig.rst | 11 ++- ...indspore.nn.transformer.VocabEmbedding.rst | 36 +++++----- 29 files changed, 470 insertions(+), 567 deletions(-) diff --git a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.ConvReparam.rst b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.ConvReparam.rst index c320d7f93d2..36220ee3fc9 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.ConvReparam.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.ConvReparam.rst @@ -7,34 +7,31 @@ mindspore.nn.probability.bnn_layers.ConvReparam 更多相关信息可以查阅 `自动编码变分贝叶斯 `_ 相关论文。 - **参数:** + 参数: + - **in_channels** (int) - 输入的channels :math:`C_{in}`。 + - **out_channels** (int) - 输出的channels :math:`C_{out}`。 + - **kernel_size** (Union[int, tuple[int]]) - 数据类型是 int 或2个 int 的元组。内核大小指定二维卷积窗口的高度和宽度。若为一个整数则高度和宽度均为该值,若为元组则两个值分别为高度和宽度。 + - **stride** (Union[int, tuple[int]]) - 内核移动的距离,若是一个整数表示,则移动的高度和宽度都是步幅,或者两个整数的元组分别表示移动的高度和宽度。默认值:1。 + - **pad_mode** (str) - 指定填充模式。可选值是"same"、"valid"和"pad"。默认值:"same"。 - - **in_channels** (int) - 输入的channels :math:`C_{in}`。 - - **out_channels** (int) – 输出的channels :math:`C_{out}`。 - - **kernel_size** (Union[int, tuple[int]]) - 数据类型是 int 或2个 int 的元组。内核大小指定二维卷积窗口的高度和宽度。若为一个整数则高度和宽度均为该值,若为元组则两个值分别为高度和宽度。 - - **stride** (Union[int, tuple[int]]) – 内核移动的距离,若是一个整数表示,则移动的高度和宽度都是步幅,或者两个整数的元组分别表示移动的高度和宽度。默认值:1。 - - **pad_mode** (str) – 指定填充模式。可选值是"same"、"valid"和"pad"。默认值:"same"。 + - same:采用补全方式。输出高度和宽度将与输入相同。将在水平和垂直方向上计算填充的总数,并尽可能均匀地分布在顶部和底部、左侧和右侧。否则,最后的额外填充将从底部和右侧完成。如果设置了此模式,则 `padding` 必须为0。 - - same:采用补全方式。输出高度和宽度将与输入相同。将在水平和垂直方向上计算填充的总数,并尽可能均匀地分布在顶部和底部、左侧和右侧。否则,最后的额外填充将从底部和右侧完成。如果设置了此模式,则 `padding` 必须为0。 + - valid:采用丢弃的方式。输出的可能最大高度和宽度将不带 padding 返回。多余的像素将被丢弃。如果设置了此模式,则 `padding` 必须为0。 - - valid:采用丢弃的方式。输出的可能最大高度和宽度将不带 padding 返回。多余的像素将被丢弃。如果设置了此模式,则 `padding` 必须为0。 + - pad:输入两侧的隐式 padding。 `padding` 的值将被填充到输入 Tensor 边界。 `padding` 必须大于或等于0。 - - pad:输入两侧的隐式 padding。 `padding` 的值将被填充到输入 Tensor 边界。 `padding` 必须大于或等于0。 - - - **padding** (Union[int, tuple[int]]) – 输入两侧的隐式 padding 。默认值:0。 - - **dilation** (Union[int, tuple[int]]) – 数据类型是 int 或2个 int 的元组。该参数指定空洞卷积的空洞率。如果设置为k>1, 将有k−1每个采样位置跳过的像素。它的值必须大于或等于1,并受输入的高度和宽度限制。默认值:1。 - - **group** (int) – 将过滤器拆分为组,`in_channels` 和 `out_channels` 必须能被组数整除。默认值:1。 - - **has_bias** (bool) – 指定层是否使用偏置向量。默认值:false。 - - **weight_prior_fn** (Cell) – 权重的先验分布。它必须返回一个 MindSpore 分布实例。默认值:NormalPrior。(创建标准正态分布的一个实例)。当前版本仅支持正态分布。 - - **weight_posterior_fn** (function) – 采样权重的后验分布。它必须是一个函数句柄,它返回一个 MindSpore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 - - **bias_prior_fn** (Cell) – 偏置向量的先验分布。它必须返回一个 MindSpore 分布实例。默认值:NormalPrior(创建标准正态分布的实例)。当前版本仅支持正态分布。 - - **bias_posterior_fn** (function) – 采样偏差向量的后验分布。它必须是一个函数句柄,它返回一个 MindSpore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 + - **padding** (Union[int, tuple[int]]) - 输入两侧的隐式 padding 。默认值:0。 + - **dilation** (Union[int, tuple[int]]) - 数据类型是 int 或2个 int 的元组。该参数指定空洞卷积的空洞率。如果设置为k>1,将有k−1每个采样位置跳过的像素。它的值必须大于或等于1,并受输入的高度和宽度限制。默认值:1。 + - **group** (int) - 将过滤器拆分为组,`in_channels` 和 `out_channels` 必须能被组数整除。默认值:1。 + - **has_bias** (bool) - 指定层是否使用偏置向量。默认值:false。 + - **weight_prior_fn** (Cell) - 权重的先验分布。它必须返回一个 MindSpore 分布实例。默认值:NormalPrior。(创建标准正态分布的一个实例)。当前版本仅支持正态分布。 + - **weight_posterior_fn** (function) - 采样权重的后验分布。它必须是一个函数句柄,它返回一个 MindSpore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 + - **bias_prior_fn** (Cell) - 偏置向量的先验分布。它必须返回一个 MindSpore 分布实例。默认值:NormalPrior(创建标准正态分布的实例)。当前版本仅支持正态分布。 + - **bias_posterior_fn** (function) - 采样偏差向量的后验分布。它必须是一个函数句柄,它返回一个 MindSpore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 - **输入:** + 输入: + - **input** (Tensor) - 输入 Tensor 的 shape 为 :math:`(N, C_{in})`。 - - **input** (Tensor) - 输入 Tensor 的 shape 为 :math:`(N, C_{in})`。 - - **输出:** - - Tensor,输出张量的形状是 :math:`(N, C_{out}, H_{out}, W_{out})`。 + 输出: + Tensor,输出张量的形状是 :math:`(N, C_{out}, H_{out}, W_{out})`。 diff --git a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.DenseLocalReparam.rst b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.DenseLocalReparam.rst index 3ee2d2aa267..21581978c40 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.DenseLocalReparam.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.DenseLocalReparam.rst @@ -14,21 +14,18 @@ mindspore.nn.probability.bnn_layers.DenseLocalReparam 此公式中,activation 为激活函数(若 `activation` 参数传入),是与创建层的输入具有相同数据类型的权重矩阵。weight 是从权重的后验分布采样的权重矩阵。bias 是与由层创建的输入具有相同数据类型的偏置向量(仅当 `has_bias` 为 True 时),从 bias 的后验分布中采样。 - **参数:** + 参数: + - **in_channels** (int) - 输入通道的数量。 + - **out_channels** (int) - 输出通道的数量。 + - **activation** (str, Cell) - 应用于输出层的正则化函数。激活的类型可以是 string(例如'relu')或 Cell(例如nn.ReLU())。注意,如果激活的类型是 Cell,则必须事先实例化。默认值:None。 + - **has_bias** (bool) - 指定层是否使用偏置向量。默认值:True。 + - **weight_prior_fn** (Cell) - 它必须返回一个 mindspore 分布实例。默认值:NormalPrior。(创建标准正态分布的一个实例)。当前版本仅支持正态分布。 + - **weight_posterior_fn** (function) - 采样权重的后验分布。它必须是一个函数句柄,它返回一个 mindspore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 + - **bias_prior_fn** (Cell) - 偏置向量的先验分布。它必须返回一个 mindspore 分布实例。默认值:NormalPrior(创建标准正态分布的实例)。当前版本仅支持正态分布。 + - **bias_posterior_fn** (function) - 采样偏差向量的后验分布。它必须是一个函数句柄,它返回一个 mindspore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 - - **in_channels** (int) – 输入通道的数量。 - - **out_channels** (int) - 输出通道的数量。 - - **activation** (str, Cell) – 应用于输出层的正则化函数。激活的类型可以是 string(例如'relu')或 Cell(例如nn.ReLU())。注意,如果激活的类型是 Cell,则必须事先实例化。默认值:None。 - - **has_bias** (bool) - 指定层是否使用偏置向量。默认值:True。 - - **weight_prior_fn** (Cell) - 它必须返回一个 mindspore 分布实例。默认值:NormalPrior。(创建标准正态分布的一个实例)。当前版本仅支持正态分布。 - - **weight_posterior_fn** (function) – 采样权重的后验分布。它必须是一个函数句柄,它返回一个 mindspore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 - - **bias_prior_fn** (Cell) – 偏置向量的先验分布。它必须返回一个 mindspore 分布实例。默认值:NormalPrior(创建标准正态分布的实例)。当前版本仅支持正态分布。 - - **bias_posterior_fn** (function) – 采样偏差向量的后验分布。它必须是一个函数句柄,它返回一个 mindspore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 + 输入: + - **input** (Tensor) - `input` 的 shape 是 :math:`(N, in\_channels)`。 - **输入:** - - - **input** (Tensor) - `input` 的 shape 是 :math:`(N, in\_channels)`。 - - **输出:** - - Tensor,`output` 的 shape 是 :math:`(N, out\_channels)`。 \ No newline at end of file + 输出: + Tensor,`output` 的 shape 是 :math:`(N, out\_channels)`。 \ No newline at end of file diff --git a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.DenseReparam.rst b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.DenseReparam.rst index f4b8bf341d9..68e7a26934b 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.DenseReparam.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.DenseReparam.rst @@ -15,21 +15,18 @@ mindspore.nn.probability.bnn_layers.DenseReparam 此公式中,activation 为激活函数(若 `activation` 参数传入),是与创建层的输入具有相同数据类型的权重矩阵。weight 是从权重的后验分布采样的权重矩阵。bias 是与由层创建的输入具有相同数据类型的偏置向量(仅当 `has_bias` 为 True 时),从 bias 的后验分布中采样。 - **参数:** + 参数: + - **in_channels** (int) - 输入通道的数量。 + - **out_channels** (int) - 输出通道的数量。 + - **activation** (str, Cell) - 应用于层输出的正则化函数。激活的类型可以是 str(例如'relu')或 Cell(例如nn.ReLU())。注意,如果激活的类型是 Cell,则必须事先实例化。默认值:None。 + - **has_bias** (bool) - 指定层是否使用偏置向量。默认值:True。 + - **weight_prior_fn** (Cell) - 权重的先验分布。它必须返回一个 mindspore 分布实例。默认值:NormalPrior。(创建标准正态分布的一个实例)。当前版本仅支持正态分布。 + - **weight_posterior_fn** (function) - 采样权重的后验分布。它必须是一个函数句柄,它返回一个 mindspore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 + - **bias_prior_fn** (Cell) - 偏置向量的先验分布。它必须返回一个 mindspore 分布实例。默认值:NormalPrior(创建标准正态分布的实例)。当前版本仅支持正态分布。 + - **bias_posterior_fn** (function) - 采样偏差向量的后验分布。它必须是一个函数句柄,它返回一个 mindspore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 - - **in_channels** (int) – 输入通道的数量。 - - **out_channels** (int) – 输出通道的数量。 - - **activation** (str, Cell) – 应用于层输出的正则化函数。激活的类型可以是 str(例如'relu')或 Cell(例如nn.ReLU())。注意,如果激活的类型是 Cell,则必须事先实例化。默认值:None。 - - **has_bias** (bool) - 指定层是否使用偏置向量。默认值:True。 - - **weight_prior_fn** (Cell) - 权重的先验分布。它必须返回一个 mindspore 分布实例。默认值:NormalPrior。(创建标准正态分布的一个实例)。当前版本仅支持正态分布。 - - **weight_posterior_fn** (function) - 采样权重的后验分布。它必须是一个函数句柄,它返回一个 mindspore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 - - **bias_prior_fn** (Cell) - 偏置向量的先验分布。它必须返回一个 mindspore 分布实例。默认值:NormalPrior(创建标准正态分布的实例)。当前版本仅支持正态分布。 - - **bias_posterior_fn** (function) – 采样偏差向量的后验分布。它必须是一个函数句柄,它返回一个 mindspore 分布实例。默认值:normal_post_fn。当前版本仅支持正态分布。 + 输入: + - **input** (Tensor) - `input` 的 shape 是 :math:`(N, in\_channels)`。 - **输入:** - - - **input** (Tensor) - `input` 的 shape 是 :math:`(N, in\_channels)`。 - - **输出:** - - Tensor,`output` 的 shape 是 :math:`(N, out\_channels)`。 \ No newline at end of file + 输出: + Tensor,`output` 的 shape 是 :math:`(N, out\_channels)`。 \ No newline at end of file diff --git a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.NormalPosterior.rst b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.NormalPosterior.rst index 7e51a7fa0e5..ffd8041276e 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.NormalPosterior.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.NormalPosterior.rst @@ -5,16 +5,14 @@ mindspore.nn.probability.bnn_layers.NormalPosterior 用可训练的参数构建正态分布。 - **参数:** + 参数: + - **name** (str) - 可训练参数的前置名。 + - **shape** (list, tuple) - 均值和标准差的 shape。 + - **dtype** (:class:`mindspore.dtype`) - 用于定义输出张量的数据类型参数。默认值:mindspore.float32。 + - **loc_mean** (int, float) - 初始化可训练参数的分布均值。默认值:0。 + - **loc_std** (int, float) - 初始化可训练参数的分布标准差。默认值:0.1。 + - **untransformed_scale_mean** (int, float) - 初始化可训练参数的分布均值。默认值:-5。 + - **untransformed_scale_std** (int, float) - 初始化可训练参数的分布标准差。默认值:0.1。 - - **name** (str) – 可训练参数的前置名。 - - **shape** (list, tuple) – 均值和标准差的 shape。 - - **dtype** (:class:`mindspore.dtype`) - 用于定义输出张量的数据类型参数。默认值:mindspore.float32。 - - **loc_mean** (int, float) – 初始化可训练参数的分布均值。默认值:0。 - - **loc_std** (int, float) - 初始化可训练参数的分布标准差。默认值:0.1。 - - **untransformed_scale_mean** (int, float) – 初始化可训练参数的分布均值。默认值:-5。 - - **untransformed_scale_std** (int, float) - 初始化可训练参数的分布标准差。默认值:0.1。 - - **返回:** - - Cell,一种正态分布结果。 + 返回: + Cell,一种正态分布结果。 diff --git a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.NormalPrior.rst b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.NormalPrior.rst index dc3287338f5..5ef51493ff1 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.NormalPrior.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.NormalPrior.rst @@ -5,12 +5,10 @@ mindspore.nn.probability.bnn_layers.NormalPrior 初始化均值 0 和标准差 0.1 的正态分布。 - **参数:** + 参数: + - **dtype** (:class:`mindspore.dtype`) - 用于定义输出 Tensor 的数据类型的参数。默认值:mstype.float32。 + - **mean** (int, float) - 正态分布的平均值。默认值:0。 + - **std** (int, float) - 正态分布的标准差。默认值:0.1。 - - **dtype** (:class:`mindspore.dtype`) – 用于定义输出 Tensor 的数据类型的参数。默认值:mstype.float32。 - - **mean** (int, float) - 正态分布的平均值。默认值:0。 - - **std** (int, float) - 正态分布的标准差。默认值:0.1。 - - **返回:** - - Cell,一种正态分布的结果。 + 返回: + Cell,一种正态分布的结果。 diff --git a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.WithBNNLossCell.rst b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.WithBNNLossCell.rst index 85c9f0116a7..69c15b10837 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.WithBNNLossCell.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.bnn_layers.WithBNNLossCell.rst @@ -5,27 +5,23 @@ mindspore.nn.probability.bnn_layers.WithBNNLossCell 为 BNN 生成一个合适的 WithLossCell,用损失函数包装贝叶斯网络。 - **参数:** + 参数: + - **backbone** (Cell) - 目标网络。 + - **loss_fn** (Cell) - 用于计算损失的损失函数。 + - **dnn_factor** (int, float) - backbone 的损失系数,由损失函数计算。默认值:1。 + - **bnn_factor** (int, float) - KL 损失系数,即贝叶斯层的 KL 散度。默认值:1。 - - **backbone** (Cell) - 目标网络。 - - **loss_fn** (Cell) - 用于计算损失的损失函数。 - - **dnn_factor** (int, float) – backbone 的损失系数,由损失函数计算。默认值:1。 - - **bnn_factor** (int, float) - KL 损失系数,即贝叶斯层的 KL 散度。默认值:1。 + 输入: + - **data** (Tensor) - `data` 的 shape :math:`(N, \ldots)`。 + - **label** (Tensor) - `label` 的 shape :math:`(N, \ldots)`。 - **输入:** - - - **data** (Tensor) - `data` 的 shape :math:`(N, \ldots)`。 - - **label** (Tensor) - `label` 的 shape :math:`(N, \ldots)`。 - - **输出:** - - Tensor,任意 shape 的标量 Tensor。 + 输出: + Tensor,任意 shape 的标量 Tensor。 .. py:method:: backbone_network :property: 返回backbone_network。 - **返回:** - - Cell,backbone_network。 + 返回: + Cell,backbone_network。 diff --git a/docs/api/api_python/probability/mindspore.nn.probability.dpn.ConditionalVAE.rst b/docs/api/api_python/probability/mindspore.nn.probability.dpn.ConditionalVAE.rst index ce40f0806ed..25ba884225f 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.dpn.ConditionalVAE.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.dpn.ConditionalVAE.rst @@ -9,46 +9,39 @@ mindspore.nn.probability.dpn.ConditionalVAE .. note:: 定义编码器和解码器时,编码器的输出 Tensor 和解码器的输入 Tensor 的 shape 必须是 :math:`(N, hidden\_size)`。潜在大小必须小于或等于隐藏大小。 - **参数:** + 参数: + - **encoder** (Cell) - 定义为编码器的深度神经网络 (DNN) 模型。 + - **decoder** (Cell) - 定义为解码器的深度神经网络 (DNN) 模型。 + - **hidden_size** (int) - 编码器输出 Tensor 的隐藏大小。 + - **latent_size** (int) - 潜在空间的大小。 + - **num_classes** (int) - 类的数量。 - - **encoder** (Cell) - 定义为编码器的深度神经网络 (DNN) 模型。 - - **decoder** (Cell) - 定义为解码器的深度神经网络 (DNN) 模型。 - - **hidden_size** (int) - 编码器输出 Tensor 的隐藏大小。 - - **latent_size** (int) - 潜在空间的大小。 - - **num_classes** (int) - 类的数量。 + 输入: + - **input_x** (Tensor) - 输入 Tensor 的 shape 是 :math:`(N, C, H, W)`,与编码器的输入相同。 + - **input_y** (Tensor) - 目标数据的 Tensor,shape 为 :math:`(N,)`。 - **输入:** - - - **input_x** (Tensor) - 输入 Tensor 的 shape 是 :math:`(N, C, H, W)`,与编码器的输入相同。 - - **input_y** (Tensor) - 目标数据的 Tensor,shape 为 :math:`(N,)`。 - - **输出:** - - - **output** (tuple) - tuple 包含 (recon_x(Tensor), x(Tensor), mu(Tensor), std(Tensor))。 + 输出: + - **output** (tuple) - tuple 包含 (recon_x(Tensor), x(Tensor), mu(Tensor), std(Tensor))。 .. py:method:: generate_sample(sample_y, generate_nums, shape) 从潜在空间中随机采样以生成样本。 - **参数:** + 参数: + - **sample_y** (Tensor) - 定义样本的标签。Tensor 的 shape (`generate_nums`, ) 和类型 mindspore.int32。 + - **generate_nums** (int) - 要生成的样本数。 + - **shape** (tuple) - 样例的 shape,格式必须为 (`generate_nums`, C, H, W) 或 (-1, C, H, W)。 - - **sample_y** (Tensor) - 定义样本的标签。 Tensor 的 shape (`generate_nums`, ) 和类型 mindspore.int32。 - - **generate_nums** (int) - 要生成的样本数。 - - **shape** (tuple) - 样例的 shape,格式必须为 (`generate_nums`, C, H, W) 或 (-1, C, H, W)。 - - **返回:** - - Tensor,生成的样本。 + 返回: + Tensor,生成的样本。 .. py:method:: reconstruct_sample(x, y) 从原始数据重建样本。 - **参数:** + 参数: + - **x** (Tensor) - 重构的输入 Tensor,shape 为 (N, C, H, W)。 + - **y** (Tensor) - 输入 Tensor 的 label,shape 为 (N, C, H, W)。 - - **x** (Tensor) - 重构的输入 Tensor,shape 为 (N, C, H, W)。 - - **y** (Tensor) - 输入 Tensor 的 label,shape 为 (N, C, H, W)。 - - **返回:** - - Tensor,重建的样本。 + 返回: + Tensor,重建的样本。 diff --git a/docs/api/api_python/probability/mindspore.nn.probability.dpn.VAE.rst b/docs/api/api_python/probability/mindspore.nn.probability.dpn.VAE.rst index 0242c995842..9f69bc40627 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.dpn.VAE.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.dpn.VAE.rst @@ -6,44 +6,37 @@ mindspore.nn.probability.dpn.VAE 变分自动编码器 (VAE)。 VAE 定义了一个生成模型,Z从先验中采样,然后由解码器用于重建X。有关更多详细信息,请参阅 `自动编码变分贝叶斯 `_。 - .. note:: 定义编码器和解码器时,编码器的输出 Tensor 和解码器的输入Tensor 的 shape 必须是 :math:`(N, hidden\_size)`。 潜在大小必须小于或等于隐藏大小。 + .. note:: 定义编码器和解码器时,编码器的输出 Tensor 和解码器的输入Tensor 的 shape 必须是 :math:`(N, hidden\_size)`。潜在大小必须小于或等于隐藏大小。 - **参数:** + 参数: + - **encoder** (Cell) - 定义为编码器的深度神经网络 (DNN) 模型。 + - **decoder** (Cell) - 定义为解码器的深度神经网络 (DNN) 模型。 + - **hidden_size** (int) - 编码器输出 Tensor 的隐藏大小。 + - **latent_size** (int) - 潜在空间的大小。 - - **encoder** (Cell) - 定义为编码器的深度神经网络 (DNN) 模型。 - - **decoder** (Cell) - 定义为解码器的深度神经网络 (DNN) 模型。 - - **hidden_size** (int) - 编码器输出 Tensor 的隐藏大小。 - - **latent_size** (int) - 潜在空间的大小。 + 输入: + - **input** (Tensor) - 输入 Tensor 的 shape 是 :math:`(N, C, H, W)`,与编码器的输入相同。 - **输入:** - - - **input** (Tensor) - 输入 Tensor 的 shape 是 :math:`(N, C, H, W)`,与编码器的输入相同。 - - **输出:** - - - **output** (Tuple) - (recon_x(Tensor),x(Tensor),mu(Tensor),std(Tensor))。 + 输出: + - **output** (Tuple) - (recon_x(Tensor),x(Tensor),mu(Tensor),std(Tensor))。 .. py:method:: generate_sample(generate_nums, shape) 从潜在空间中随机采样以生成样本。 - **参数:** + 参数: + - **generate_nums** (int) - 要生成的样本数。 + - **shape** (tuple) - 样本的 shape,它必须是 :math:`(generate_nums, C, H, W)` 或 :math:`(-1, C, H, W)`。 - - **generate_nums** (int)- 要生成的样本数。 - - **shape** (tuple)- 样本的 shape,它必须是 :math:`(generate_nums, C, H, W)` 或 :math:`(-1, C, H, W)`。 - - **返回:** - - Tensor,生成的样本。 + 返回: + Tensor,生成的样本。 .. py:method:: reconstruct_sample(x) 从原始数据重建样本。 - **参数:** + 参数: + - **x** (Tensor) - 要重构的输入 Tensor,shape 为 :math:`(N, C, H, W)`。 - - **x** (Tensor) - 要重构的输入 Tensor,shape 为 :math:`(N, C, H, W)`。 - - **返回:** - - Tensor,重构的样本。 + 返回: + Tensor,重构的样本。 diff --git a/docs/api/api_python/probability/mindspore.nn.probability.infer.ELBO.rst b/docs/api/api_python/probability/mindspore.nn.probability.infer.ELBO.rst index 675fc1355fb..5ec9e0d8a31 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.infer.ELBO.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.infer.ELBO.rst @@ -8,18 +8,15 @@ mindspore.nn.probability.infer.ELBO 它使 ELBO 最大化,这是观测值 log p(x) 的边际概率的对数的下限。ELBO 等于负 KL 散度加上一个附加常数。更多详细信息,请参阅 `变分推理:统计学家评论 `_。 - **参数:** + 参数: + - **latent_prior** (str) - 潜在空间的先验分布。默认值:Normal。 + Normal:潜在空间的先验分布是正态的。 + - **output_prior** (str) - 输出数据的分布。默认值:Normal。 + Normal:如果输出数据的分布是 Normal,那么 reconstruction loss 就是 MSELoss。 - - **latent_prior** (str) - 潜在空间的先验分布。默认值:Normal。 - Normal : 潜在空间的先验分布是正态的。 - - **output_prior** (str) - 输出数据的分布。默认值:Normal。 - Normal : 如果输出数据的分布是 Normal,那么 reconstruction loss 就是 MSELoss。 + 输入: + - **input_data** (Tuple) - (recon_x(Tensor), x(Tensor), mu(Tensor), std(Tensor))。 + - **target_data** (Tensor) - 目标 Tensor 的 shape 是 :math:`(N,)`。 - **输入:** - - - **input_data** (Tuple)- (recon_x(Tensor), x(Tensor), mu(Tensor), std(Tensor))。 - - **target_data** (Tensor)- 目标 Tensor 的 shape 是 :math:`(N,)`。 - - **输出:** - - Tensor,损失浮动张量。 + 输出: + Tensor,损失浮动张量。 diff --git a/docs/api/api_python/probability/mindspore.nn.probability.infer.SVI.rst b/docs/api/api_python/probability/mindspore.nn.probability.infer.SVI.rst index 9f821dede13..89198116259 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.infer.SVI.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.infer.SVI.rst @@ -5,29 +5,25 @@ mindspore.nn.probability.infer.SVI 随机变分推断(Stochastic Variational Inference)。 - 变分推断将推理问题转换为优化问题。隐藏变量上的一些分布由一组自由参数索引,这些参数经过优化,使分布成为最接近正确的后验分布。更多详细信息,请参阅 + 变分推断将推理问题转换为优化问题。隐藏变量上的一些分布由一组自由参数索引,这些参数经过优化,使分布成为最接近正确的后验分布。更多详细信息,请参阅 `变分推理:统计学家评论 `_。 - **参数:** - - - **net_with_loss** (Cell) - 具有损失函数的单元格。 - - **optimizer** (Cell) - 更新权重的优化器。 + 参数: + - **net_with_loss** (Cell) - 具有损失函数的单元格。 + - **optimizer** (Cell) - 更新权重的优化器。 .. py:method:: get_train_loss() - **返回:** - - numpy.dtype,训练损失。 + 返回: + numpy.dtype,训练损失。 .. py:method:: run(train_dataset, epochs=10) 通过训练概率网络来优化参数,并返回训练好的网络。 - **参数:** - - - **train_dataset** (Dataset) - 训练数据集迭代器。 - - **epochs** (int) - 数据的迭代总数。默认值:10。 + 参数: + - **train_dataset** (Dataset) - 训练数据集迭代器。 + - **epochs** (int) - 数据的迭代总数。默认值:10。 - **返回:** - - Cell,经过训练的概率网络。 \ No newline at end of file + 返回: + Cell,经过训练的概率网络。 \ No newline at end of file diff --git a/docs/api/api_python/probability/mindspore.nn.probability.toolbox.UncertaintyEvaluation.rst b/docs/api/api_python/probability/mindspore.nn.probability.toolbox.UncertaintyEvaluation.rst index 7deb590af0d..c48e7f4d141 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.toolbox.UncertaintyEvaluation.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.toolbox.UncertaintyEvaluation.rst @@ -5,40 +5,35 @@ mindspore.nn.probability.toolbox.UncertaintyEvaluation 包含数据不确定性和模型不确定性的评估工具箱。 - **参数:** - - - **model** (cell)- 不确定性评估的模型。 - - **train_dataset** (Dataset) – 用于训练模型的数据集迭代器。 - - **task_type** (str) – 模型任务类型的选项 - - regression:回归模型。 - - classification:分类模型。 - - **num_classes** (int) - 分类标签的数量。如果任务类型为分类,则必须设置;否则,它是不需要的。默认值:None。 - - **epochs** (int) - 数据的迭代总数。默认值:1。 - - **epi_uncer_model_path** (str) - 认知不确定性模型的保存或读取路径。默认值:None。 - - **ale_uncer_model_path** (str) - 任意不确定性模型的保存或读取路径。默认值:None。 - - **save_model** (bool) - 是否保存不确定性模型,如果为 true,`epi_uncer_model_path` 和 `ale_uncer_model_path` 不能为 None。 - 如果为 false,则从不确定性模型的路径中加载要评估的模型;如果未给出路径,则不会保存或加载不确定性模型。默认值:false。 + 参数: + - **model** (cell) - 不确定性评估的模型。 + - **train_dataset** (Dataset) - 用于训练模型的数据集迭代器。 + - **task_type** (str) - 模型任务类型的选项。 + - regression:回归模型。 + - classification:分类模型。 + - **num_classes** (int) - 分类标签的数量。如果任务类型为分类,则必须设置;否则,它是不需要的。默认值:None。 + - **epochs** (int) - 数据的迭代总数。默认值:1。 + - **epi_uncer_model_path** (str) - 认知不确定性模型的保存或读取路径。默认值:None。 + - **ale_uncer_model_path** (str) - 任意不确定性模型的保存或读取路径。默认值:None。 + - **save_model** (bool) - 是否保存不确定性模型,如果为 true,`epi_uncer_model_path` 和 `ale_uncer_model_path` 不能为 None。 + 如果为 false,则从不确定性模型的路径中加载要评估的模型;如果未给出路径,则不会保存或加载不确定性模型。默认值:false。 .. py:method:: eval_aleatoric_uncertainty(eval_data) 评估推理结果的任意不确定性,也称为数据不确定性。 - **参数:** + 参数: + - **eval_data** (Tensor) - 要评估的数据样本,shape 必须是 (N,C,H,W)。 - - **eval_data** (Tensor) - 要评估的数据样本,shape 必须是 (N,C,H,W)。 - - **返回:** - - numpy.dtype,数据样本推断结果的任意不确定性。 + 返回: + numpy.dtype,数据样本推断结果的任意不确定性。 .. py:method:: eval_epistemic_uncertainty(eval_data) 评估推理结果的认知不确定性,也称为模型不确定性。 - **参数:** + 参数: + - **eval_data** (Tensor) - 要评估的数据样本,shape 必须是 (N,C,H,W)。 - - **eval_data** (Tensor) - 要评估的数据样本,shape 必须是 (N,C,H,W)。 - - **返回:** - - numpy.dtype,数据样本推断结果的任意不确定性。 \ No newline at end of file + 返回: + numpy.dtype,数据样本推断结果的任意不确定性。 \ No newline at end of file diff --git a/docs/api/api_python/probability/mindspore.nn.probability.toolbox.VAEAnomalyDetection.rst b/docs/api/api_python/probability/mindspore.nn.probability.toolbox.VAEAnomalyDetection.rst index 138ddff0f65..61f66700568 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.toolbox.VAEAnomalyDetection.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.toolbox.VAEAnomalyDetection.rst @@ -7,47 +7,40 @@ mindspore.nn.probability.toolbox.VAEAnomalyDetection 变分自动编码器(VAE)可用于无监督异常检测。异常分数是 sample_x 与重建 sample_x 之间的误差。如果分数高,则 X 大多是异常值。 - **参数:** - - - **encoder** (Cell) - 定义为编码器的深度神经网络 (DNN) 模型。 - - **decoder** (Cell) - 定义为解码器的深度神经网络 (DNN) 模型。 - - **hidden_size** (int) - 编码器输出 Tensor 的大小。默认值:400。 - - **latent_size** (int) - 潜在空间的大小。默认值:20。 + 参数: + - **encoder** (Cell) - 定义为编码器的深度神经网络 (DNN) 模型。 + - **decoder** (Cell) - 定义为解码器的深度神经网络 (DNN) 模型。 + - **hidden_size** (int) - 编码器输出 Tensor 的大小。默认值:400。 + - **latent_size** (int) - 潜在空间的大小。默认值:20。 .. py:method:: predict_outlier(sample_x, threshold=100.0) 预测样本是否为异常值。 - **参数:** + 参数: + - **sample_x** (Tensor) - 待预测的样本,shape 为 (N, C, H, W)。 + - **threshold** (float) - 异常值的阈值。默认值:100.0。 - - **sample_x** (Tensor) – 待预测的样本,shape 为 (N, C, H, W)。 - - **threshold** (float) – 异常值的阈值。默认值:100.0。 - - **返回:** - - bool,样本是否为异常值。 + 返回: + bool,样本是否为异常值。 .. py:method:: predict_outlier_score(sample_x) 预测异常值分数。 - **参数:** + 参数: + - **sample_x** (Tensor) - 待预测的样本,shape 为 (N, C, H, W)。 - - **sample_x** (Tensor) - 待预测的样本,shape 为 (N, C, H, W)。 - - **返回:** - - float,样本的预测异常值分数。 + 返回: + float,样本的预测异常值分数。 .. py:method:: train(train_dataset , epochs=5) 训练 VAE 模型。 - **参数:** + 参数: + - **train_dataset** (Dataset) - 用于训练模型的数据集迭代器。 + - **epochs** (int) - 数据的迭代总数。默认值:5。 - - **train_dataset** (Dataset) - 用于训练模型的数据集迭代器。 - - **epochs** (int) - 数据的迭代总数。默认值:5。 - - **返回:** - - Cell,训练完的模型。 \ No newline at end of file + 返回: + Cell,训练完的模型。 \ No newline at end of file diff --git a/docs/api/api_python/probability/mindspore.nn.probability.transforms.TransformToBNN.rst b/docs/api/api_python/probability/mindspore.nn.probability.transforms.TransformToBNN.rst index ba01ba553e3..5fa3b76cf6e 100644 --- a/docs/api/api_python/probability/mindspore.nn.probability.transforms.TransformToBNN.rst +++ b/docs/api/api_python/probability/mindspore.nn.probability.transforms.TransformToBNN.rst @@ -5,41 +5,36 @@ mindspore.nn.probability.transforms.TransformToBNN 将深度神经网络 (DNN) 模型转换为贝叶斯神经网络 (BNN) 模型。 - **参数:** + 参数: + - **trainable_dnn** (Cell) - 由 TrainOneStepCell 包装的可训练 DNN 模型(backbone)。 + - **dnn_factor** (int, float) - backbone 的损失系数,由损失函数计算。默认值:1。 + - **bnn_factor** (int, float) - KL 损失系数,即贝叶斯层的 KL 散度。默认值:1。 - - **trainable_dnn** (Cell) - 由 TrainOneStepCell 包装的可训练 DNN 模型(backbone)。 - - **dnn_factor** (int, float) - backbone 的损失系数,由损失函数计算。默认值:1。 - - **bnn_factor** (int, float) – KL 损失系数,即贝叶斯层的 KL 散度。默认值:1。 - - .. py:method:: transform_to_bnn_layer(dnn_layer_type , bnn_layer_type , get_args=None , add_args=None ) + .. py:method:: transform_to_bnn_layer(dnn_layer_type, bnn_layer_type, get_args=None, add_args=None) 将 DNN 模型中的特定类型的层转换为相应的 BNN 层。 - **参数:** + 参数: + - **dnn_layer_type** (Cell) - 要转换为 BNN 层的 DNN 层的类型。可选值为 nn.Dense 和 nn.Conv2d。 + - **bnn_layer_type** (Cell) - 要转换到的 BNN 层的类型。可选值是 DenseReparam 和 ConvReparam。 + - **get_args** - 从 DNN 层获得的参数。默认值:None。 + - **add_args** (dict) - 添加到 BNN 层的新参数。请注意, `add_args` 中的参数不得与 `get_args` 中的参数重复。默认值:None。 - - **dnn_layer_type** (Cell) - 要转换为 BNN 层的 DNN 层的类型。可选值为 nn.Dense 和 nn.Conv2d。 - - **bnn_layer_type** (Cell) - 要转换到的 BNN 层的类型。可选值是 DenseReparam 和 ConvReparam。 - - **get_args** – 从 DNN 层获得的参数。默认值:None。 - - **add_args** (dict) - 添加到 BNN 层的新参数。请注意, `add_args` 中的参数不得与 `get_args` 中的参数重复。默认值:None。 - - **返回:** - - Cell,由 TrainOneStepCell 包裹的可训练模型,其特定类型的层被转换为对应的贝叶斯层。 + 返回: + Cell,由 TrainOneStepCell 包裹的可训练模型,其特定类型的层被转换为对应的贝叶斯层。 .. py:method:: transform_to_bnn_model(get_dense_args=lambda dp: {"in_channels": dp.in_channels, "has_bias": dp.has_bias, "out_channels": dp.out_channels, "activation": dp.activation}, get_conv_args=lambda dp: {"in_channels": dp.in_channels, "out_channels": dp.out_channels, "pad_mode": dp.pad_mode, "kernel_size": dp.kernel_size, "stride": dp.stride, "has_bias": dp.has_bias, "padding": dp.padding, "dilation": dp.dilation, "group": dp.group}, add_dense_args=None, add_conv_args=None) 将整个DNN模型转换为BNN模型,并通过TrainOneStepCell封装BNN模型。 - **参数:** + 参数: + - **get_dense_args** - 从 DNN 全连接层获得的参数。默认值:lambda dp: {"in_channels": dp.in_channels, "has_bias": dp.has_bias, "out_channels": dp.out_channels, "activation": dp.activation}。 + - **get_conv_args** - 从 DNN 卷积层获得的参数。默认值:lambda dp: {"in_channels": dp.in_channels, "out_channels": dp.out_channels, "pad_mode": dp.pad_mode, "kernel_size": dp.kernel_size, "stride": dp.stride, "has_bias": dp.has_bias, "padding": dp.padding, "dilation": dp.dilation, "group": dp.group}。 + - **add_dense_args** (dict) - 添加到 BNN 全连接层的新参数。请注意, `add_dense_args` 中的参数不得与 `get_dense_args` 中的参数重复。默认值:None。 + - **add_conv_args** (dict) - 添加到 BNN 卷积层的新参数。请注意, `add_conv_args` 中的参数不得与 `get_conv_args` 中的参数重复。默认值:None。 - - **get_dense_args** - 从 DNN 全连接层获得的参数。默认值:lambda dp: {"in_channels": dp.in_channels, "has_bias": dp.has_bias, "out_channels": dp.out_channels, "activation": dp.activation}。 - - **get_conv_args** - 从 DNN 卷积层获得的参数。默认值:lambda dp: {"in_channels": dp.in_channels, "out_channels": dp.out_channels, "pad_mode": dp.pad_mode, "kernel_size": dp.kernel_size, "stride": dp.stride, "has_bias": dp.has_bias, "padding": dp.padding, "dilation": dp.dilation, "group": dp.group}。 - - **add_dense_args** (dict) - 添加到 BNN 全连接层的新参数。请注意, `add_dense_args` 中的参数不得与 `get_dense_args` 中的参数重复。默认值:None。 - - **add_conv_args** (dict) - 添加到 BNN 卷积层的新参数。请注意, `add_conv_args` 中的参数不得与 `get_conv_args` 中的参数重复。默认值:None。 - - **返回:** - - Cell,由 TrainOneStepCell 封装的可训练 BNN 模型。 + 返回: + Cell,由 TrainOneStepCell 封装的可训练 BNN 模型。 \ No newline at end of file diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.AttentionMask.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.AttentionMask.rst index 67412619c01..9336db6f639 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.AttentionMask.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.AttentionMask.rst @@ -2,21 +2,17 @@ 从输入掩码中获取下三角矩阵。输入掩码是值为1或0的二维Tensor (batch_size, seq_length)。1表示当前位置是一个有效的标记,0则表示当前位置不是一个有效的标记。 - **参数:** + 参数: + - **seq_length** (int) - 表示输入Tensor的序列长度。 + - **parallel_config** (OpParallelConfig) - 表示并行配置。默认值为 `default_dpmp_config` ,表示一个带有默认参数的 `OpParallelConfig` 实例。 - - **seq_length** (int) - 表示输入Tensor的序列长度。 - - **parallel_config** (OpParallelConfig) - 表示并行配置。默认值为 `default_dpmp_config` ,表示一个带有默认参数的 `OpParallelConfig` 实例。 + 输入: + - **input_mask** (Tensor) - 掩码矩阵,shape为(batch_size, seq_length),表示每个位置是否为有效输入。 - **输入:** + 输出: + Tensor,表示shape为(batch_size, seq_length, seq_length)的注意力掩码矩阵。 - - **input_mask** (Tensor) - 掩码矩阵,shape为(batch_size, seq_length),表示每个位置是否为有效输入。 - - **输出:** - - Tensor,表示shape为(batch_size, seq_length, seq_length)的注意力掩码矩阵。 - - **异常:** - - - **TypeError** - `seq_length` 不是整数。 - - **ValueError** - `seq_length` 不是正数。 - - **TypeError** - `parallel_config` 不是OpParallelConfig的子类。 + 异常: + - **TypeError** - `seq_length` 不是整数。 + - **ValueError** - `seq_length` 不是正数。 + - **TypeError** - `parallel_config` 不是OpParallelConfig的子类。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.CrossEntropyLoss.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.CrossEntropyLoss.rst index ecedbe65b4a..f4234f99951 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.CrossEntropyLoss.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.CrossEntropyLoss.rst @@ -2,16 +2,13 @@ 计算输入和输出之间的交叉熵损失。 - **参数:** + 参数: + - **parallel_config** (OpParallelConfig, MoEParallelConfig) - 表示并行配置。默认值为 `default_dpmp_config` ,表示一个带有默认参数的 `OpParallelConfig` 实例。 - - **parallel_config** (OpParallelConfig, MoEParallelConfig) - 表示并行配置。默认值为 `default_dpmp_config` ,表示一个带有默认参数的 `OpParallelConfig` 实例。 + 输入: + - **logits** (Tensor) - shape为(N, C)的Tensor。表示的输出logits。其中N表示任意大小的维度,C表示类别个数。数据类型必须为float16或float32。 + - **labels** (Tensor) - shape为(N, )的Tensor。表示样本的真实标签,其中每个元素的取值区间为[0,C)。 + - **input_mask** (Tensor) - shape为(N, )的Tensor。input_mask表示是否有填充输入。1表示有效,0表示无效,其中元素值为0的位置不会计算进损失值。 - **输入:** - - - **logits** (Tensor) - shape为(N, C)的Tensor。表示的输出logits。其中N表示任意大小的维度,C表示类别个数。数据类型必须为float16或float32。 - - **labels** (Tensor) - shape为(N, )的Tensor。表示样本的真实标签,其中每个元素的取值区间为[0,C)。 - - **input_mask** (Tensor) - shape为(N, )的Tensor。input_mask表示是否有填充输入。1表示有效,0表示无效,其中元素值为0的位置不会计算进损失值。 - - **输出:** - - Tensor,表示对应的交叉熵损失。 + 输出: + Tensor,表示对应的交叉熵损失。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.EmbeddingOpParallelConfig.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.EmbeddingOpParallelConfig.rst index 62329c6b051..76c99f869c4 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.EmbeddingOpParallelConfig.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.EmbeddingOpParallelConfig.rst @@ -2,11 +2,10 @@ `VocabEmbedding` 类中的并行配置。当vocab_emb_dp为True时,设置Embedding查找为数据并行,其中model_parallel参数会被忽略。当vocab_emb_dp为False时,在Embedding表的第0轴进行按model_parallel的大小进行切分。 - **参数:** - - - **data_parallel** (int) - 表示数据并行度。默认值:1。 - - **model_parallel** (int) - 表示模型平行度。默认值:1。 - - **vocab_emb_dp** (bool) - 表示模型并行或数据并行中的Shard embedding。默认值:True。 + 参数: + - **data_parallel** (int) - 表示数据并行度。默认值:1。 + - **model_parallel** (int) - 表示模型平行度。默认值:1。 + - **vocab_emb_dp** (bool) - 表示模型并行或数据并行中的Shard embedding。默认值:True。 .. py:method:: dp_mp_config() diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.FeedForward.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.FeedForward.rst index c968e63c0b2..e26a3d9a993 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.FeedForward.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.FeedForward.rst @@ -1,35 +1,31 @@ .. py:class:: mindspore.nn.transformer.FeedForward(hidden_size, ffn_hidden_size, dropout_rate, hidden_act="gelu", expert_num=1, expert_group_size=None, param_init_type=mstype.float32, parallel_config=default_dpmp_config) 具有两层线性层的多层感知器,并在最终输出上使用Dropout。第一个线性层将输入维度从hidden_size投影到ffn_hidden_size,并在中间应用激活层。第二个线性层将该维度从ffn_hidden_size投影到hidden_size。配置parallel_config之后, - 第一个线性层的权重将在输入维度上被分片,第二个线性层在输出维度上进行切分。总体过程如下 + 第一个线性层的权重将在输入维度上被分片,第二个线性层在输出维度上进行切分。总体过程如下: .. math:: Dropout((xW_1+b_1)W_2 + b_2)) 其中 :math:`W_1, W_2, b_1` 和 :math:`b_2` 为可训练参数。 - **参数:** + 参数: + - **hidden_size** (int) - 表示输入的维度。 + - **ffn_hidden_size** (int) - 表示中间隐藏大小。 + - **dropout_rate** (float) - 表示第二个线性层输出的丢弃率。 + - **hidden_act** (str) - 表示第一个线性层的激活。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:'gelu'。 + - **expert_num** (int) - 表示线性层中使用的专家数量。对于expert_num > 1用例,使用BatchMatMul。BatchMatMul中的第一个维度表示expert_num。默认值:1。 + - **expert_group_size** (int) - 表示每个数据并行组收到的词语(token)数量。默认值:None。该参数只在自动并行且非策略传播模式下起作用。 + - **param_init_type** (dtype.Number) - 表示参数初始化类型。其值应为mstype.float32或mstype.float16。默认值:mstype.float32。 + - **parallel_config** (OpParallelConfig) - 表示配置该网络的并行度的并行配置。更多详情,请参见 :class:`mindspore.nn.transformer.OpParallelConfig` 。默认值为 `default_dpmp_config` ,表示一个带有默认参数的 `OpParallelConfig` 实例。 - - **hidden_size** (int) - 表示输入的维度。 - - **ffn_hidden_size** (int) - 表示中间隐藏大小。 - - **dropout_rate** (float) - 表示第二个线性层输出的丢弃率。 - - **hidden_act** (str) - 表示第一个线性层的激活。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:'gelu'。 - - **expert_num** (int) - 表示线性层中使用的专家数量。对于expert_num > 1用例,使用BatchMatMul。BatchMatMul中的第一个维度表示expert_num。默认值:1。 - - **expert_group_size** (int) - 表示每个数据并行组收到的词语(token)数量。默认值:None。该参数只在自动并行且非策略传播模式下起作用。 - - **param_init_type** (dtype.Number) - 表示参数初始化类型。其值应为mstype.float32或mstype.float16。默认值:mstype.float32。 - - **parallel_config** (OpParallelConfig) - 表示配置该网络的并行度的并行配置。更多详情,请参见 :class:`mindspore.nn.transformer.OpParallelConfig` 。默认值为 `default_dpmp_config` ,表示一个带有默认参数的 `OpParallelConfig` 实例。 + 输入: + - **x** (Tensor) - 应为 `[batch, seq_length, hidden_size]或[batch * seq_length, hidden_size]` 。表示浮点Tensor。 - **输入:** + 输出: + Tensor,表示映射后该层的输出。shape为 `[batch, seq_length, hidden_size]` 或 `[batch * seq_length, hidden_size]` 。 - - **x** (Tensor) - 应为 `[batch, seq_length, hidden_size]或[batch * seq_length, hidden_size]` 。表示浮点Tensor。 - - **输出:** - - Tensor,表示映射后该层的输出。shape为 `[batch, seq_length, hidden_size]` 或 `[batch * seq_length, hidden_size]` 。 - - **异常:** - - - **ValueError** - `hidden_act` 不是字符串。 - - **TypeError** - `parallel_config` 不是OpParallelConfig的子类。 - - **ValueError** - `ffn_hidden_size` 不是parallel_config中model_parallel的倍数。 - - **ValueError** - `hidden_size` 不是parallel_config中model_parallel的倍数。 + 异常: + - **ValueError** - `hidden_act` 不是字符串。 + - **TypeError** - `parallel_config` 不是OpParallelConfig的子类。 + - **ValueError** - `ffn_hidden_size` 不是parallel_config中model_parallel的倍数。 + - **ValueError** - `hidden_size` 不是parallel_config中model_parallel的倍数。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.FixedSparseAttention.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.FixedSparseAttention.rst index 421aa67f35d..fb33526ca55 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.FixedSparseAttention.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.FixedSparseAttention.rst @@ -9,25 +9,22 @@ 1. 正常注意力的更快实现(不计算上三角,并且融合了许多操作)。 2. 如论文Sparse Transformers所述,“分散”和“固定”注意力的实现。 - **参数:** + 参数: + - **batch_size** (int) - 表示输入batch size的数量。 + - **num_heads** (int) - 表示注意力头数。 + - **block_size** (int) - 表示用来确定block size的整数。目前稀疏自注意力的实现基于稀疏块矩阵。此参数定义了稀疏矩阵块的大小。目前仅支持64。 + - **seq_length** (int) - 表示输入序列的长度。目前只支持1024。默认值为1024。 + - **num_different_global_patterns** (int) - 表示用于确定不同的全局注意力数量。虽然全局注意力由局部的代表性的块决定, + 但由于有多个头,所以每个头都可以使用不同的全局代表。目前只支持4。默认值为4。 + - **size_per_head** (int) - 表示每个注意力头的向量大小。目前仅支持64和128。 + - **parallel_config** (OpParallelConfig) - 并行设置,内容请参阅 `OpParallelConfig` 的定义。默认值为 `default_dpmp_config` ,一个用默认参数初始化的 `OpParallelConfig` 的实例。 - - **batch_size** (int) - 表示输入batch size的数量。 - - **num_heads** (int) - 表示注意力头数。 - - **block_size** (int) - 表示用来确定block size的整数。目前稀疏自注意力的实现基于稀疏块矩阵。此参数定义了稀疏矩阵块的大小。目前仅支持64。 - - **seq_length** (int) - 表示输入序列的长度。目前只支持1024。默认值为1024。 - - **num_different_global_patterns** (int) - 表示用于确定不同的全局注意力数量。虽然全局注意力由局部的代表性的块决定, - 但由于有多个头,所以每个头都可以使用不同的全局代表。目前只支持4。默认值为4。 - - **size_per_head** (int) - 表示每个注意力头的向量大小。目前仅支持64和128。 - - **parallel_config** (OpParallelConfig) - 并行设置,内容请参阅 `OpParallelConfig` 的定义。默认值为 `default_dpmp_config` ,一个用默认参数初始化的 `OpParallelConfig` 的实例。 + 输入: + - **q** (Tensor) - Tensor query (:class:`mstype.fp16` [batch_size, seq_length, hidden_size]):表示上下文的query向量。 + - **k** (Tensor) - Tensor key (:class:`mstype.fp16` [batch_size, seq_length, hidden_size]):表示上下文的key向量。 + - **v** (Tensor) - Tensor value (:class:`mstype.fp16` [批次大小, seq_length, hidden_size]):表示上下文的value向量。 + - **attention_mask** (Tensor) - Float Tensor the mask of (:class:`mstype.fp32` , :class:`mstype.fp16` [batch_size, seq_length, seq_length]): + 表示掩码的下三角形矩阵。 - **输入:** - - - **q** (Tensor) - Tensor query (:class:`mstype.fp16` [batch_size, seq_length, hidden_size]):表示上下文的query向量。 - - **k** (Tensor) - Tensor key (:class:`mstype.fp16` [batch_size, seq_length, hidden_size]):表示上下文的key向量。 - - **v** (Tensor) - Tensor value (:class:`mstype.fp16` [批次大小, seq_length, hidden_size]):表示上下文的value向量。 - - **attention_mask** (Tensor) - Float Tensor the mask of (:class:`mstype.fp32` , :class:`mstype.fp16` [batch_size, seq_length, seq_length]): - 表示掩码的下三角形矩阵。 - - **输出:** - - Tensor,shape为[batch_size, seq_length, hidden_size]。 + 输出: + Tensor,shape为[batch_size, seq_length, hidden_size]。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.MoEConfig.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.MoEConfig.rst index 719ce4a8a93..742df75ebfb 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.MoEConfig.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.MoEConfig.rst @@ -2,10 +2,9 @@ MoE (Mixture of Expert)的配置。 - **参数:** - - - **expert_num** (int) - 表示使用的专家数量。默认值:1。 - - **capacity_factor** (float) - 表示专家处理的容量关系,其值大于等于1.0。默认值:1.1。 - - **aux_loss_factor** (float) - 表示负载均衡损失(由路由器产生)的平衡系数。相乘的结果会加到总损失函数中。此系数的值小于1.0。默认值:0.05。 - - **num_experts_chosen** (int) - 表示每个标识选择的专家数量,其值小于等于专家数量。默认值:1。 - - **expert_group_size** (int) - 表示每个数据并行组收到的词语(token)数量。默认值:None。该参数只在自动并行且非策略传播模式下起作用。 + 参数: + - **expert_num** (int) - 表示使用的专家数量。默认值:1。 + - **capacity_factor** (float) - 表示专家处理的容量关系,其值大于等于1.0。默认值:1.1。 + - **aux_loss_factor** (float) - 表示负载均衡损失(由路由器产生)的平衡系数。相乘的结果会加到总损失函数中。此系数的值小于1.0。默认值:0.05。 + - **num_experts_chosen** (int) - 表示每个标识选择的专家数量,其值小于等于专家数量。默认值:1。 + - **expert_group_size** (int) - 表示每个数据并行组收到的词语(token)数量。默认值:None。该参数只在自动并行且非策略传播模式下起作用。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.MultiHeadAttention.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.MultiHeadAttention.rst index 4490946d27a..d3ae973cadb 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.MultiHeadAttention.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.MultiHeadAttention.rst @@ -9,38 +9,35 @@ 如果query tensor、key tensor和value tensor相同,则上述即为自注意力机制的计算过程。 - **参数:** + 参数: + - **batch_size** (int) - 表示训练批次的大小。 + - **src_seq_length** (int) - 表示query向量的序列长度。 + - **tgt_seq_length** (int) - 表示key向量和value向量的序列长度。 + - **hidden_size** (int) - 表示输入的向量大小。 + - **num_heads** (int) - 表示注意力机制中头的数量。 + - **hidden_dropout_rate** (float) - 表示最后dense输出的丢弃率。默认值:0.1 + - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 + - **compute_dtype** (dtype.Number) - 表示dense中矩阵乘法的计算类型。默认值:mstype.float16。其值应为mstype.float32或mstype.float16。 + - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。默认值:mstype.float32。其值应为mstype.float32或mstype.float16。 + - **softmax_compute_type** (dtype.Number) - 表示softmax计算模块的类型。默认值:mstype.float32。 其值应为mstype.float32或mstype.float16。 + - **use_past** (bool) - 使用过去状态进行计算,用于增量预测。例如,如果我们有两个单词,想生成十个或以上单词。我们只需要计算一次这两个单词的状态,然后逐个生成下一个单词。当use_past为True时,有两个步骤可以执行预测。 + 第一步是通过 `model.add_flags_recursive(is_first_iteration=True)` 将is_first_iteration设为True,并传递完整的输入。然后,通过 `model.add_flags_recursive(is_first_iteration=False)` 将is_first_iteration设为False。此时,传递step的输入tensor,并对其进行循环。默认值:False + - **parallel_config** (OpParallelConfig) - 表示并行配置。默认值为 `default_dpmp_config` ,表示一个带有参数的 `OpParallelConfig` 实例。 - - **batch_size** (int) - 表示训练批次的大小。 - - **src_seq_length** (int) - 表示query向量的序列长度。 - - **tgt_seq_length** (int) - 表示key向量和value向量的序列长度。 - - **hidden_size** (int) - 表示输入的向量大小。 - - **num_heads** (int) - 表示注意力机制中头的数量。 - - **hidden_dropout_rate** (float) - 表示最后dense输出的丢弃率。默认值:0.1 - - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 - - **compute_dtype** (dtype.Number) - 表示dense中矩阵乘法的计算类型。默认值:mstype.float16。其值应为mstype.float32或mstype.float16。 - - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。默认值:mstype.float32。其值应为mstype.float32或mstype.float16。 - - **softmax_compute_type** (dtype.Number) - 表示softmax计算模块的类型。默认值:mstype.float32。 其值应为mstype.float32或mstype.float16。 - - **use_past** (bool) - 使用过去状态进行计算,用于增量预测。例如,如果我们有两个单词,想生成十个或以上单词。我们只需要计算一次这两个单词的状态,然后逐个生成下一个单词。当use_past为True时,有两个步骤可以执行预测。 - 第一步是通过 `model.add_flags_recursive(is_first_iteration=True)` 将is_first_iteration设为True,并传递完整的输入。然后,通过 `model.add_flags_recursive(is_first_iteration=False)` 将is_first_iteration设为False。此时,传递step的输入tensor,并对其进行循环。默认值:False - - **parallel_config** (OpParallelConfig) - 表示并行配置。默认值为 `default_dpmp_config` ,表示一个带有参数的 `OpParallelConfig` 实例。 + 输入: + - **query_tensor** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, src_seq_length, hidden_size)或(batch_size * src_seq_length, hidden_size)的query向量。否则,shape必须为(batch_size, 1, hidden_size)。 + - **key_tensor** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, tgt_seq_length, hidden_size)或(batch_size * tgt_seq_length, hidden_size)的key向量。否则,shape必须为(batch_size, 1, hidden_size)。 + - **value_tensor** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, tgt_seq_length, hidden_size)或(batch_size * tgt_seq_length, hidden_size)的value向量。否则,shape必须为(batch_size, 1, hidden_size)。 + - **attention_mask** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, src_seq_length, tgt_seq_length)的注意力掩码矩阵。否则,shape必须为(batch_size, 1, tgt_seq_length)。 + - **key_past** (Tensor) - shape为(batch_size, num_heads, size_per_head, tgt_seq_length)的Float16 tensor,表示过去所计算的key向量。 + 当use_past为True时,需要传入非None值用于增量预测。默认值为None。 + - **value_past** (Tensor) - shape为(batch_size, num_heads, tgt_seq_length, size_per_head)的Float16 tensor,表示过去所计算的value向量。 + 当use_past为True时,需要传入非None值用于增量预测。默认值为None。 + - **batch_valid_length** (Tensor) - shape为(batch_size,)的Int32 tensor,表示已经计算的token索引。 + 当use_past为True时,需要传入非None值用于增量预测。默认值为None。 - **输入:** + 输出: + Tuple,表示一个包含(`output`, `layer_present`)的元组。 - - **query_tensor** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, src_seq_length, hidden_size)或(batch_size * src_seq_length, hidden_size)的query向量。否则,shape必须为(batch_size, 1, hidden_size)。 - - **key_tensor** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, tgt_seq_length, hidden_size)或(batch_size * tgt_seq_length, hidden_size)的key向量。否则,shape必须为(batch_size, 1, hidden_size)。 - - **value_tensor** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, tgt_seq_length, hidden_size)或(batch_size * tgt_seq_length, hidden_size)的value向量。否则,shape必须为(batch_size, 1, hidden_size)。 - - **attention_mask** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, src_seq_length, tgt_seq_length)的注意力掩码矩阵。否则,shape必须为(batch_size, 1, tgt_seq_length)。 - - **key_past** (Tensor) - shape为(batch_size, num_heads, size_per_head, tgt_seq_length)的Float16 tensor, 表示过去所计算的key向量。 - 当use_past为True时,需要传入非None值用于增量预测。默认值为None。 - - **value_past** (Tensor) - shape为(batch_size, num_heads, tgt_seq_length, size_per_head)的Float16 tensor,表示过去所计算的value向量。 - 当use_past为True时,需要传入非None值用于增量预测。默认值为None。 - - **batch_valid_length** (Tensor) - shape为(batch_size,)的Int32 tensor,表示已经计算的token索引。 - 当use_past为True时,需要传入非None值用于增量预测。默认值为None。 - - **输出:** - - Tuple,表示一个包含(`output`, `layer_present`)的元组。 - - - **output** (Tensor) - Tensor。use_past为False或is_first_iteration为True时,表示shape为(batch_size, src_seq_length, hidden_size)或(batch_size * src_seq_length, hidden_size)的层输出的float tensor。否则,shape将为(batch_size, 1, hidden_size)。 - - **layer_present** (Tuple) - 表示shape为((batch_size, num_heads, size_per_head, tgt_seq_length)或(batch_size, num_heads, tgt_seq_length, size_per_head))的投影key向量和value向量的Tensor的元组。 + - **output** (Tensor) - Tensor。use_past为False或is_first_iteration为True时,表示shape为(batch_size, src_seq_length, hidden_size)或(batch_size * src_seq_length, hidden_size)的层输出的float tensor。否则,shape将为(batch_size, 1, hidden_size)。 + - **layer_present** (Tuple) - 表示shape为((batch_size, num_heads, size_per_head, tgt_seq_length)或(batch_size, num_heads, tgt_seq_length, size_per_head))的投影key向量和value向量的Tensor的元组。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.OpParallelConfig.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.OpParallelConfig.rst index 1ca25564492..5349fed1909 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.OpParallelConfig.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.OpParallelConfig.rst @@ -2,7 +2,6 @@ 用于设置数据并行和模型并行的OpParallelConfig。 - **参数:** - - - **data_parallel** (int) - 表示数据并行度。默认值:1 - - **model_parallel** (int) - 表示模型并行度。默认值:1 + 参数: + - **data_parallel** (int) - 表示数据并行度。默认值:1 + - **model_parallel** (int) - 表示模型并行度。默认值:1 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.Transformer.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.Transformer.rst index 4f57599a03b..c96c611c2ce 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.Transformer.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.Transformer.rst @@ -6,43 +6,40 @@ .. note:: 这是一个实验接口,可能会被更改或者删除。 - **参数:** + 参数: + - **batch_size** (int) - 表示输入的批次大小。 + - **encoder_layers** (int) - 表示 `TransformerEncoderLayer` 的层数。 + - **decoder_layers** (int) - 表示 `TransformerDecoderLayer` 的层数。 + - **hidden_size** (int) - 表示输入向量的大小。 + - **ffn_hidden_size** (int) - 表示前馈层中bottleneck的隐藏大小。 + - **src_seq_length** (int) - 表示编码器的输入Tensor的seq_length。 + - **tgt_seq_length** (int) - 表示解码器的输入Tensor的seq_length。 + - **num_heads** (int) - 表示注意力头的数量。默认值:2 + - **hidden_dropout_rate** (float) - 表示作用在隐藏层输出的丢弃率。默认值:0.1 + - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 + - **post_layernorm_residual** (bool) - 表示是否在LayerNorm之前使用残差,即是否选择残差为Post-LayerNorm或者Pre-LayerNorm。默认值:False + - **use_past** (bool) - 表示是否开启增量推理。在推理中会缓存注意力机制计算结果,避免冗余计算。默认值为False。 + - **layernorm_compute_type** (dtype.Number) - 表示LayerNorm的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **softmax_compute_type** (dtype.Number) - 表示注意力机制中softmax的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **hidden_act** (str) - 表示前馈层的激活行为。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:gelu。 + - **moe_config** (MoEConfig) - 表示MoE (Mixture of Expert)的配置。默认值为 `default_moe_config` ,表示带有默认参数的 `MoEConfig` 实例。 + - **lambda_func** - 表示设置融合索引、pipeline阶段和重计算属性的函数。如果用户想确定pipeline阶段和梯度融合,用户可以传递一个接受 `network` 、 `layer_id` 、 `offset` 、 `parallel_config` 和 `layers` 的函数。 `network(Cell)` 表示transformer块, `layer_id(int)` 表示当前模块的层索引,从零开始计数, `offset(int)` 表示如果网络中还有其他模块,则layer_id需要一个偏移。pipeline的默认设置为: `(layer_id + offset) // ((encoder_layers + decoder_length) / pipeline_stage)` 。默认值为None。 + - **parallel_config** (TransformerOpParallelConfig) - 表示并行配置。默认值为 `default_transformer_config` ,表示带有默认参数的 `TransformerOpParallelConfig` 实例。 - - **batch_size** (int) - 表示输入的批次大小。 - - **encoder_layers** (int) - 表示 `TransformerEncoderLayer` 的层数。 - - **decoder_layers** (int) - 表示 `TransformerDecoderLayer` 的层数。 - - **hidden_size** (int) - 表示输入向量的大小。 - - **ffn_hidden_size** (int) - 表示前馈层中bottleneck的隐藏大小。 - - **src_seq_length** (int) - 表示编码器的输入Tensor的seq_length。 - - **tgt_seq_length** (int) - 表示解码器的输入Tensor的seq_length。 - - **num_heads** (int) - 表示注意力头的数量。默认值:2 - - **hidden_dropout_rate** (float) - 表示作用在隐藏层输出的丢弃率。默认值:0.1 - - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 - - **post_layernorm_residual** (bool) - 表示是否在LayerNorm之前使用残差,即是否选择残差为Post-LayerNorm或者Pre-LayerNorm。默认值:False - - **use_past** (bool) - 表示是否开启增量推理。在推理中会缓存注意力机制计算结果,避免冗余计算。默认值为False。 - - **layernorm_compute_type** (dtype.Number) - 表示LayerNorm的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **softmax_compute_type** (dtype.Number) - 表示注意力机制中softmax的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **hidden_act** (str) - 表示前馈层的激活行为。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:gelu。 - - **moe_config** (MoEConfig) - 表示MoE (Mixture of Expert)的配置。默认值为 `default_moe_config` ,表示带有默认参数的 `MoEConfig` 实例。 - - **lambda_func** - 表示设置融合索引、pipeline阶段和重计算属性的函数。如果用户想确定pipeline阶段和梯度融合,用户可以传递一个接受 `network` 、 `layer_id` 、 `offset` 、 `parallel_config` 和 `layers` 的函数。 `network(Cell)` 表示transformer块, `layer_id(int)` 表示当前模块的层索引,从零开始计数, `offset(int)` 表示如果网络中还有其他模块,则layer_id需要一个偏移。pipeline的默认设置为: `(layer_id + offset) // ((encoder_layers + decoder_length) / pipeline_stage)` 。默认值为None。 - - **parallel_config** (TransformerOpParallelConfig) - 表示并行配置。默认值为 `default_transformer_config` ,表示带有默认参数的 `TransformerOpParallelConfig` 实例。 + 输入: + - **encoder_inputs** (Tensor) - shape为[batch_size, seq_length, hidden_size]或[batch_size * seq_length, hidden_size]的输入Tensor。 + - **encoder_masks** (Tensor) - shape为[batch_size, seq_length, seq_length]的解码器的注意力掩码。 + - **decoder_inputs** (Tensor) - shape为[batch_size, seq_length, hidden_size]或[batch_size * seq_length, hidden_size]的编码器的输出。如果解码器层数为0,则此值应为None。 + - **decoder_masks** (Tensor) - shape为[batch_size, seq_length, seq_length]的解码器的注意力掩码。 + - **memory_mask** (Tensor) - shape为[batch, tgt_seq_length, src_seq_length]的交叉注意力的memory掩码,其中tgt_seq_length表示解码器的长度。如果解码器层为0,则shape为[batch_size, seq_length, hidden_size]的编码器的输出应为None。 + - **init_reset** (Tensor) - shape为[1]的bool tensor,用于清除增量预测中使用的past key参数和past value参数。仅当use_past为True时有效。默认值为True。 + - **batch_valid_length** (Tensor) - shape为[batch_size]的Int32 tensor,表示过去所计算的索引。当use_past为True时,它用于增量预测。默认值为None。 - **输入:** + 输出: + Tuple,表示包含(`output`, `encoder_layer_present`, `encoder_layer_present`, `accum_loss`)的元组。 - - **encoder_inputs** (Tensor) - shape为[batch_size, seq_length, hidden_size]或[batch_size * seq_length, hidden_size]的输入Tensor。 - - **encoder_masks** (Tensor) - shape为[batch_size, seq_length, seq_length]的解码器的注意力掩码。 - - **decoder_inputs** (Tensor) - shape为[batch_size, seq_length, hidden_size]或[batch_size * seq_length, hidden_size]的编码器的输出。如果解码器层数为0,则此值应为None。 - - **decoder_masks** (Tensor) - shape为[batch_size, seq_length, seq_length]的解码器的注意力掩码。 - - **memory_mask** (Tensor) - shape为[batch, tgt_seq_length, src_seq_length]的交叉注意力的memory掩码,其中tgt_seq_length表示解码器的长度。如果解码器层为0,则shape为[batch_size, seq_length, hidden_size]的编码器的输出应为None。 - - **init_reset** (Tensor) - shape为[1]的bool tensor,用于清除增量预测中使用的past key参数和past value参数。仅当use_past为True时有效。默认值为True。 - - **batch_valid_length** (Tensor) - shape为[batch_size]的Int32 tensor,表示过去所计算的索引。当use_past为True时,它用于增量预测。默认值为None。 - - **输出:** - - Tuple,表示包含(`output`, `encoder_layer_present`, `encoder_layer_present`, `accum_loss`)的元组。 - - - **output** (Tensor) - 如果只有编码器,则表示编码器层的输出logit。shape为[batch, src_seq_length, hidden_size] or [batch * src_seq_length, hidden_size]。如果有编码器和解码器,则输出来自于解码器层。shape为[batch, tgt_seq_length, hidden_size]或[batch * tgt_seq_length, hidden_size]。 - - **encoder_layer_present** (Tuple) - 大小为num_layers的元组,其中每个元组都是shape为((batch_size, num_heads, size_per_head, src_seq_length)或(batch_size, num_heads, src_seq_length, size_per_head))的自注意力中的投影key向量和value向量的tensor的元组。 - - **decoder_layer_present** (Tuple) - 大小为num_layers的元组,其中每个元组都是shape为((batch_size, num_heads, size_per_head, tgt_seq_length)或(batch_size, num_heads, tgt_seq_length, size_per_head))的自注意力中的投影key向量和value向量的tensor的元组,或者是shape为(batch_size, num_heads, size_per_head, src_seq_length)或(batch_size, num_heads, src_seq_length, size_per_head))的交叉注意力中的投影key向量和value向量的tensor的元组。如果未设置解码器,返回值将为None。 - - **accum_loss** (Tensor) - 表示一个辅助损失来最小化路由到每个专家的数据部分的均方,且仅仅在专家数大于1时才会返回。 + - **output** (Tensor) - 如果只有编码器,则表示编码器层的输出logit。shape为[batch, src_seq_length, hidden_size] or [batch * src_seq_length, hidden_size]。如果有编码器和解码器,则输出来自于解码器层。shape为[batch, tgt_seq_length, hidden_size]或[batch * tgt_seq_length, hidden_size]。 + - **encoder_layer_present** (Tuple) - 大小为num_layers的元组,其中每个元组都是shape为((batch_size, num_heads, size_per_head, src_seq_length)或(batch_size, num_heads, src_seq_length, size_per_head))的自注意力中的投影key向量和value向量的tensor的元组。 + - **decoder_layer_present** (Tuple) - 大小为num_layers的元组,其中每个元组都是shape为((batch_size, num_heads, size_per_head, tgt_seq_length)或(batch_size, num_heads, tgt_seq_length, size_per_head))的自注意力中的投影key向量和value向量的tensor的元组,或者是shape为(batch_size, num_heads, size_per_head, src_seq_length)或(batch_size, num_heads, src_seq_length, size_per_head))的交叉注意力中的投影key向量和value向量的tensor的元组。如果未设置解码器,返回值将为None。 + - **accum_loss** (Tensor) - 表示一个辅助损失来最小化路由到每个专家的数据部分的均方,且仅仅在专家数大于1时才会返回。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerDecoder.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerDecoder.rst index df06d72c6dc..13596e58afe 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerDecoder.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerDecoder.rst @@ -2,43 +2,40 @@ Transformer中的解码器模块,为多层堆叠的 `TransformerDecoderLayer` ,包括多头自注意力层、交叉注意力层和前馈层。 - **参数:** + 参数: + - **batch_size** (int) - 表示输入Tensor的批次大小。 + - **num_layers** (int) - 表示 `TransformerDecoderLayer` 的层数。 + - **hidden_size** (int) - 表示输入的隐藏大小。 + - **ffn_hidden_size** (int) - 表示前馈层中bottleneck的隐藏大小。 + - **src_seq_length** (int) - 表示输入源序列长度。 + - **tgt_seq_length** (int) - 表示输入目标序列长度。 + - **num_heads** (int) - 表示注意力头的数量。 + - **hidden_dropout_rate** (float) - 表示作用在隐藏层输出的丢弃率。默认值:0.1 + - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 + - **post_layernorm_residual** (bool) - 表示是否在LayerNorm之前使用残差,即是否选择残差为Post-LayerNorm或者Pre-LayerNorm。默认值:False + - **hidden_act** (str) - 表示内部前馈层的激活函数。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:gelu。 + - **layernorm_compute_type** (dtype.Number) - 表示LayerNorm的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **use_past** (bool) - 表示是否开启增量推理。在推理中会缓存注意力机制计算结果,避免冗余计算。默认值为False。 + - **softmax_compute_type** (dtype.Number) - 表示注意力中softmax的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **offset** (int) - 表示 `decoder` 的初始层索引偏移值。其用于设置梯度聚合的融合值和流水线并行的stage值,使其不与编码器层的相关属性重叠。默认值为0。 + - **lambda_func** - 表示确定梯度融合索引、pipeline阶段和重计算属性的函数。如果用户想确定pipeline阶段和梯度聚合融合,用户可以传递一个接受 `network` 、 `layer_id` 、 `offset` 、 `parallel_config` 和 `layers` 的函数。 `network(Cell)` 表示transformer块, `layer_id(int)` 表示当前模块的层索引,从零开始计数, `offset(int)` 表示如果网络中还有其他模块,则layer_index需要一个偏置。pipeline的默认设置为: `(layer_id + offset) // (layers / pipeline_stage)` 。默认值:None。 + - **moe_config** (MoEConfig) - 表示MoE (Mixture of Expert)的配置。默认值为 `default_moe_config` ,表示带有默认参数的 `MoEConfig` 实例。 + - **parallel_config** (TransformerOpParallelConfig) - 表示并行配置。默认值为 `default_transformer_config` ,表示带有默认参数的 `TransformerOpParallelConfig` 实例。 - - **batch_size** (int) - 表示输入Tensor的批次大小。 - - **num_layers** (int) - 表示 `TransformerDecoderLayer` 的层数。 - - **hidden_size** (int) - 表示输入的隐藏大小。 - - **ffn_hidden_size** (int) - 表示前馈层中bottleneck的隐藏大小。 - - **src_seq_length** (int) - 表示输入源序列长度。 - - **tgt_seq_length** (int) - 表示输入目标序列长度。 - - **num_heads** (int) - 表示注意力头的数量。 - - **hidden_dropout_rate** (float) - 表示作用在隐藏层输出的丢弃率。默认值:0.1 - - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 - - **post_layernorm_residual** (bool) - 表示是否在LayerNorm之前使用残差,即是否选择残差为Post-LayerNorm或者Pre-LayerNorm。默认值:False - - **hidden_act** (str) - 表示内部前馈层的激活函数。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:gelu。 - - **layernorm_compute_type** (dtype.Number) - 表示LayerNorm的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **use_past** (bool) - 表示是否开启增量推理。在推理中会缓存注意力机制计算结果,避免冗余计算。默认值为False。 - - **softmax_compute_type** (dtype.Number) - 表示注意力中softmax的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **offset** (int) - 表示 `decoder` 的初始层索引偏移值。其用于设置梯度聚合的融合值和流水线并行的stage值,使其不与编码器层的相关属性重叠。默认值为0。 - - **lambda_func** - 表示确定梯度融合索引、pipeline阶段和重计算属性的函数。如果用户想确定pipeline阶段和梯度聚合融合,用户可以传递一个接受 `network` 、 `layer_id` 、 `offset` 、 `parallel_config` 和 `layers` 的函数。 `network(Cell)` 表示transformer块, `layer_id(int)` 表示当前模块的层索引,从零开始计数, `offset(int)` 表示如果网络中还有其他模块,则layer_index需要一个偏置。pipeline的默认设置为: `(layer_id + offset) // (layers / pipeline_stage)` 。默认值:None。 - - **moe_config** (MoEConfig) - 表示MoE (Mixture of Expert)的配置。默认值为 `default_moe_config` ,表示带有默认参数的 `MoEConfig` 实例。 - - **parallel_config** (TransformerOpParallelConfig) - 表示并行配置。默认值为 `default_transformer_config` ,表示带有默认参数的 `TransformerOpParallelConfig` 实例。 + 输入: + - **hidden_stats** (Tensor) - shape为[batch_size, seq_length, hidden_size]或[batch_size * seq_length, hidden_size]的输入tensor。 + - **attention_mask** (Tensor) - shape为[batch_size, seq_length, seq_length]的解码器的注意力掩码。 + - **encoder_output** (Tensor) - shape为[batch_size, seq_length, hidden_size]或[batch_size * seq_length, hidden_size]的编码器的输出。 - **输入:** + .. note::当网络位于最外层时,此参数不能通过None传递。默认值为None。 - - **hidden_stats** (Tensor) - shape为[batch_size, seq_length, hidden_size]或[batch_size * seq_length, hidden_size]的输入tensor。 - - **attention_mask** (Tensor) - shape为[batch_size, seq_length, seq_length]的解码器的注意力掩码。 - - **encoder_output** (Tensor) - shape为[batch_size, seq_length, hidden_size]或[batch_size * seq_length, hidden_size]的编码器的输出。 + - **memory_mask** (Tensor) - shape为[batch, tgt_seq_length, src_seq_length]的交叉注意力的memory掩码,其中tgt_seq_length表示解码器的长度。注:当网络位于最外层时,此参数不能通过None传递。默认值为None。 + - **init_reset** (Tensor) - shape为[1]的bool tensor,用于清除增量预测中使用的past key参数和past value参数。仅当use_past为True时有效。默认值为True。 + - **batch_valid_length** (Tensor) - shape为[batch_size]的Int32 tensor,表示过去所计算的索引。当use_past为True时,它用于增量预测。默认值为None。 - .. note::当网络位于最外层时,此参数不能通过None传递。默认值为None。 + 输出: + Tuple,表示一个包含(`output`, `layer_present`)的元组。 - - **memory_mask** (Tensor) - shape为[batch, tgt_seq_length, src_seq_length]的交叉注意力的memory掩码,其中tgt_seq_length表示解码器的长度。注:当网络位于最外层时,此参数不能通过None传递。默认值为None。 - - **init_reset** (Tensor) - shape为[1]的bool tensor,用于清除增量预测中使用的past key参数和past value参数。仅当use_past为True时有效。默认值为True。 - - **batch_valid_length** (Tensor) - shape为[batch_size]的Int32 tensor,表示过去所计算的索引。当use_past为True时,它用于增量预测。默认值为None。 - - **输出:** - - Tuple,表示一个包含(`output`, `layer_present`)的元组。 - - - **output** (Tensor) - 输出的logit。shape为[batch, tgt_seq_length, hidden_size]或[batch * tgt_seq_length, hidden_size]。 - - **layer_present** (Tuple) - 大小为层数的元组,其中每个元组都是shape为((batch_size, num_heads, size_per_head, tgt_seq_length)或(batch_size, num_heads, tgt_seq_length, size_per_head)的自注意力中的投影key向量和value向量的tensor的元组,或者是shape为(batch_size, num_heads, size_per_head, src_seq_length)或(batch_size, num_heads, src_seq_length, size_per_head))的交叉注意力中的投影key向量和value向量的tensor的元组。 + - **output** (Tensor) - 输出的logit。shape为[batch, tgt_seq_length, hidden_size]或[batch * tgt_seq_length, hidden_size]。 + - **layer_present** (Tuple) - 大小为层数的元组,其中每个元组都是shape为((batch_size, num_heads, size_per_head, tgt_seq_length)或(batch_size, num_heads, tgt_seq_length, size_per_head)的自注意力中的投影key向量和value向量的tensor的元组,或者是shape为(batch_size, num_heads, size_per_head, src_seq_length)或(batch_size, num_heads, src_seq_length, size_per_head))的交叉注意力中的投影key向量和value向量的tensor的元组。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerDecoderLayer.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerDecoderLayer.rst index b85951bea3c..a8d2ea507ab 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerDecoderLayer.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerDecoderLayer.rst @@ -2,37 +2,34 @@ Transformer的解码器层。Transformer的解码器层上的单层的实现,包括自注意力层、交叉注意力层和前馈层。当encoder_output为None时,交叉注意力将无效。 - **参数:** + 参数: + - **batch_size** (int) - 表示输入Tensor的批次大小。 + - **hidden_size** (int) - 表示输入的隐藏大小。 + - **src_seq_length** (int) - 表示输入源序列长度。 + - **tgt_seq_length** (int) - 表示输入目标序列长度。 + - **ffn_hidden_size** (int) - 表示前馈层中bottleneck的隐藏大小。 + - **num_heads** (int) - 表示注意力头的数量。 + - **hidden_dropout_rate** (float) - 表示作用在隐藏层输出的丢弃率。默认值:0.1 + - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 + - **post_layernorm_residual** (bool) - 表示是否在LayerNorm之前使用残差,即是否选择残差为Post-LayerNorm或者Pre-LayerNorm。默认值:False + - **hidden_act** (str) - 表示内部前馈层的激活函数。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:gelu。 + - **layernorm_compute_type** (dtype.Number) - 表示LayerNorm的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **softmax_compute_type** (dtype.Number) - 表示注意力中softmax的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **use_past** (bool) - 使用过去状态进行计算,用于增量预测。默认值:False。 + - **moe_config** (MoEConfig) - 表示MoE (Mixture of Expert)的配置。默认值为 `default_moe_config` ,表示带有默认参数的 `MoEConfig` 实例。 + - **parallel_config** (OpParallelConfig) - 表示并行配置。默认值为 `default_dpmp_config` ,表示一个带有默认参数的 `OpParallelConfig` 实例。 - - **batch_size** (int) - 表示输入Tensor的批次大小。 - - **hidden_size** (int):表示输入的隐藏大小。 - - **src_seq_length** (int) - 表示输入源序列长度。 - - **tgt_seq_length** (int) - 表示输入目标序列长度。 - - **ffn_hidden_size** (int) - 表示前馈层中bottleneck的隐藏大小。 - - **num_heads** (int) - 表示注意力头的数量。 - - **hidden_dropout_rate** (float) - 表示作用在隐藏层输出的丢弃率。默认值:0.1 - - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 - - **post_layernorm_residual** (bool) - 表示是否在LayerNorm之前使用残差,即是否选择残差为Post-LayerNorm或者Pre-LayerNorm。默认值:False - - **hidden_act** (str) - 表示内部前馈层的激活函数。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:gelu。 - - **layernorm_compute_type** (dtype.Number) - 表示LayerNorm的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **softmax_compute_type** (dtype.Number) - 表示注意力中softmax的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **use_past** (bool) - 使用过去状态进行计算,用于增量预测。默认值:False。 - - **moe_config** (MoEConfig) - 表示MoE (Mixture of Expert)的配置。默认值为 `default_moe_config` ,表示带有默认参数的 `MoEConfig` 实例。 - - **parallel_config** (OpParallelConfig) - 表示并行配置。默认值为 `default_dpmp_config` ,表示一个带有默认参数的 `OpParallelConfig` 实例。 + 输入: + - **hidden_stats** (Tensor) - shape为[batch_size, tgt_seq_length, hidden_size]或[batch_size * tgt_seq_length, hidden_size]的输入tensor。 + - **decoder_mask** (Tensor) - shape为[batch_size, src_seq_length, seq_length]的解码器的注意力掩码。 + - **encoder_output** (Tensor) - shape为[batch_size, seq_length, hidden_size]或[batch_size * seq_length, hidden_size]的编码器的输出。注:当网络位于最外层时,此参数不能通过None传递。默认值为None。 + - **memory_mask** (Tensor) - shape为[batch, tgt_seq_length, src_seq_length]的交叉注意力的memory掩码,其中tgt_seq_length表示解码器的长度。注:当网络位于最外层时,此参数不能通过None传递。默认值为None。 + - **init_reset** (Tensor) - shape为[1]的bool tensor,用于清除增量预测中使用的past key参数和past value参数。仅当use_past为True时有效。默认值为True。 + - **batch_valid_length** (Tensor) - shape为[batch_size]的Int32 tensor,表示过去所计算的索引。当use_past为True时,它用于增量预测。默认值为None。 - **输入:** + 输出: + Tuple,表示一个包含(`output`, `layer_present`)的元组。 - - **hidden_stats** (Tensor) - shape为[batch_size, tgt_seq_length, hidden_size]或[batch_size * tgt_seq_length, hidden_size]的输入tensor。 - - **decoder_mask** (Tensor) - shape为[batch_size, src_seq_length, seq_length]的解码器的注意力掩码。 - - **encoder_output** (Tensor) - shape为[batch_size, seq_length, hidden_size]或[batch_size * seq_length, hidden_size]的编码器的输出。注:当网络位于最外层时,此参数不能通过None传递。默认值为None。 - - **memory_mask** (Tensor) - shape为[batch, tgt_seq_length, src_seq_length]的交叉注意力的memory掩码,其中tgt_seq_length表示解码器的长度。注:当网络位于最外层时,此参数不能通过None传递。默认值为None。 - - **init_reset** (Tensor) - shape为[1]的bool tensor,用于清除增量预测中使用的past key参数和past value参数。仅当use_past为True时有效。默认值为True。 - - **batch_valid_length** (Tensor) - shape为[batch_size]的Int32 tensor,表示过去所计算的索引。当use_past为True时,它用于增量预测。默认值为None。 - - **输出:** - - Tuple,表示一个包含(`output`, `layer_present`)的元组。 - - - **output** (Tensor) - 此层的输出logit。shape为[batch, seq_length, hidden_size]或[batch * seq_length, hidden_size]。 - - **layer_present** (Tuple) - 元组,其中每个元组都是shape为((batch_size, num_heads, size_per_head, tgt_seq_length)或(batch_size, num_heads, tgt_seq_length, size_per_head)的自注意力中的投影key向量和value向量的tensor的元组,或者是shape为(batch_size, num_heads, size_per_head, src_seq_length)或(batch_size, num_heads, src_seq_length, size_per_head))的交叉注意力中的投影key向量和value向量的tensor的元组。 + - **output** (Tensor) - 此层的输出logit。shape为[batch, seq_length, hidden_size]或[batch * seq_length, hidden_size]。 + - **layer_present** (Tuple) - 元组,其中每个元组都是shape为((batch_size, num_heads, size_per_head, tgt_seq_length)或(batch_size, num_heads, tgt_seq_length, size_per_head)的自注意力中的投影key向量和value向量的tensor的元组,或者是shape为(batch_size, num_heads, size_per_head, src_seq_length)或(batch_size, num_heads, src_seq_length, size_per_head))的交叉注意力中的投影key向量和value向量的tensor的元组。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerEncoder.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerEncoder.rst index 620ce1e9924..3016c02a5ad 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerEncoder.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerEncoder.rst @@ -2,37 +2,34 @@ Transformer中的编码器模块,具有多层堆叠的 `TransformerEncoderLayer` ,包括多头自注意力层和前馈层。 - **参数:** + 参数: + - **batch_size** (int) - 表示输入tensor的批次大小。 + - **num_layers** (int) - 表示 `TransformerEncoderLayer` 的层。 + - **hidden_size** (int) - 表示输入的隐藏大小。 + - **ffn_hidden_size** (int) - 表示前馈层中bottleneck的隐藏大小。 + - **seq_length** (int) - 表示输入序列长度。 + - **num_heads** (int) - 表示注意力头的数量。 + - **hidden_dropout_rate** (float) - 表示作用在隐藏层输出的丢弃率。默认值:0.1 + - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 + - **post_layernorm_residual** (bool) - 表示是否在LayerNorm之前使用残差,即是否选择残差为Post-LayerNorm或者Pre-LayerNorm。默认值:False + - **hidden_act** (str) - 表示内部前馈层的激活函数。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:gelu。 + - **layernorm_compute_type** (dtype.Number) - 表示LayerNorm的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **softmax_compute_type** (dtype.Number) - 表示注意力中softmax的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **use_past** (bool) - 使用过去状态进行计算,用于增量预测。例如,如果我们有两个单词,想生成十个或以上单词。我们只需要计算一次这两个单词的状态,然后逐个生成下一个单词。当use_past为True时,有两个步骤可以运行预测。第一步是通过 `model.add_flags_recursive(is_first_iteration=True)` 将is_first_iteration设为True,并传递完整的输入。然后,通过 `model.add_flags_recursive(is_first_iteration=False)` 将is_first_iteration设为False。此时,传递step的输入tensor,并对其进行环回。默认值:False。 + - **lambda_func** - 表示设置融合索引、pipeline阶段和重计算属性的函数。如果用户想确定pipeline阶段和梯度聚合融合,用户可以传递一个接受 `network` 、 `layer_id` 、 `offset` 、 `parallel_config` 和 `layers` 的函数。 `network(Cell)` 表示transformer块, `layer_id(int)` 表示当前模块的层索引,从零开始计数, `offset(int)` 表示如果网络中还有其他模块,则layer_index需要一个偏置。pipeline的默认设置为: `(layer_id + offset) // (layers / pipeline_stage)` 。默认值:None。 + - **offset** (int) - 表示 `decoder` 的初始层索引。其用于设置梯度聚合的融合值和流水线并行的stage值。默认值:0。 + - **moe_config** (MoEConfig) - 表示MoE (Mixture of Expert)的配置。默认值为 `default_moe_config` ,表示带有默认参数的 `MoEConfig` 实例。 + - **parallel_config** (TransformerOpParallelConfig) - 表示并行配置。默认值为 `default_transformer_config` ,表示带有默认参数的 `TransformerOpParallelConfig` 实例。 - - **batch_size** (int) - 表示输入tensor的批次大小。 - - **num_layers** (int) - 表示 `TransformerEncoderLayer` 的层。 - - **hidden_size** (int) - 表示输入的隐藏大小。 - - **ffn_hidden_size** (int) - 表示前馈层中bottleneck的隐藏大小。 - - **seq_length** (int) - 表示输入序列长度。 - - **num_heads** (int) - 表示注意力头的数量。 - - **hidden_dropout_rate** (float) - 表示作用在隐藏层输出的丢弃率。默认值:0.1 - - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 - - **post_layernorm_residual** (bool) - 表示是否在LayerNorm之前使用残差,即是否选择残差为Post-LayerNorm或者Pre-LayerNorm。默认值:False - - **hidden_act** (str) - 表示内部前馈层的激活函数。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:gelu。 - - **layernorm_compute_type** (dtype.Number) - 表示LayerNorm的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **softmax_compute_type** (dtype.Number) - 表示注意力中softmax的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **use_past** (bool) - 使用过去状态进行计算,用于增量预测。例如,如果我们有两个单词,想生成十个或以上单词。我们只需要计算一次这两个单词的状态,然后逐个生成下一个单词。当use_past为True时,有两个步骤可以运行预测。第一步是通过 `model.add_flags_recursive(is_first_iteration=True)` 将is_first_iteration设为True,并传递完整的输入。然后,通过 `model.add_flags_recursive(is_first_iteration=False)` 将is_first_iteration设为False。此时,传递step的输入tensor,并对其进行环回。默认值:False。 - - **lambda_func** - 表示设置融合索引、pipeline阶段和重计算属性的函数。如果用户想确定pipeline阶段和梯度聚合融合,用户可以传递一个接受 `network` 、 `layer_id` 、 `offset` 、 `parallel_config` 和 `layers` 的函数。 `network(Cell)` 表示transformer块, `layer_id(int)` 表示当前模块的层索引,从零开始计数, `offset(int)` 表示如果网络中还有其他模块,则layer_index需要一个偏置。pipeline的默认设置为: `(layer_id + offset) // (layers / pipeline_stage)` 。默认值:None。 - - **offset** (int) - 表示 `decoder` 的初始层索引。其用于设置梯度聚合的融合值和流水线并行的stage值。默认值:0。 - - **moe_config** (MoEConfig) - 表示MoE (Mixture of Expert)的配置。默认值为 `default_moe_config` ,表示带有默认参数的 `MoEConfig` 实例。 - - **parallel_config** (TransformerOpParallelConfig) - 表示并行配置。默认值为 `default_transformer_config` ,表示带有默认参数的 `TransformerOpParallelConfig` 实例。 + 输入: + - **hidden_states** (Tensor) - Tensor。如果use_past为False或者is_first_iteration为True,shape为[batch_size, seq_length, hidden_size]或者[batch_size * seq_length, hidden_size]。否则,shape应为[batch_size, 1, hidden_size]。 + - **attention_mask** (Tensor) - Tensor,表示shape为[[batch_size, seq_length, seq_length]的注意力掩码。 + - **init_reset** (Tensor) - shape为[1]的bool tensor,用于清除增量预测中使用的past key参数和past value参数。仅当use_past为True时有效。默认值为True。 + - **batch_valid_length** (Tensor) - shape为[batch_size]的Int32 tensor,表示过去所计算的索引。当use_past为True时,它用于增量预测。默认值为None。 - **输入:** + 输出: + Tuple,表示一个包含(`output`, `layer_present`)的元组。 - - **hidden_states** (Tensor) - Tensor。如果use_past为False或者is_first_iteration为True,shape为[batch_size, seq_length, hidden_size]或者[batch_size * seq_length, hidden_size]。否则,shape应为[batch_size, 1, hidden_size]。 - - **attention_mask** (Tensor) - Tensor,表示shape为[[batch_size, seq_length, seq_length]的注意力掩码。 - - **init_reset** (Tensor) - shape为[1]的bool tensor,用于清除增量预测中使用的past key参数和past value参数。仅当use_past为True时有效。默认值为True。 - - **batch_valid_length** (Tensor) - shape为[batch_size]的Int32 tensor,表示过去所计算的索引。当use_past为True时,它用于增量预测。默认值为None。 - - **输出:** - - Tuple,表示一个包含(`output`, `layer_present`)的元组。 - - - **output** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, seq_length, hidden_size)或(batch_size * seq_length, hidden_size)的层输出的float tensor。否则,shape将为(batch_size, 1, hidden_size)。 - - **layer_present** (Tuple) - 大小为num_layers的元组,其中每个元组都包含shape为((batch_size, num_heads, size_per_head, seq_length)或(batch_size, num_heads, seq_length, size_per_head))的投影key向量和value向量的Tensor的元组。 + - **output** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, seq_length, hidden_size)或(batch_size * seq_length, hidden_size)的层输出的float tensor。否则,shape将为(batch_size, 1, hidden_size)。 + - **layer_present** (Tuple) - 大小为num_layers的元组,其中每个元组都包含shape为((batch_size, num_heads, size_per_head, seq_length)或(batch_size, num_heads, seq_length, size_per_head))的投影key向量和value向量的Tensor的元组。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerEncoderLayer.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerEncoderLayer.rst index f9f42c84135..cccc9f4c1b5 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerEncoderLayer.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerEncoderLayer.rst @@ -2,35 +2,31 @@ Transformer的编码器层。Transformer的编码器层上的单层的实现,包括多头注意力层和前馈层。 - **参数:** + 参数: + - **batch_size** (int) - 表示输入Tensor的批次大小。 + - **hidden_size** (int) - 表示输入的隐藏大小。 + - **seq_length** (int) - 表示输入序列长度。 + - **ffn_hidden_size** (int) - 表示前馈层中bottleneck的隐藏大小。 + - **num_heads** (int) - 表示注意力头的数量。 + - **hidden_dropout_rate** (float) - 表示作用在隐藏层输出的丢弃率。默认值:0.1 + - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 + - **post_layernorm_residual** (bool) - 表示是否在LayerNorm之前使用残差,即是否选择残差为Post-LayerNorm或者Pre-LayerNorm。默认值:False + - **hidden_act** (str) - 表示内部前馈层的激活函数。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:gelu。 + - **layernorm_compute_type** (dtype.Number) - 表示LayerNorm的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **softmax_compute_type** (dtype.Number) - 表示注意力中softmax的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 + - **use_past** (bool) - 使用过去状态进行计算,用于增量预测。例如,如果我们有两个单词,想生成十个或以上单词。我们只需要计算一次这两个单词的状态,然后逐个生成下一个单词。当use_past为True时,有两个步骤可以运行预测。第一步是通过 `model.add_flags_recursive(is_first_iteration=True)` 将is_first_iteration设为True,并传递完整的输入。然后,通过 `model.add_flags_recursive(is_first_iteration=False)` 将is_first_iteration设为False。此时,传递step的输入tensor,并对其进行环回。默认值:False + - **moe_config** (MoEConfig) - 表示MoE (Mixture of Expert)的配置。默认值为 `default_moe_config` ,表示带有默认参数的 `MoEConfig` 实例。 + - **parallel_config** (OpParallelConfig) - 表示并行配置。默认值为 `default_dpmp_config` ,表示一个带有默认参数的 `OpParallelConfig` 实例。 - - **batch_size** (int) - 表示输入Tensor的批次大小。 - - **hidden_size** (int) - 表示输入的隐藏大小。 - - **seq_length** (int) - 表示输入序列长度。 - - **ffn_hidden_size** (int) - 表示前馈层中bottleneck的隐藏大小。 - - **num_heads** (int) - 表示注意力头的数量。 - - **hidden_dropout_rate** (float) - 表示作用在隐藏层输出的丢弃率。默认值:0.1 - - **attention_dropout_rate** (float) - 表示注意力score的丢弃率。默认值:0.1 - - **post_layernorm_residual** (bool) - 表示是否在LayerNorm之前使用残差,即是否选择残差为Post-LayerNorm或者Pre-LayerNorm。默认值:False - - **hidden_act** (str) - 表示内部前馈层的激活函数。其值可为'relu'、'relu6'、'tanh'、'gelu'、'fast_gelu'、'elu'、'sigmoid'、'prelu'、'leakyrelu'、'hswish'、'hsigmoid'、'logsigmoid'等等。默认值:gelu。 - - **layernorm_compute_type** (dtype.Number) - 表示LayerNorm的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **softmax_compute_type** (dtype.Number) - 表示注意力中softmax的计算类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **param_init_type** (dtype.Number) - 表示模块的参数初始化类型。其值应为mstype.float32或mstype.float16。默认值为mstype.float32。 - - **use_past** (bool) - 使用过去状态进行计算,用于增量预测。例如,如果我们有两个单词,想生成十个或以上单词。我们只需要计算一次这两个单词的状态,然后逐个生成下一个单词。当use_past为True时,有两个步骤可以运行预测。第一步是通过 `model.add_flags_recursive(is_first_iteration=True)` 将is_first_iteration设为True,并传递完整的输入。然后,通过 `model.add_flags_recursive(is_first_iteration=False)` 将is_first_iteration设为False。此时,传递step的输入tensor,并对其进行环回。默认值:False - - **moe_config** (MoEConfig) - 表示MoE (Mixture of Expert)的配置。默认值为 `default_moe_config` ,表示带有默认参数的 `MoEConfig` 实例。 - - **parallel_config** (OpParallelConfig) - 表示并行配置。默认值为 `default_dpmp_config` ,表示一个带有默认参数的 `OpParallelConfig` 实例。 + 输入: + - **x** (Tensor) - Float Tensor。如果use_past为False或者is_first_iteration为True,shape应为[batch_size, seq_length, hidden_size]或者[batch_size * seq_length, hidden_size]。否则,shape应为[batch_size, 1, hidden_size]。 + - **input_mask** (Tensor) - Float tensor。use_past为False或者is_first_iteration为True时,表示shape为[batch_size, seq_length, seq_length]的注意力掩码。否则,shape应为[batch_size, 1, hidden_size]。 + - **init_reset** (Tensor) - shape为[1]的bool tensor,用于清除增量预测中使用的past key参数和past value参数。仅当use_past为True时有效。默认值为True。 + - **batch_valid_length** (Tensor) - shape为[batch_size]的Int32 tensor,表示过去所计算的索引。当use_past为True时,它用于增量预测。默认值为None。 - **输入:** + 输出: + Tuple,表示一个包含(`output`, `layer_present`)的元组。 - - **x** (Tensor) - Float Tensor。如果use_past为False或者is_first_iteration为True,shape应为[batch_size, seq_length, hidden_size]或者[batch_size * seq_length, hidden_size]。否则,shape应为[batch_size, 1, hidden_size]。 - - **input_mask** (Tensor) - Float tensor。use_past为False或者is_first_iteration为True时,表示shape为[batch_size, seq_length, seq_length]的注意力掩码。否则,shape应为[batch_size, 1, hidden_size]。 - - **init_reset** (Tensor) - shape为[1]的bool tensor,用于清除增量预测中使用的past key参数和past value参数。仅当use_past为True时有效。默认值为True。 - - **batch_valid_length** (Tensor) - shape为[batch_size]的Int32 tensor,表示过去所计算的索引。当use_past为True时,它用于增量预测。默认值为None。 - - **输出:** - - Tuple,表示一个包含(`output`, `layer_present`)的元组。 - - - **output** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, seq_length, hidden_size)或(batch_size * seq_length, hidden_size)的层输出的float tensor。否则,shape将为(batch_size, 1, hidden_size)。 - - - **layer_present** (Tuple) - 表示shape为((batch_size, num_heads, size_per_head, seq_length)或(batch_size, num_heads, seq_length, size_per_head))的投影key向量和value向量的Tensor的元组。 + - **output** (Tensor) - use_past为False或is_first_iteration为True时,表示shape为(batch_size, seq_length, hidden_size)或(batch_size * seq_length, hidden_size)的层输出的float tensor。否则,shape将为(batch_size, 1, hidden_size)。 + - **layer_present** (Tuple) - 表示shape为((batch_size, num_heads, size_per_head, seq_length)或(batch_size, num_heads, seq_length, size_per_head))的投影key向量和value向量的Tensor的元组。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerOpParallelConfig.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerOpParallelConfig.rst index 35b0b7e8059..413b75417b3 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerOpParallelConfig.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerOpParallelConfig.rst @@ -6,17 +6,16 @@ 除recompute参数外,当用户未将auto_parallel_context设为 `SEMI_AUTO_PARALLEL` 或 `AUTO_PARALLEL` 时,其他参数将无效。 在训练时,micro_batch_num的值必须大于或等于equal to pipeline_stage的值。data_parallel\*model_parallel \*pipeline_stage的值必须等于或小于总设备的数量。设置pipeline_stage和optimizer_shard时,其配置将覆盖auto_parallel_context的配置。 - **参数:** - - - **data_parallel** (int) - 表示数据并行数。默认值:1。 - - **model_parallel** (int) - 表示模型并行数。默认值:1。 - - **expert_parallel** (int) - 表示专家并行数,只有在应用混合专家结构(MoE,Mixture of Experts)时才会生效。默认值:1. - - **pipeline_stage** (int) - 表示将Transformer切分成的stage数目。其值应为正数。默认值:1。 - - **micro_batch_num** (int) - 表示用于pipeline训练的batch的微型大小。默认值:1。 - - **optimizer_shard** (bool) - 表示是否使能优化器切分。默认值:False。 - - **gradient_aggregation_group** (int) - 表示优化器切分的融合组大小。默认值:4。 - - **recompute** (bool) - 表示是否启用transformer每层的的重计算。默认值:一个按默认参数初始化的 `TransformerRecomputeConfig` 实例。 - - **vocab_emb_dp** (bool) - 表示Embedding表是否为数据并行,否则将在查找表中的第0维度根据模型并行度进行切分。默认值:True。 + 参数: + - **data_parallel** (int) - 表示数据并行数。默认值:1。 + - **model_parallel** (int) - 表示模型并行数。默认值:1。 + - **expert_parallel** (int) - 表示专家并行数,只有在应用混合专家结构(MoE,Mixture of Experts)时才会生效。默认值:1. + - **pipeline_stage** (int) - 表示将Transformer切分成的stage数目。其值应为正数。默认值:1。 + - **micro_batch_num** (int) - 表示用于pipeline训练的batch的微型大小。默认值:1。 + - **optimizer_shard** (bool) - 表示是否使能优化器切分。默认值:False。 + - **gradient_aggregation_group** (int) - 表示优化器切分的融合组大小。默认值:4。 + - **recompute** (bool) - 表示是否启用transformer每层的的重计算。默认值:一个按默认参数初始化的 `TransformerRecomputeConfig` 实例。 + - **vocab_emb_dp** (bool) - 表示Embedding表是否为数据并行,否则将在查找表中的第0维度根据模型并行度进行切分。默认值:True。 .. py:method:: dp_mp_config() diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerRecomputeConfig.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerRecomputeConfig.rst index dcaa0c13c39..5d922d7fc73 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerRecomputeConfig.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.TransformerRecomputeConfig.rst @@ -2,9 +2,8 @@ Transformer的重计算配置接口。 - **参数:** - - - **recompute** (bool) - 是否使能重计算。默认值为False。 - - **parallel_optimizer_comm_recompute** (bool) - 指定由优化器切分产生的AllGather算子是否进行重计算。默认值为False。 - - **mp_comm_recompute** (bool) - 指定由模型并行成分产生的通信算子是否进行重计算。默认值为True。 - - **recompute_slice_activation** (bool) - 指定激活层是否切片保存。默认值为False。 + 参数: + - **recompute** (bool) - 是否使能重计算。默认值为False。 + - **parallel_optimizer_comm_recompute** (bool) - 指定由优化器切分产生的AllGather算子是否进行重计算。默认值为False。 + - **mp_comm_recompute** (bool) - 指定由模型并行成分产生的通信算子是否进行重计算。默认值为True。 + - **recompute_slice_activation** (bool) - 指定激活层是否切片保存。默认值为False。 diff --git a/docs/api/api_python/transformer/mindspore.nn.transformer.VocabEmbedding.rst b/docs/api/api_python/transformer/mindspore.nn.transformer.VocabEmbedding.rst index 939f4b6507c..9aebe9a5c9c 100644 --- a/docs/api/api_python/transformer/mindspore.nn.transformer.VocabEmbedding.rst +++ b/docs/api/api_python/transformer/mindspore.nn.transformer.VocabEmbedding.rst @@ -5,27 +5,23 @@ .. note:: 启用 `AUTO_PARALLEL` / `SEMI_AUTO_PARALLEL` 模式时,此层仅支持2维度的输入,因为策略是为2D输入而配置的。 - **参数:** + 参数: + - **vocab_size** (int) - 表示查找表的大小。 + - **embedding_size** (int)- 表示查找表中每个嵌入向量的大小。 + - **param_init** (Union[Tensor, str, Initializer, numbers.Number] - 表示embedding_table的Initializer。当指定字符串时,请参见 `initializer` 类了解字符串的值。默认值:'normal'。 + - **parallel_config** (EmbeddingOpParallelConfig) - 表示网络的并行配置。默认值为 `default_embedding_parallel_config` ,表示带有默认参数的 `EmbeddingOpParallelConfig` 实例。 - - **vocab_size** (int) - 表示查找表的大小。 - - **embedding_size** (int)- 表示查找表中每个嵌入向量的大小。 - - **param_init** (Union[Tensor, str, Initializer, numbers.Number])- 表示embedding_table的Initializer。当指定字符串时,请参见 `initializer` 类了解字符串的值。默认值:'normal'。 - - **parallel_config** (EmbeddingOpParallelConfig) - 表示网络的并行配置。默认值为 `default_embedding_parallel_config` ,表示带有默认参数的 `EmbeddingOpParallelConfig` 实例。 + 输入: + - **input_ids** (Tensor) - shape为(batch_size, seq_length)的输入,其数据类型为int32。 - **输入:** + 输出: + Tuple,表示一个包含(`output`, `embedding_table`)的元组。 - - **input_ids** (Tensor) - shape为(batch_size, seq_length)的输入,其数据类型为int32。 + - **output** (Tensor) - shape为(batch_size, seq_length, embedding_size)嵌入向量查找结果。 + - **embedding_table** (Tensor) - shape为(vocab_size, embedding_size)的嵌入表。 - **输出:** - - Tuple,表示一个包含(`output`, `embedding_table`)的元组。 - - - **output** (Tensor) - shape为(batch_size, seq_length, embedding_size)嵌入向量查找结果。 - - **embedding_table** (Tensor) - shape为(vocab_size, embedding_size)的嵌入表。 - - **异常:** - - - **ValueError** - parallel_config.vocab_emb_dp为True时,词典的大小不是parallel_config.model_parallel的倍数。 - - **ValueError** - `vocab_size` 不是正值。 - - **ValueError** - `embedding_size` 不是正值。 - - **TypeError** - `parallel_config` 不是OpParallelConfig的子类。 + 异常: + - **ValueError** - parallel_config.vocab_emb_dp为True时,词典的大小不是parallel_config.model_parallel的倍数。 + - **ValueError** - `vocab_size` 不是正值。 + - **ValueError** - `embedding_size` 不是正值。 + - **TypeError** - `parallel_config` 不是OpParallelConfig的子类。