单层
要初始化单层的权重,请使用中的函数
torch.nn.init。例如:
conv1 = torch.nn.Conv2d(...)torch.nn.init.xavier_uniform(conv1.weight)
或者,您可以通过写入
conv1.weight.data(是
torch.Tensor)来修改参数。例:
conv1.weight.data.fill_(0.01)
偏见也是如此:
conv1.bias.data.fill_(0.01)
nn.Sequential
或自定义 nn.Module
将初始化函数传递给
torch.nn.Module.apply。它将以
nn.Module递归方式初始化整个权重。
申请( FN
):适用fn递归到每个子模块(通过返回的.children()),以及自我。典型的用法包括初始化模型的参数(另请参见torch-nn-
init)。
例:
def init_weights(m): if type(m) == nn.Linear: torch.nn.init.xavier_uniform(m.weight) m.bias.data.fill_(0.01)net = nn.Sequential(nn.Linear(2, 2), nn.Linear(2, 2))net.apply(init_weights)



