控制keras的权重.层在训练期间



假设我有以下模型(为了简单起见,我删除了参数):

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/)

相关内容

  • 没有找到相关文章

最新更新