快捷方式

TruncatedNormal (截斷正態分佈)

class torchrl.modules.TruncatedNormal(loc: Tensor, scale: Tensor, upscale: Union[Tensor, float] = 5.0, low: Union[Tensor, float] = - 1.0, high: Union[Tensor, float] = 1.0, tanh_loc: bool = False)[原始碼]

實現帶有位置縮放的截斷正態分佈。

位置縮放可以防止位置引數“離 0 太遠”,這最終會導致數值不穩定的取樣和糟糕的梯度計算(例如梯度爆炸)。實際上,位置引數的計算方法如下:

\[loc = tanh(loc / upscale) * upscale.\]

可以透過關閉 tanh_loc 引數來停用此行為(詳見下方)。

引數:
  • loc (torch.Tensor) – 正態分佈的位置引數

  • scale (torch.Tensor) – 正態分佈的 sigma 引數(方差的平方根)

  • upscale (torch.Tensor數字, 可選的) –

    公式中的 ‘a’ 縮放因子

    \[loc = tanh(loc / upscale) * upscale.\]

    預設值為 5.0

  • low (torch.Tensor數字, 可選的) – 分佈的最小值。預設值 = -1.0;

  • high (torch.Tensor數字, 可選的) – 分佈的最大值。預設值 = 1.0;

  • tanh_loc (布林值, 可選的) – 如果 True,則使用上述公式進行位置縮放;否則,保留原始值。預設值為 False

log_prob(value, **kwargs)[原始碼]

返回在 value 處評估的機率密度/質量函式的對數。

引數:

value (Tensor) –

property mode

返回分佈的眾數。

文件

查閱 PyTorch 的全面開發者文件

檢視文件

教程

獲取面向初學者和高階開發者的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源