假设我有以下模型(为了简单起见,我删除了参数):
inputs = keras.Input(shape=(,,))
layer_1 = layers.Conv2D()(inputs)
layer_2 = layers.AveragePooling2D()(layer_1)
layer_3 = layers.Conv2D()(layer_2)
flatten = layers.Flatten()(layer_3)
outputLayer = layers.Dense()(flatten)
model = keras.Model(inputs= (inputs), outputs=(outputLayer))
model.compile()
hist = model.fit()
我如何控制特定层的权值(例如:我想在每批训练期间为权值添加噪声)。
我非常感谢任何形式的帮助(解释,例子,来源)
可以使用get_weights()
,set_weights()
的方法tf.keras.layers.layer
- https://keras.io/api/layers/base_layer/#get_weights-method。
我将使用自定义循环(参见https://keras.io/guides/writing_a_training_loop_from_scratch/)或自定义fit()
与train_step()
(参见https://keras.io/guides/customizing_what_happens_in_fit/)