當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch calculate_gain用法及代碼示例


本文簡要介紹python語言中 torch.nn.init.calculate_gain 的用法。

用法:

torch.nn.init.calculate_gain(nonlinearity, param=None)

參數

  • nonlinearity-非線性函數(nn.functional 名稱)

  • param-非線性函數的可選參數

返回給定非線性函數的推薦增益值。值如下:

非線性

獲得

線性/身份

轉化{1,2,3}天

Sigmoid

Tanh

\frac{5}{3}

ReLU

\sqrt{2}

泄漏的 Relu

\sqrt{\frac{2}{1 + \text{negative\_slope}^2}}

SELU

\frac{3}{4}

警告

為了實現 Self-Normalizing Neural Networks ,您應該使用 nonlinearity='linear' 而不是 nonlinearity='selu' 。這使初始權重的方差為 1 / N ,這是在前向傳播中引入穩定不動點所必需的。相比之下,SELU 的默認增益犧牲了歸一化效果,以在矩形層中獲得更穩定的梯度流。

例子

>>> gain = nn.init.calculate_gain('leaky_relu', 0.2)  # leaky_relu with negative_slope=0.2

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.nn.init.calculate_gain。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。