我尝试在不同重量的模型中添加2个图层。我希望在培训进行时更新这些权重。
示例:
l1 = l1*(1-a)
l2 = l2*(a)
l3 = keras.layers.Add()([l1, l2])
有没有办法可以在每个纪元上线性更新' a' 的值?
答案 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]]]])