小编Tor*_*Tor的帖子

重置Keras层中的权重

我想重置(随机化)我的Keras(深度学习)模型中所有层的权重.原因是我希望能够使用不同的数据拆分对模型进行多次训练,而不必每次都进行(慢)模型重新编译.

受此讨论的启发,我正在尝试以下代码:

# Reset weights
for layer in KModel.layers:
    if hasattr(layer,'init'):
        input_dim = layer.input_shape[1]
        new_weights = layer.init((input_dim, layer.output_dim),name='{}_W'.format(layer.name))
        layer.trainable_weights[0].set_value(new_weights.get_value())
Run Code Online (Sandbox Code Playgroud)

但是,它只是部分有效.

部分地,因为我已经检查了一些layer.get_weights()值,它们似乎发生了变化.但是当我重新开始培训时,成本值远低于第一次运行时的初始成本值.这几乎就像我成功重置了一些重量,但不是全部重量.

任何关于我出错的提示都将深表感谢.谢谢..

python keras keras-layer

24
推荐指数
5
解决办法
2万
查看次数

标签 统计

keras ×1

keras-layer ×1

python ×1