mindspore.nn.probability.bijector.Softplus

class mindspore.nn.probability.bijector.Softplus(sharpness=1.0, name='Softplus')[源代码]

Softplus Bijector。 此Bijector对应的映射函数为:

\[Y = \frac{\log(1 + e ^ {kX})}{k}\]

其中k是锐度因子。

参数:
  • sharpness (float, list, numpy.ndarray, Tensor) - 锐度因子,上述公式中的k。默认值: 1.0

  • name (str) - Bijector名称。默认值: 'Softplus'

说明

sharpness 中元素的数据类型必须为float。

异常:
  • TypeError - sharpness中元素的数据类型不为float。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import mindspore.nn as nn
>>> import mindspore.nn.probability.bijector as msb
>>> from mindspore import Tensor
>>>
>>> # To initialize a Softplus bijector of sharpness 2.0.
>>> softplus = msb.Softplus(2.0)
>>> # To use a Softplus bijector in a network.
>>> value = Tensor([1, 2, 3], dtype=mindspore.float32)
>>> ans1 = softplus.forward(value)
>>> print(ans1.shape)
(3,)
>>> ans2 = softplus.inverse(value)
>>> print(ans2.shape)
(3,)
>>> ans3 = softplus.forward_log_jacobian(value)
>>> print(ans3.shape)
(3,)
>>> ans4 = softplus.inverse_log_jacobian(value)
>>> print(ans4.shape)
(3,)
property sharpness

返回映射的锐度因子。

返回:

Tensor,映射的锐度因子。

forward(value)

正映射,计算输入随机变量经过映射后的值。

参数:
  • value (Tensor) - 输入随机变量的值。

返回:

Tensor,输入随机变量的值。

forward_log_jacobian(value)

计算正映射导数的对数值。

参数:
  • value (Tensor) - 输入随机变量的值。

返回:

Tensor,正映射导数的对数值。

inverse(value)

正映射,计算输出随机变量对应的输入随机变量的值。

参数:
  • value (Tensor) - 输出随机变量的值。

返回:

Tensor,输出随机变量的值。

inverse_log_jacobian(value)

计算逆映射导数的对数值。

参数:
  • value (Tensor) - 输出随机变量的值。

返回:

Tensor,逆映射导数的对数值。