常用的初始化方法
- torch.nn.init.normal_: 使用均值为0,标准差为1的正态分布来初始化权重
- torch.nn.init.uniform_: 使用均匀分布来初始化权重
- torch.nn.init.constant_: 使用常数来初始化权重
- torch.nn.init.xavier_uniform_: 使用Xavier均匀分布来初始化权重
- torch.nn.init.xavier_normal_: 使用Xavier正态分布来初始化权重
- torch.nn.init.kaiming_uniform_: 使用Kaiming均匀分布来初始化权重
- torch.nn.init.kaiming_normal_: 使用Kaiming正态分布来初始化权重
使用方法
下面是一个简单的使用示例:
import torch from torch.nn import init # 初始化一个权重矩阵 weight = torch.randn(3, 5) # 使用Xavier均匀分布来初始化权重 init.xavier_uniform_(weight) # 打印初始化后的权重矩阵 print(weight)
使用torch.nn.init模块来自定义初始化权重非常方便,可以根据需要选择合适的初始化方法,以获得更好的结果。