第六章 torch.nn.init torch.nn.init.calculate_gain(nonlinearity,param=None) 对于给定的非线性函数,返回推荐的增益值。这些值如下所示:
nonlinearity gain linear
1
conv{1,2,3}d 1 sigmoid
1
tanh
5/3
relu
sqrt(2)
leaky_relu
sqrt(2/(1+negative_slope^2))
参数:
nonlinearity - 非线性函数(nn.functional 名称) param - 非线性函数的可选参数 例子: >>> gain = nn.init.gain('leaky_relu') torch.nn.init.uniform(tensor, a=0, b=1) 从均匀分布 U(a, b)中生成值,填充输入的张量或变量 参数:
tensor - n 维的 torch.Tensor a - 均匀分布的下界 b - 均匀分布的上界 例子 >>> w = torch.Tensor(3, 5) >>> nn.init.uniform(w) torch.nn.init.normal(tensor, mean=0, std=1) 从给定均值和标准差的正态分布 N(mean, std)中生成值,填充输入的张量或变量 参数:
tensor – n 维的 torch.Tensor mean – 正态分布的均值 std – 正态分布的标准差 例子 >>> w = torch.Tensor(3, 5) >>> nn.init.normal(w) torch.nn.init.constant(tensor, val) 用 val 的值填充输入的张量或变量 参数:
tensor – n 维的 torch.Tensor 或 autograd.Variable val – 用来填充张量的值 例子: >>> w = torch.Tensor(3, 5) >>> nn.init.constant(w)