运行环境
使用环境:python3.8
平台:Windows10
IDE:PyCharm
书中片段
理解
在构建网络是,我们需要进行权重的初始化
初始化过程中我们最常见的便是如下代码:
def get_net(feature_num):
net = nn.Linear(feature_num, 1)
for param in net.parameters():
# print(param)
nn.init.normal_(param, mean=0, std=0.01)
return net
上面代码的意思是:将线性层中权重参数赋值为以0为均值,0.01为标准差的正态分布
随之而来的疑问是:通过For循环,我们赋值了几个权重?,通过Debug发现:
对于线性层:
# 线性的权重param其实只有“输出数+1 个”如果偏差bias打开的话)
# 输出数好理解,因为有多少输出就有多少个权重矩阵来计算对应不同输出的计算值
# 而其中1对应的便是偏差bias