!35047 modify format

Merge pull request !35047 from 俞涵/code_docs_0527
This commit is contained in:
i-robot 2022-05-27 07:08:12 +00:00 committed by Gitee
commit 4adf5d390c
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
20 changed files with 480 additions and 485 deletions

View File

@ -1158,7 +1158,7 @@ mindspore.Tensor
**参数:**
- **indices** (Tensor) - 该Tensor的索引数据类型为int32或int64的。其rank必须至少为2。
- **updates** (Tensor) - 指定与当前Tensor相加操作的Tensor其数据类型与输入相同。updates.shape应等于 `indices.shape[:-1] + input_x.shape[indices.shape[-1]:]` 其中`input_x` 代指当前Tensor本身。
- **updates** (Tensor) - 指定与当前Tensor相加操作的Tensor其数据类型与输入相同。updates.shape应等于 `indices.shape[:-1] + input_x.shape[indices.shape[-1]:]` 其中 `input_x` 代指当前Tensor本身。
**返回:**

View File

@ -27,7 +27,7 @@
**输入:**
- **var**Parameter- 要更新的变量。为任意维度其数据类型为float16或float32。
- **var** (Parameter) - 要更新的变量。为任意维度其数据类型为float16或float32。
- **accum** (Parameter) - 要更新的累积。shape和数据类型必须与 `var` 相同。
- **lr** (Union[Number, Tensor]) - 学习率必须是float或具有float16或float32数据类型的Scalar的Tensor。
- **grad** (Tensor) - 梯度为一个Tensor。shape和数据类型必须与 `var` 相同。

View File

@ -20,7 +20,7 @@
**输入:**
- **var**Parameter- 要更新的变量任意维度其数据类型为float32或float16。如果 `var` 的数据类型为float16则所有输入的数据类型必须与 `var` 相同。
- **var** (Parameter) - 要更新的变量任意维度其数据类型为float32或float16。如果 `var` 的数据类型为float16则所有输入的数据类型必须与 `var` 相同。
- **m** (Parameter) - 要更新的变量shape和数据类型与 `var` 相同。
- **lr** (Union[Number, Tensor]) - 学习率应该是Scalar或Tensor数据类型为float32或float16。
- **logbase** (Union[Number, Tensor]) - 应该是Scalar或Tensor数据类型为float32或float16。

View File

@ -18,7 +18,7 @@ mindspore.ops.hardshrink
- **x** (Tensor) - Hard Shrink的输入数据类型为float16或float32。
- **lambd** (float) - Hard Shrink公式定义的阈值 :math:`\lambda` 。默认值0.5。
**输出**
**返回**
Tensorshape和数据类型与输入相同。

View File

@ -12,7 +12,7 @@ mindspore.ops.meshgrid
- **inputs** (Union[tuple]) - N个一维Tensor。输入的长度应大于1。数据类型为Number。
- **indexing** ('xy', 'ij', optional) - 'xy'或'ij'。以笛卡尔坐标'xy'或者矩阵'ij'索引作为输出。以长度为 `M``N` 的二维输入,取值为'xy'时输出的shape为 :math:`(N, M)` ,取值为'ij'时输出的shape为 :math:`(M, N)` 。以长度为 `M` , `N``P` 的三维输入,取值为'xy'时输出的shape为 :math:`(N, M, P)` ,取值为'ij'时输出的shape为 :math:`(M, N, P)` 。默认值:'xy'。
**输出**
**返回**
TensorN个N维tensor对象的元组。数据类型与输入相同。

View File

