【发布时间】:2017-05-31 09:12:00
【问题描述】:
我有一个多输出 Keras 模型,其结构类似于:
s = some_shared_layers()(input)
non_trainable1 = Dense(trainable=False) (s)
non_trainable2 = Dense(trainable=False) (s)
trainable = Dense() (s)
model = Model(input, outputs=[non_trainable1, non_trainable2, trainable])
我的模型首先计算前向传递并使用前 2 个输出来操纵输入。然后它计算另一个前向传递以获得第三个输出。
out1, out2,_ =model.predict(input_data)
processed_data = foo(input_data, out1, out2)
_,_, out3 = model.predict(processed_data)
我应该如何调用model.fit() 来仅训练trainable 层?如果我排除其他输出的损失,Keras 会发出警告 we will not be expecting any data to be passed to "non_trainable1" during training 并将它们从计算图中排除。
有没有更好的方法来构建这个任务的模型?
【问题讨论】:
标签: keras