我想基于两个相同的cnn模型创建一个集成,在此我将模型的平均输出作为集成的最终输出。但是我收到错误as_list() is not defined on an unknown TensorShape
。任何人都知道如何解决此问题?
错误发生在outputs_1 = layers.Average()([model.outputs[1][0] for model in Models])
行
编辑:我使用model.outputs[1][0]
而不是model.outputs[0]
,因为在“ model.outputs”中也有倒数第二层的输出。
'''
def get_ensemble(Models, input_shape):
inputs = keras.Input(shape=input_shape) # Same input_shape as models in Models
outputs_1 = layers.Average()([model.outputs[1][0] for model in Models])
model = keras.Model(inputs=inputs, outputs=outputs_1, name='ensemble')
return model
'''