@ -1,41 +1,41 @@
mindspore.nn.probability.bnn_layers.ConvReparam
===============================================
.. py:class::classmindspore.nn.probability.bnn_layers.ConvReparam(in_channels, out_channels, kernel_size, stride=1, pad_mode="same", padding=0, dilation=1, group=1, has_bias=False, weight_prior_fn=NormalPrior, weight_posterior_fn=normal_post_fn, bias_prior_fn=NormalPrior, bias_posterior_fn=normal_post_fn)
具有重构化参数的卷积变分层。
更多相关信息可以查阅 `自动编码变分贝叶斯 <https://arxiv.org/abs/1312.6114>`_ 相关论文。
**参数:**
- **in_channels** (int) - 输入的channels :math:`C_{in}`
- **out_channels** (int) 输出的channels :math:`C_{out}`
- **kernel_size** (Union[int, tuple[int]]) - 数据类型是 int 或2个 int 的元组。内核大小指定二维卷积窗口的高度和宽度。一个整数代表内核的高度和宽度。 kernel_size 是2个整数的元组第一个值是高度第二个值是内核的宽度。
- **stride** (Union[int, tuple[int]]) 内核移动的距离若是一个整数表示则移动的高度和宽度都是步幅或者两个整数的元组分别表示移动的高度和宽度。默认值1。
- **pad_mode** (str) 指定填充模式。可选值是"same"、"valid"和"pad"。默认值:"same"。
same采用补全方式。输出高度和宽度将与输入相同。将在水平和垂直方向上计算填充的总数并尽可能均匀地分布在顶部和底部、左侧和右侧。否则最后的额外填充将从底部和右侧完成。如果设置了此模式则 padding 必须为0。
valid采用丢弃的方式。输出的可能最大高度和宽度将不带 padding 返回。多余的像素将被丢弃。如果设置了此模式,则 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 将有k1每个采样位置跳过的像素。它的值必须大于或等于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, in\_channels)`
**输出:**
- **output** (Tensor) - 输出张量的形状是 :math:`(N, out\_channels)`
mindspore.nn.probability.bnn_layers.ConvReparam
===============================================
.. py:class:: mindspore.nn.probability.bnn_layers.ConvReparam(in_channels, out_channels, kernel_size, stride=1, pad_mode="same", padding=0, dilation=1, group=1, has_bias=False, weight_prior_fn=NormalPrior, weight_posterior_fn=normal_post_fn, bias_prior_fn=NormalPrior, bias_posterior_fn=normal_post_fn)
具有重构化参数的卷积变分层。
更多相关信息可以查阅 `自动编码变分贝叶斯 <https://arxiv.org/abs/1312.6114>`_ 相关论文。
**参数:**
- **in_channels** (int) - 输入的channels :math:`C_{in}`
- **out_channels** (int) 输出的channels :math:`C_{out}`
- **kernel_size** (Union[int, tuple[int]]) - 数据类型是 int 或2个 int 的元组。内核大小指定二维卷积窗口的高度和宽度。一个整数代表内核的高度和宽度。 kernel_size 是2个整数的元组第一个值是高度第二个值是内核的宽度。
- **stride** (Union[int, tuple[int]]) 内核移动的距离若是一个整数表示则移动的高度和宽度都是步幅或者两个整数的元组分别表示移动的高度和宽度。默认值1。
- **pad_mode** (str) 指定填充模式。可选值是"same"、"valid"和"pad"。默认值:"same"。
same采用补全方式。输出高度和宽度将与输入相同。将在水平和垂直方向上计算填充的总数并尽可能均匀地分布在顶部和底部、左侧和右侧。否则最后的额外填充将从底部和右侧完成。如果设置了此模式则 padding 必须为0。
valid采用丢弃的方式。输出的可能最大高度和宽度将不带 padding 返回。多余的像素将被丢弃。如果设置了此模式,则 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 将有k1每个采样位置跳过的像素。它的值必须大于或等于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, in\_channels)`
**输出:**
- **output** (Tensor) - 输出张量的形状是 :math:`(N, out\_channels)`

View File

@ -1,35 +1,34 @@
mindspore.nn.probability.bnn_layers.DenseLocalReparam
=====================================================
.. py:class:mindspore.nn.probability.bnn_layers.DenseLocalReparam(in_channels, out_channels, activation=None, has_bias=True, weight_prior_fn=NormalPrior,
weight_posterior_fn=normal_post_fn, bias_prior_fn=NormalPrior, bias_posterior_fn=normal_post_fn)
具有局部重构化参数的密集变分层。
更多相关信息,请查阅论文 `变分 Dropout 和局部重参数化技巧 <https://arxiv.org/abs/1506.02557>`_
将密集连接层应用于输入。该层将操作实现为:
.. math::
\text{outputs} = \text{activation}(\text{inputs} * \text{weight} + \text{bias}),
在这个公式中, activation 作为 `activation` 参数传递的激活函数(如果传入) activation 是与创建层的输入具有相同数据类型的权重矩阵, weight 是从权重的后验分布采样的权重矩阵,并且 bias 是与层创建的输入具有相同数据类型的偏置向量(仅当 has_bias 为 True 时)。偏差向量是从后验分布中采样的 bias。
**参数:**
- **in_channels** (int) 输入通道的数量。
- **out_channels** (int) - 输出通道的数量。
- **activation** (str, Cell) 应用于输出层的正则化函数。激活的类型可以是 string例如'relu'或单元格例如nn.ReLU())。注意,如果激活的类型是 Cell则必须事先实例化。默认值None。
- **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) - `input` 的 shape 是 :math:`(N, in\_channels)`
**输出:**
mindspore.nn.probability.bnn_layers.DenseLocalReparam
=====================================================
.. py:class:: mindspore.nn.probability.bnn_layers.DenseLocalReparam(in_channels, out_channels, activation=None, has_bias=True, weight_prior_fn=NormalPrior, weight_posterior_fn=normal_post_fn, bias_prior_fn=NormalPrior, bias_posterior_fn=normal_post_fn)
具有局部重构化参数的密集变分层。
更多相关信息,请查阅论文 `变分 Dropout 和局部重参数化技巧 <https://arxiv.org/abs/1506.02557>`_
将密集连接层应用于输入。该层将操作实现为:
.. math::
\text{outputs} = \text{activation}(\text{inputs} * \text{weight} + \text{bias}),
在这个公式中, activation 作为 `activation` 参数传递的激活函数(如果传入) activation 是与创建层的输入具有相同数据类型的权重矩阵, weight 是从权重的后验分布采样的权重矩阵,并且 bias 是与层创建的输入具有相同数据类型的偏置向量(仅当 has_bias 为 True 时)。偏差向量是从后验分布中采样的 bias。
**参数:**
- **in_channels** (int) 输入通道的数量。
- **out_channels** (int) - 输出通道的数量。
- **activation** (str, Cell) 应用于输出层的正则化函数。激活的类型可以是 string例如'relu'或单元格例如nn.ReLU())。注意,如果激活的类型是 Cell则必须事先实例化。默认值None。
- **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) - `input` 的 shape 是 :math:`(N, in\_channels)`
**输出:**
- **output** (Tensor) - `output` 的 shape 是 :math:`(N, out\_channels)`

