torch.nn.init¶
- 
torch.nn.init.calculate_gain(非线性,param=None)[来源]¶
- 返回给定非线性函数的推荐增益值。 值如下所示: - 非线性 - 获得 - 线性 / 恒等 - Conv{1,2,3}D - 乙状结肠 - 谭 - ReLU 系列 - Leaky Relu - 色鲁 - 警告 - 为了实现自归一化神经网络 , 您应该使用 ,而不是 . 这为初始权重提供了 , 这对于在正向传递中诱导稳定的固定点是必要的。 相反,的默认增益牺牲了归一化 效果,以便在矩形层中实现更稳定的梯度流。 - nonlinearity='linear'- nonlinearity='selu'- 1 / N- SELU- 参数
- nonlinearity – 非线性函数 (nn.函数名称) 
- param – 非线性函数的可选参数 
 
 - 例子 - >>> gain = nn.init.calculate_gain('leaky_relu', 0.2) # leaky_relu with negative_slope=0.2 
- 
torch.nn.init.uniform_(张量,a=0.0,b=1.0)[来源]¶
- 使用从 uniform 中提取的值填充输入 Tensor 分配. - 参数
- tensor – 一个 n 维火torch.Tensor 
- a – 均匀分布的下限 
- b – 均匀分布的上限 
 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.uniform_(w) 
- 
torch.nn.init.normal_(张量,平均值=0.0,标准=1.0)[来源]¶
- 使用从法线中提取的值填充输入 Tensor 分配. - 参数
- tensor – 一个 n 维火torch.Tensor 
- mean – 正态分布的平均值 
- std – 正态分布的标准差 
 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.normal_(w) 
- 
torch.nn.init.constant_(张量,val)[来源]¶
- 将 input Tensor 填充值. - 参数
- tensor – 一个 n 维火torch.Tensor 
- val – 用于填充张量的值 
 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.constant_(w, 0.3) 
- 
torch.nn.init.ones_(张量)[来源]¶
- 用标量值 1 填充输入 Tensor。 - 参数
- tensor – 一个 n 维火torch.Tensor 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.ones_(w) 
- 
torch.nn.init.zeros_(张量)[来源]¶
- 用标量值 0 填充输入 Tensor。 - 参数
- tensor – 一个 n 维火torch.Tensor 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.zeros_(w) 
- 
torch.nn.init.eye_(张量)[来源]¶
- 用恒等式填充二维输入 Tensor 矩阵。保留线性层中输入的标识,其中 尽可能保留许多输入。 - 参数
- tensor – 一个 2 维火torch.Tensor 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.eye_(w) 
- 
torch.nn.init.dirac_(张量,组=1)[来源]¶
- 用 Dirac 填充 {3, 4, 5} 维输入 Tensor delta 函数。保留卷积层中 inputs 的标识,其中保留了尽可能多的 input 通道。倘 of groups>1,每组通道都保留身份 - 参数
- tensor – 一个 {3, 4, 5} 维火torch.Tensor 
- groups (optional) – conv 层中的组数 (默认值:1) 
 
 - 例子 - >>> w = torch.empty(3, 16, 5, 5) >>> nn.init.dirac_(w) >>> w = torch.empty(3, 24, 5, 5) >>> nn.init.dirac_(w, 3) 
- 
torch.nn.init.xavier_uniform_(张量,增益=1.0)[来源]¶
- 根据方法用值填充输入 Tensor 如了解训练深度前馈的难度中所述 神经网络 - Glorot, X. & Bengio, Y. (2010),使用统一的 分配。生成的张量将具有从哪里 - 也称为 Glorot 初始化。 - 参数
- tensor – 一个 n 维火torch.Tensor 
- gain – 可选的缩放因子 
 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.xavier_uniform_(w, gain=nn.init.calculate_gain('relu')) 
- 
torch.nn.init.xavier_normal_(张量,增益=1.0)[来源]¶
- 根据方法用值填充输入 Tensor 如了解训练深度前馈的难度中所述 神经网络 - Glorot, X. & Bengio, Y. (2010),使用法线 分配。生成的张量将具有从哪里 - 也称为 Glorot 初始化。 - 参数
- tensor – 一个 n 维火torch.Tensor 
- gain – 可选的缩放因子 
 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.xavier_normal_(w) 
- 
torch.nn.init.kaiming_uniform_(张量,a=0,模式='fan_in',非线性='leaky_relu')[来源]¶
- 根据方法用值填充输入 Tensor 在 Delving Deep into rectifiers: Beyonding human level (深入研究整流器:超越人类水平) 中描述道 ImageNet 分类的性能 - He, K. et al. (2015) 使用 均匀分布。生成的张量将具有从哪里 - 也称为 He 初始化。 - 参数
- tensor – 一个 n 维火torch.Tensor 
- a – 此层之后使用的整流器的负斜率(仅 用于 - 'leaky_relu')
- mode – (默认) 或 .选择 将保留 向前传球。选择此项将保留 向后传递。 - 'fan_in'- 'fan_out'- 'fan_in'- 'fan_out'
- nonlinearity – 非线性函数 (nn.函数名称), 建议仅与 OR 一起使用(默认)。 - 'relu'- 'leaky_relu'
 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.kaiming_uniform_(w, mode='fan_in', nonlinearity='relu') 
- 
torch.nn.init.kaiming_normal_(张量,a=0,模式='fan_in',非线性='leaky_relu')[来源]¶
- 根据方法用值填充输入 Tensor 在 Delving Deep into rectifiers: Beyonding human level (深入研究整流器:超越人类水平) 中描述道 ImageNet 分类的性能 - He, K. et al. (2015) 使用 正态分布。生成的张量将具有从哪里 - 也称为 He 初始化。 - 参数
- tensor – 一个 n 维火torch.Tensor 
- a – 此层之后使用的整流器的负斜率(仅 用于 - 'leaky_relu')
- mode – (默认) 或 .选择 将保留 向前传球。选择此项将保留 向后传递。 - 'fan_in'- 'fan_out'- 'fan_in'- 'fan_out'
- nonlinearity – 非线性函数 (nn.函数名称), 建议仅与 OR 一起使用(默认)。 - 'relu'- 'leaky_relu'
 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.kaiming_normal_(w, mode='fan_out', nonlinearity='relu') 
- 
torch.nn.init.trunc_normal_(张量,平均值=0.0,标准=1.0,a=- 2.0,b=2.0)[来源]¶
- 使用从截断的 正态分布。这些值实际上是从 正态分布值在重新绘制,直到它们位于 边界。用于生成随机值的方法有效 最佳时间. - 参数
- tensor – 一个 n 维火torch.Tensor 
- mean – 正态分布的平均值 
- std – 正态分布的标准差 
- a – 最小截止值 
- b – 最大截止值 
 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.trunc_normal_(w) 
- 
torch.nn.init.orthogonal_(张量,增益=1)[来源]¶
- 用(半)正交矩阵填充输入 Tensor,如 在 Exact solutions to the nonlinear dynamics of learning in deep 中进行了描述 线性神经网络 - Saxe, A. et al. (2013)。输入张量必须具有 至少 2 个维度,对于维度超过 2 个的张量, 尾随维度被展平。 - 参数
- tensor – 一个 n 维Torch。Tensor 的 Tensor 中,其中 
- gain – 可选缩放因子 
 
 - 例子 - >>> w = torch.empty(3, 5) >>> nn.init.orthogonal_(w)