在Keras中运行神经网络时,我似乎找不到太多有关如何解释get_weights()输出的文档。据我了解,输出取决于网络的结构。因此,我在下面粘贴了网络结构的简化版本:
model.add(Dense(5, input_dim=2, activation = linear, use_bias=True, kernel_initializer=Orthogonal))
model.add(Dense(1, use_bias=True))
model.compile(loss='mae', optimizer='adam')
Run Code Online (Sandbox Code Playgroud)
训练后的get_weights()输出为:
[array([[ 0.79376745, 0.79879117, 1.22406125, 1.07782006, 1.24107373],
[ 0.88034034, 0.88281095, 1.13124955, 0.98677355, 1.14481246]], dtype=float32),
array([-0.09109745, -0.09036621, 0.0977743 , -0.07977977, 0.10829113], dtype=float32),
array([[-0.72631335],
[-0.38004425],
[ 0.62861812],
[ 0.10909595],
[ 0.30652359]], dtype=float32),
array([ 0.09278722], dtype=float32)]
Run Code Online (Sandbox Code Playgroud)
共有四个数组。每个代表什么?谢谢!
您也总是可以逐层获取:
for lay in model.layers:
print(lay.name)
print(lay.get_weights())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5174 次 |
| 最近记录: |