forked from mindspore-Ecosystem/mindspore
commit
4adf5d390c
|
@ -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本身。
|
||||
|
||||
**返回:**
|
||||
|
||||
|
|
|
@ -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` 相同。
|
||||
|
|
|
@ -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。
|
||||
|
|
|
@ -18,7 +18,7 @@ mindspore.ops.hardshrink
|
|||
- **x** (Tensor) - Hard Shrink的输入,数据类型为float16或float32。
|
||||
- **lambd** (float) - Hard Shrink公式定义的阈值 :math:`\lambda` 。默认值:0.5。
|
||||
|
||||
**输出:**
|
||||
**返回:**
|
||||
|
||||
Tensor,shape和数据类型与输入相同。
|
||||
|
||||
|
|
|
@ -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'。
|
||||
|
||||
**输出:**
|
||||
**返回:**
|
||||
|
||||
Tensor,N个N维tensor对象的元组。数据类型与输入相同。
|
||||
|
||||
|
|
|
@ -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, 将有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, 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, 将有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, in\_channels)`。
|
||||
|
||||
**输出:**
|
||||
|
||||
- **output** (Tensor) - 输出张量的形状是 :math:`(N, out\_channels)`。
|
|
@ -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)`。
|
|
@ -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)`。
|
|
@ -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)`。
|
|
@ -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,一种正态分布结果。
|
|
@ -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,一种正态分布的结果。
|
|
@ -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,骨干网。
|
|
@ -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) - 目标数据的 Tensor,shape 为(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) - 要重构的输入 Tensor,shape 为 (N, C, H, W)。
|
||||
- **y** (Tensor) - 要输入 Tensor 的 label,shape 为 (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) - 目标数据的 Tensor,shape 为(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) - 要重构的输入 Tensor,shape 为 (N, C, H, W)。
|
||||
- **y** (Tensor) - 要输入 Tensor 的 label,shape 为 (N, C, H, W)。
|
||||
|
||||
**返回:**
|
||||
|
||||
Tensor,重建的样本。
|
|
@ -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_x(Tensor),x(Tensor),mu(Tensor),std(Tensor))。
|
||||
|
||||
.. 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) - 要重构的输入 Tensor,shape 为 (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_x(Tensor),x(Tensor),mu(Tensor),std(Tensor))。
|
||||
|
||||
.. 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) - 要重构的输入 Tensor,shape 为 (N, C, H, W)。
|
||||
|
||||
**返回:**
|
||||
|
||||
Tensor,重构的样本。
|
|
@ -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,损失浮动张量。
|
|
@ -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,经过训练的概率网络。
|
|
@ -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) - 是否保存不确定性模型,如果为 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)。
|
||||
|
||||
**返回:**
|
||||
|
||||
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) - 是否保存不确定性模型,如果为 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)。
|
||||
|
||||
**返回:**
|
||||
|
||||
numpy.dtype,数据样本推断结果的任意不确定性。
|
||||
|
||||
.. py:method:: eval_epistemic_uncertainty(eval_data)
|
||||
|
||||
评估推理结果的认知不确定性,也称为模型不确定性。
|
||||
|
||||
**参数:**
|
||||
|
||||
- **eval_data** (Tensor) - 要评估的数据样本,shape 必须是 (N,C,H,W)。
|
||||
|
||||
**返回:**
|
||||
|
||||
numpy.dtype,数据样本推断结果的任意不确定性。
|
|
@ -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,训练完的模型。
|
|
@ -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,训练完的模型。
|
|
@ -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 模型。
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue