尽管看不到断开连接发生的位置,但出现了以下错误。
答案 0 :(得分:1)
问题在于从基本模型获取图层的输出,而在模型中的任何地方都没有使用生成这些输出的基本模型的输入。
这里的问题:
base_model.get_layer(concat_with).output
针对您的情况,最简单的解决方案是直接在数据或生成器中保留规范化模型的大小,然后使用:
img_input = base_model.input
encoded = base_model.output
这样,您无需更改UpProject
。 (这可能仍然是有问题的,具体取决于在基础模型中是否多次使用了选定的图层)
请注意,如果您希望预训练的基本模型正常工作,则应对此模型使用正确的预处理:
keras.applications.densenet import preprocess_input
processed_images = preprocess_input(batch_of_images)
如果使用PIL或Keras标准生成器加载图像,这将起作用。如果您使用cv2
打开,则需要先翻转频道。