神经网络参数初始化
方法$1$.Model.apply(fn)
示例如下
1 | import torch.nn as nn |
输出结果如下:
Linear(in_features=2, out_features=2, bias=True)
Parameter containing:
tensor([[1., 1.],
[1., 1.]], requires_grad=True)
Linear(in_features=2, out_features=2, bias=True)
Parameter containing:
tensor([[1., 1.],
[1., 1.]], requires_grad=True)
Sequential(
(0): Linear(in_features=2, out_features=2, bias=True)
(1): Linear(in_features=2, out_features=2, bias=True)
)
Linear(in_features=2, out_features=2, bias=True)
Linear(in_features=2, out_features=2, bias=True)
其中最后两行为net对象调用self.children()函数返回的模块,就是模型中所有网络的参数。事实上,调用net.apply(fn)函数,会对self.children()中的所有模块应用fn函数,