View File

@ -1,37 +0,0 @@
mindspore.nn.probability.bnn_layers.DenseReparam
================================================
.. py:class::mindspore.nn.probability.bnn_layers.DenseReparam(in_channels, out_channels, activation=None, has_bias=True,
weight_prior_fn=NormalPrior, weight_posterior_fn=normal_post_fn, bias_prior_fn=NormalPrior, bias_posterior_fn=normal_post_fn)
具有重构参数化的密集变分层。
更多相关信息,请参阅论文 `自动编码变分贝叶斯 <https://arxiv.org/abs/1312.6114>`_。
将密集连接层应用于输入。该层将操作实现为:
.. math::
\text{outputs} = \text{activation}(\text{inputs} * \text{weight} + \text{bias}),
在本公式中 :math:`\text{activation}` 是作为激活参数传递的激活函数(如果传入,:math:`\text{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) - 指定层是否使用偏置向量。默认值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) - `input` 的 shape 是 :math:`(N, in\_channels)`。
**输出:**
- **output** (Tensor) - `output` 的 shape 是 :math:`(N, out\_channels)`。

View File

@ -0,0 +1,36 @@
mindspore.nn.probability.bnn_layers.DenseReparam
================================================
.. py:class:: mindspore.nn.probability.bnn_layers.DenseReparam(in_channels, out_channels, activation=None, has_bias=True, weight_prior_fn=NormalPrior, weight_posterior_fn=normal_post_fn, bias_prior_fn=NormalPrior, bias_posterior_fn=normal_post_fn)
具有重构参数化的密集变分层。
更多相关信息,请参阅论文 `自动编码变分贝叶斯 <https://arxiv.org/abs/1312.6114>`_
将密集连接层应用于输入。该层将操作实现为:
.. math::
\text{outputs} = \text{activation}(\text{inputs} * \text{weight} + \text{bias}),
在本公式中 :math:`\text{activation}` 是作为激活参数传递的激活函数(如果传入,:math:`\text{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) - 指定层是否使用偏置向量。默认值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) - `input` 的 shape 是 :math:`(N, in\_channels)`
**输出:**
- **output** (Tensor) - `output` 的 shape 是 :math:`(N, out\_channels)`

View File

@ -1,21 +1,20 @@
mindspore.nn.probability.bnn_layers.NormalPosterior
===================================================
.. py:class::mindspore.nn.probability.bnn_layers.NormalPosterior(name, shape, dtype=mstype.float32, loc_mean=0,
loc_std=0.1, untransformed_scale_mean=-5, untransformed_scale_std=0.1)
用可训练的参数构建正态分布。
**参数:**
- **name** (str) 可训练参数的前置名。
- **shape** (list, tuple) 均值和标准差的 shape。
- **dtype** (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一种正态分布结果。
mindspore.nn.probability.bnn_layers.NormalPosterior
===================================================
.. py:class:: mindspore.nn.probability.bnn_layers.NormalPosterior(name, shape, dtype=mstype.float32, loc_mean=0, loc_std=0.1, untransformed_scale_mean=-5, untransformed_scale_std=0.1)
用可训练的参数构建正态分布。
**参数:**
- **name** (str) 可训练参数的前置名。
- **shape** (list, tuple) 均值和标准差的 shape。
- **dtype** (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一种正态分布结果。

View File

@ -1,16 +1,16 @@
mindspore.nn.probability.bnn_layers.NormalPrior
===============================================
.. py:class::mindspore.nn.probability.bnn_layers.NormalPrior(dtype=mstype.float32, mean=0, std=0.1)
初始化均值 0 和标准差 0.1 的正态分布。
**参数:**
- **dtype** (mindspore.dtype) 用于定义输出 Tensor 的数据类型的参数。默认值mindspore.float32。
- **mean** (int, float) - 正态分布的平均值。默认值0。
- **std** (int, float) - 正态分布的标准差。默认值0.1。
**返回**
Cell一种正态分布的结果。
mindspore.nn.probability.bnn_layers.NormalPrior
===============================================
.. py:class:: mindspore.nn.probability.bnn_layers.NormalPrior(dtype=mstype.float32, mean=0, std=0.1)
初始化均值 0 和标准差 0.1 的正态分布。
**参数:**
- **dtype** (mindspore.dtype) 用于定义输出 Tensor 的数据类型的参数。默认值mindspore.float32。
- **mean** (int, float) - 正态分布的平均值。默认值0。
- **std** (int, float) - 正态分布的标准差。默认值0.1。
**返回**
Cell一种正态分布的结果。

View File

@ -1,31 +1,31 @@
mindspore.nn.probability.bnn_layers.WithBNNLossCell
===================================================
.. py:class::mindspore.nn.probability.bnn_layers.WithBNNLossCell(backbone, loss_fn, dnn_factor=1, bnn_factor=1)
为 BNN 生成一个合适的 WithLossCell用损失函数包裹贝叶斯网络。
**参数:**
- **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)`
**输出:**
Tensor任意 shape 的标量 Tensor。
.. py:method::backbone_network
:property:
返回骨干网。
**返回:**
Cell骨干网。
mindspore.nn.probability.bnn_layers.WithBNNLossCell
===================================================
.. py:class:: mindspore.nn.probability.bnn_layers.WithBNNLossCell(backbone, loss_fn, dnn_factor=1, bnn_factor=1)
为 BNN 生成一个合适的 WithLossCell用损失函数包裹贝叶斯网络。
**参数:**
- **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)`
**输出:**
Tensor任意 shape 的标量 Tensor。
.. py:method:: backbone_network
:property:
返回骨干网。
**返回:**
Cell骨干网。

View File

@ -1,56 +1,54 @@
mindspore.nn.probability.dpn.ConditionalVAE
===========================================
.. py:class::mindspore.nn.probability.dpn.ConditionalVAE(encoder, decoder, hidden_size, latent_size, num_classes)
条件变分自动编码器 (CVAE)。
与 VAE 的区别在于 CVAE 使用标签信息。有关更多详细信息,请参阅`基于深度条件生成模型学习结构化输出表示
<http://papers.nips.cc/paper/5775-learning-structured-output-representation-using-deep-conditional-generative-models>`_。
.. note::
定义编码器和解码器时,编码器的输出 Tensor 和解码器的输入 Tensor 的 shape 必须是(N, hidden_size)。潜在大小必须小于或等于隐藏大小。
**参数:**
- **encoder** (Cell) - 定义为编码器的深度神经网络 (DNN) 模型。
- **decoder** (Cell) - 定义为解码器的深度神经网络 (DNN) 模型。
- **hidden_size** (int) - 编码器输出 Tensor 的大小。
- **latent_size** (int) - 潜在空间的大小。
- **num_classes** (int) - 类的数量。
**输入:**
- **input_x** (Tensor) - 输入 Tensor 的 shape 是(N,C,H,W),与编码器的输入相同。
- **input_y** (Tensor) - 目标数据的 Tensorshape 为(N,)_。
**输出:**
- **output** (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)。
**返回:**
Tensor生成的样本。
.. py:method::reconstruct_sample(x, y)
从原始数据重建样本。
**参数:**
- **x** (Tensor) - 要重构的输入 Tensorshape 为 (N, C, H, W)。
- **y** (Tensor) - 要输入 Tensor 的 labelshape 为 (N, C, H, W)。
**返回:**
Tensor重建的样本。
mindspore.nn.probability.dpn.ConditionalVAE
===========================================
.. py:class:: mindspore.nn.probability.dpn.ConditionalVAE(encoder, decoder, hidden_size, latent_size, num_classes)
条件变分自动编码器 (CVAE)。
与 VAE 的区别在于 CVAE 使用标签信息。有关更多详细信息,请参阅 `基于深度条件生成模型学习结构化输出表示 <http://papers.nips.cc/paper/5775-learning-structured-output-representation-using-deep-conditional-generative-models>`_
.. note::
定义编码器和解码器时,编码器的输出 Tensor 和解码器的输入 Tensor 的 shape 必须是(N, hidden_size)。潜在大小必须小于或等于隐藏大小。
**参数:**
- **encoder** (Cell) - 定义为编码器的深度神经网络 (DNN) 模型。
- **decoder** (Cell) - 定义为解码器的深度神经网络 (DNN) 模型。
- **hidden_size** (int) - 编码器输出 Tensor 的大小。
- **latent_size** (int) - 潜在空间的大小。
- **num_classes** (int) - 类的数量。
**输入:**
- **input_x** (Tensor) - 输入 Tensor 的 shape 是(N,C,H,W),与编码器的输入相同。
- **input_y** (Tensor) - 目标数据的 Tensorshape 为(N,)_。
**输出:**
- **output** (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)。
**返回:**
Tensor生成的样本。
.. py:method:: reconstruct_sample(x, y)
从原始数据重建样本。
**参数:**
- **x** (Tensor) - 要重构的输入 Tensorshape 为 (N, C, H, W)。
- **y** (Tensor) - 要输入 Tensor 的 labelshape 为 (N, C, H, W)。
**返回:**
Tensor重建的样本。

View File

@ -1,49 +1,49 @@
mindspore.nn.probability.dpn.VAE
================================
.. py:class:: mindspore.nn.probability.dpn.VAE
变分自动编码器 (VAE)。
VAE 定义了一个生成模型Z从先验中采样然后由解码器用于重建X。有关更多详细信息请参阅 `自动编码变分贝叶斯 <https://arxiv.org/abs/1312.6114>`_
.. note:: 定义编码器和解码器时,编码器的输出 Tensor 和解码器的输入Tensor 的 shape 必须是 :math:`(N, hidden\_size)`。 潜在大小必须小于或等于隐藏大小。
**参数:**
- **encoder** (Cell) - 定义为编码器的深度神经网络 (DNN) 模型。
- **decoder** (Cell) - 定义为解码器的深度神经网络 (DNN) 模型。
- **hidden_size** (int) - 编码器输出 Tensor 的大小。
- **latent_size** (int) - 潜在空间的大小。
**输入:**
- **input** (Tensor) - 输入 Tensor 的 shape 是 :math:`(N, C, H, W)`,与编码器的输入相同。
**输出:**
- **output** (Tuple) - recon_xTensorxTensormuTensorstdTensor
.. py:method::generate_sample(generate_nums, shape)
从潜在空间中随机采样以生成样本。
**参数:**
- **generate_nums** int- 要生成的样本数。
- **shape** tuple- 样本的 shape它必须是 (generate_nums, C, H, W) 或 (-1, C, H, W)。
**返回:**
Tensor生成的样本。
.. py:method::reconstruct_sample(×)
从原始数据重建样本。
**参数:**
- **x** (Tensor) - 要重构的输入 Tensorshape 为 (N, C, H, W)。
**返回:**
Tensor重构的样本。
mindspore.nn.probability.dpn.VAE
================================
.. py:class:: mindspore.nn.probability.dpn.VAE
变分自动编码器 (VAE)。
VAE 定义了一个生成模型Z从先验中采样然后由解码器用于重建X。有关更多详细信息请参阅 `自动编码变分贝叶斯 <https://arxiv.org/abs/1312.6114>`_
.. note:: 定义编码器和解码器时,编码器的输出 Tensor 和解码器的输入Tensor 的 shape 必须是 :math:`(N, hidden\_size)`。 潜在大小必须小于或等于隐藏大小。
**参数:**
- **encoder** (Cell) - 定义为编码器的深度神经网络 (DNN) 模型。
- **decoder** (Cell) - 定义为解码器的深度神经网络 (DNN) 模型。
- **hidden_size** (int) - 编码器输出 Tensor 的大小。
- **latent_size** (int) - 潜在空间的大小。
**输入:**
- **input** (Tensor) - 输入 Tensor 的 shape 是 :math:`(N, C, H, W)`,与编码器的输入相同。
**输出:**
- **output** (Tuple) - recon_xTensorxTensormuTensorstdTensor
.. py:method:: generate_sample(generate_nums, shape)
从潜在空间中随机采样以生成样本。
**参数:**
- **generate_nums** int- 要生成的样本数。
- **shape** tuple- 样本的 shape它必须是 (generate_nums, C, H, W) 或 (-1, C, H, W)。
**返回:**
Tensor生成的样本。
.. py:method:: reconstruct_sample(×)
从原始数据重建样本。
**参数:**
- **x** (Tensor) - 要重构的输入 Tensorshape 为 (N, C, H, W)。
**返回:**
Tensor重构的样本。

View File

@ -1,25 +1,25 @@
mindspore.nn.probability.infer.ELBO
===================================
.. py:class::mindspore.nn.probability.infer.ELBO(latent_prior="Normal", output_prior="Normal")
Evidence Lower Bound (ELBO) 网络。
变分推断最小化了从变分分布到后验分布的 Kullback-Leibler (KL) 散度。
它使 ELBO 最大化,这是观测值 log p(x) 的边际概率的对数的下限。ELBO 等于负 KL 散度直到一个加性常数。有关更多详细信息,请参阅
`变分推理:统计学家评论 <https://arxiv.org/abs/1601.00670>`_
**参数:**
- **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 是(N,)。
**输出:**
Tensor损失浮动张量。
mindspore.nn.probability.infer.ELBO
===================================
.. py:class:: mindspore.nn.probability.infer.ELBO(latent_prior="Normal", output_prior="Normal")
Evidence Lower Bound (ELBO) 网络。
变分推断最小化了从变分分布到后验分布的 Kullback-Leibler (KL) 散度。
它使 ELBO 最大化,这是观测值 log p(x) 的边际概率的对数的下限。ELBO 等于负 KL 散度直到一个加性常数。有关更多详细信息,请参阅
`变分推理:统计学家评论 <https://arxiv.org/abs/1601.00670>`_
**参数:**
- **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 是(N,)。
**输出:**
Tensor损失浮动张量。

View File

@ -1,33 +1,33 @@
mindspore.nn.probability.infer.SVI
==================================
.. py:class::mindspore.nn.probability.infer.SVI(net_with_loss, optimizer)
随机变分推理SVI
变分推理将推理问题转换为优化。隐藏变量上的一些分布由一组自由参数索引,这些参数经过优化以使分布最接近感兴趣的后验。有关更多详细信息,请参阅
`变分推理:统计学家评论 <https://arxiv.org/abs/1601.00670>`_
**参数:**
- **net_with_loss** (Cell) - 具有损失函数的单元格。
- **optimizer** (Cell) - 更新权重的优化器。
.. py:method::get_train_loss()
**返回:**
numpy.dtype训练后的损失。
.. py:method::run(train_dataset, epochs =10)
通过训练概率网络来优化参数,并返回训练好的网络。
**参数:**
- **train_dataset** (Dataset) - 训练数据集迭代器。
- **epochs** (int) - 数据的迭代总数。默认值10。
**返回:**
mindspore.nn.probability.infer.SVI
==================================
.. py:class:: mindspore.nn.probability.infer.SVI(net_with_loss, optimizer)
随机变分推理SVI
变分推理将推理问题转换为优化。隐藏变量上的一些分布由一组自由参数索引,这些参数经过优化以使分布最接近感兴趣的后验。有关更多详细信息,请参阅
`变分推理:统计学家评论 <https://arxiv.org/abs/1601.00670>`_
**参数:**
- **net_with_loss** (Cell) - 具有损失函数的单元格。
- **optimizer** (Cell) - 更新权重的优化器。
.. py:method:: get_train_loss()
**返回:**
numpy.dtype训练后的损失。
.. py:method:: run(train_dataset, epochs =10)
通过训练概率网络来优化参数,并返回训练好的网络。
**参数:**
- **train_dataset** (Dataset) - 训练数据集迭代器。
- **epochs** (int) - 数据的迭代总数。默认值10。
**返回:**
Cell经过训练的概率网络。

View File

@ -1,44 +1,44 @@
mindspore.nn.probability.toolbox.UncertaintyEvaluation
======================================================
.. py:class::mindspore.nn.probability.toolbox.UncertaintyEvaluation(model, train_dataset, task_type, num_classes=None, epochs=1, epi_uncer_model_path=None, ale_uncer_model_path=None, save_model=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) - 是否保存不确定性模型,如果为 trueepi_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)。
**返回:**
numpy.dtype数据样本推断结果的任意不确定性。
.. py:method::eval_epistemic_uncertainty(eval_data)
评估推理结果的认知不确定性,也称为模型不确定性。
**参数:**
- **eval_data** (Tensor) - 要评估的数据样本shape 必须是 (N,C,H,W)。
**返回:**
mindspore.nn.probability.toolbox.UncertaintyEvaluation
======================================================
.. py:class:: mindspore.nn.probability.toolbox.UncertaintyEvaluation(model, train_dataset, task_type, num_classes=None, epochs=1, epi_uncer_model_path=None, ale_uncer_model_path=None, save_model=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) - 是否保存不确定性模型,如果为 trueepi_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)。
**返回:**
numpy.dtype数据样本推断结果的任意不确定性。
.. py:method:: eval_epistemic_uncertainty(eval_data)
评估推理结果的认知不确定性,也称为模型不确定性。
**参数:**
- **eval_data** (Tensor) - 要评估的数据样本shape 必须是 (N,C,H,W)。
**返回:**
numpy.dtype数据样本推断结果的任意不确定性。

