nn.init.constant_ 是 PyTorch 中的一个初始化方法,用于为神经网络的权重和偏置项设置常量值。这个初始化方法通常用于在训练神经网络之前初始化模型的参数。
nn.init.constant_ 的语法如下:
nn.init.constant_(tensor, val)
其中,tensor 是要初始化的张量,val 是要设置的常量值。
这个初始化方法会将 tensor 中的所有元素都设置为 val。注意,这个方法不会改变 tensor 的形状,只会改变其元素的值。
下面是一个使用 nn.init.constant_ 初始化的示例:
import torch
import torch.nn as nn
# 创建一个全连接层
fc = nn.Linear(10, 2)
# 使用常量 0 进行初始化
fc.weight.data = nn.init.constant_(fc.weight.data, 0)
fc.bias.data = nn.init.constant_(fc.bias.data, 0)
print(fc.weight)
print(fc.bias)
输出:
Parameter containing:
tensor([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]], requires_grad=True)
Parameter containing:
tensor([0., 0.], requires_grad=True)