keras 多输出模型上的Tensorflow多个优化器,获取其中一个输出的可训练变量

62lalag4  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(288)

我的目标是使用tfa.optimizers.MultiOptimizer为我的模型的每个输出使用不同的优化器。为了做到这一点,我需要馈入到这个输出的层,但不确定如何获得这些层。我们可以获得model.trainable_variables,但这是所有可训练的变量,而不仅仅是馈入到给定输出的那些。

2uluyalo

2uluyalo1#

我确信有更好的方法,但是解决方法是创建单独的模型。注意,在www.example.com中使用ModelCheckpointmodel.fit将在model.fit中返回“not json serializable”错误。我们需要设置save_weights_only = True

model = KM.Model(inputs = [in1, in2],outputs=[out1, out2])
model_out1 = KM.Model(inputs = [in1, in2],outputs=[out1])
model_out2 = KM.Model(inputs = [in1, in2],outputs=[out2])
out1_layers = [model.get_layer(j.name) for j in model_out1.layers]
out2_layers = [model.get_layer(j.name) for j in model_out2.layers]

相关问题