View File

@ -1,53 +0,0 @@
mindspore.nn.probability.toolbox.VAEAnomalyDetection
====================================================
.. py:class::mindspore.nn.probability.toolbox.VAEAnomalyDetection(encoder, decoder, hidden_size=400, latent_size=20)
使用 VAE 进行异常检测的工具箱。
变分自动编码器VAE可用于无监督异常检测。异常分数是 X 与重建 X 之间的误差。如果分数高,则 X 大多是异常值。
**参数:**
- **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。
**返回:**
bool值样本是否为异常值。
.. py:method::predict_outlier_score(sample_x)
预测异常值分数。
**参数:**
- **sample_x** (Tensor) - 待预测的样本shape 为 (N, C, H, W)。
**返回:**
float样本的预测异常值分数。
.. py:method::train(train_dataset , epochs =5)
训练 VAE 模型。
**参数:**
- **train_dataset**Dataset - 用于训练模型的数据集迭代器。
- **epochs**int - 数据的迭代总数。默认值5。
**返回:**
Cell训练完的模型。

View File

@ -0,0 +1,53 @@
mindspore.nn.probability.toolbox.VAEAnomalyDetection
====================================================
.. py:class:: mindspore.nn.probability.toolbox.VAEAnomalyDetection(encoder, decoder, hidden_size=400, latent_size=20)
使用 VAE 进行异常检测的工具箱。
变分自动编码器VAE可用于无监督异常检测。异常分数是 X 与重建 X 之间的误差。如果分数高,则 X 大多是异常值。
**参数:**
- **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。
**返回:**
bool值样本是否为异常值。
.. py:method:: predict_outlier_score(sample_x)
预测异常值分数。
**参数:**
- **sample_x** (Tensor) - 待预测的样本shape 为 (N, C, H, W)。
**返回:**
float样本的预测异常值分数。
.. py:method:: train(train_dataset , epochs =5)
训练 VAE 模型。
**参数:**
- **train_dataset** (Dataset) - 用于训练模型的数据集迭代器。
- **epochs** (int) - 数据的迭代总数。默认值5。
**返回:**
Cell训练完的模型。

