在训练时改变模型中2层的附加重量

时间:2018-05-26 11:42:18

标签: python keras

我尝试在不同重量的模型中添加2个图层。我希望在培训进行时更新这些权重。

示例:

l1 = l1*(1-a)
l2 = l2*(a)
l3 = keras.layers.Add()([l1, l2])

有没有办法可以在每个纪元上线性更新' a' 的值?

1 个答案:

答案 0 :(得分:0)

import keras.backend as K

a = K.variable([0.5])

l1 = Lambda(lambda x: x * (1-a))(l1)
l2 = Lambda(lambda x: x * a)(l2)
l3 = keras.layers.Add()([l1,l2])

使用a

更改K.set_value(a,[newValue])

如果您的尺寸不匹配(我在Keras 2.1.0中看不到张量流1.4.0,很可能也适用于较新版本),您可以强制使用4D a匹配您的4D数据:

a = K.variable([[[[0.5]]]])