Keras:如何查看初始权重(即培训前)

Agr*_*ppa 9 python kernel keras

我正在使用Keras生成一个简单的单层前馈网络.我想通过kernel_initializer参数初始化权重时更好地处理权重值.有没有办法可以在初始化之后(即在训练完成之前)查看权重值.

如果您需要更多信息,请告诉我.干杯

编辑1:也许我应该解释为什么我想要看到初始化的权重.在Keras,我对随机正交矩阵的实际外观感到有些困惑.如果我可以打印这些值,它将有助于我更好地理解这个功能.

编辑2:在创建模型之后但在适合之前使用get_weights不起作用.无论kernel_initializer使用何种情况,返回的权重始终为零.

编辑3:我在编辑2中所说的不正确.请参阅选定的答案以获得澄清.

Chr*_*s K 5

只需get_weights()在模型上使用.例如:

i = Input((2,))
x = Dense(5)(i)

model = Model(i, x)

print model.get_weights()
Run Code Online (Sandbox Code Playgroud)

这将打印2x5重量矩阵和1x5偏差矩阵:

[array([[-0.46599612,  0.28759909,  0.48267472,  0.55951393,  0.3887372 ],
   [-0.56448901,  0.76363671,  0.88165808, -0.87762225, -0.2169953 ]], dtype=float32), 
 array([ 0.,  0.,  0.,  0.,  0.], dtype=float32)]
Run Code Online (Sandbox Code Playgroud)

偏差为零,因为默认偏差初始值设定为零.