View File

@ -1,43 +1,43 @@
mindspore.nn.probability.transforms.TransformToBNN
==================================================
.. py:class::mindspore.nn.probability.transforms.TransformToBNN(trainable_dnn, dnn_factor=1, bnn_factor=1)
将深度神经网络 (DNN) 模型转换为贝叶斯神经网络 (BNN) 模型。
**参数:**
- **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 )
将 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。
**返回:**
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)
**参数:**
- **get_dense_args** - 从 DNN 全连接层获得的参数。默认值lambda dp{"in_channels"dp.in_channels"out_channels"dp.out_channels"has_bias"dp.has_bias}。
- **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}。
- **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 模型。
mindspore.nn.probability.transforms.TransformToBNN
==================================================
.. py:class:: mindspore.nn.probability.transforms.TransformToBNN(trainable_dnn, dnn_factor=1, bnn_factor=1)
将深度神经网络 (DNN) 模型转换为贝叶斯神经网络 (BNN) 模型。
**参数:**
- **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 )
将 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。
**返回:**
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)
**参数:**
- **get_dense_args** - 从 DNN 全连接层获得的参数。默认值lambda dp{"in_channels"dp.in_channels"out_channels"dp.out_channels"has_bias"dp.has_bias}。
- **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}。
- **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 模型。