You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询PyTorch各层默认初始化规则?以1.9.0版本Conv2d等层为例

官方依据获取渠道
  • PyTorch对应版本的官方API文档:每个torch.nn下的层文档都会明确标注其默认初始化策略,你可以直接检索对应版本、对应层的文档说明获取官方说明。
  • PyTorch对应版本的源代码:所有层的初始化逻辑都写在类的__init__方法末尾调用的reset_parameters函数中,你可以直接查看对应版本的源码确认初始化规则,这是最准确的依据。
PyTorch 1.9.0版本指定层默认初始化规则

torch.nn.Conv2d

Conv2d的初始化逻辑继承自父类_ConvNd,和Linear层一致,默认采用*Kaiming Uniform(何恺明均匀分布)*初始化:

  • 权重参数:调用torch.nn.init.kaiming_uniform_实现,计算增益时采用leaky_relu作为对应非线性激活,负斜率设置为sqrt(5)
  • 偏置参数:如果开启偏置,会从均匀分布U(-bound, bound)中采样,bound的取值和输入特征通道数的平方根负相关,具体计算逻辑可参考源码中reset_parameters方法的实现。

torch.nn.BatchNorm2d

BatchNorm2d的初始化逻辑和卷积、全连接层不同,默认规则如下:

  • 可训练权重(gamma参数):默认初始化为常数1
  • 可训练偏置(beta参数):默认初始化为常数0
  • 运行时统计量(滑动均值、滑动方差):属于训练过程中累积的非训练参数,初始值分别为0和1。

内容的提问来源于stack exchange,提问作者Imahn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:57:02