假设我有以下模型(为了简单起见,我删除了参数):
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()
如何控制特定层的权重(例如:我想在每次批量训练期间向权重添加噪声)。
我非常感谢任何形式的帮助(解释、示例、来源)
答案 0 :(得分:0)
您可以使用 get_weights()
- https://keras.io/api/layers/base_layer/#get_weights-method 的 set_weights()
、tf.keras.layers.layer
方法。
我要么使用自定义循环(请参阅 https://keras.io/guides/writing_a_training_loop_from_scratch/),要么使用 fit()
自定义 train_step()
(请参阅 https://keras.io/guides/customizing_what_happens_in_fit/)