Neural network 无法在keras中添加图层

Neural network 无法在keras中添加图层,neural-network,keras,Neural Network,Keras,我正在努力遵循这一点 但在最后一行代码中,我收到以下错误: “模型”对象没有属性“添加” 我知道,由于我没有像在linked post中那样将模型实例化为sequential(),所以函数add()可能对我不可用。但是,我不确定如何解决这个问题。更正以反映工作解决方案: outputs = Conv2DTranspose(3, (1, 1), activation='sigmoid') (c9) outputs = Lambda(lambda x: K.batch_flatten(x))(out

我正在努力遵循这一点

但在最后一行代码中,我收到以下错误:

“模型”对象没有属性“添加”


我知道,由于我没有像在linked post中那样将模型实例化为
sequential()
,所以函数
add()
可能对我不可用。但是,我不确定如何解决这个问题。

更正以反映工作解决方案:

outputs = Conv2DTranspose(3, (1, 1), activation='sigmoid') (c9)
outputs = Lambda(lambda x: K.batch_flatten(x))(outputs)
model = Model(inputs=[inputs], outputs=[outputs])
model = multi_gpu_model(model, gpus=8)
model.compile(optimizer='adam', loss = bce, metrics = [mean_iou])

在OP的评论中给出了@Today的答案


outputs=Lambda(Lambda x:K.batch\u flatte(x))(outputs)

如果在conv2dtranpse层之后添加Lambda层,即
outputs=Lambda(Lambda x:K.batch\u flatte(x))(outputs)
?^是否有问题,我得到了这个错误:
模型的输出张量必须是TensorFlow层的输出(因此保存过去的层元数据)。找到:
outputs = Conv2DTranspose(3, (1, 1), activation='sigmoid') (c9)
outputs = Lambda(lambda x: K.batch_flatten(x))(outputs)
model = Model(inputs=[inputs], outputs=[outputs])
model = multi_gpu_model(model, gpus=8)
model.compile(optimizer='adam', loss = bce, metrics = [mean_iou])