tensorflow 读取模型时报错

img


这是我的自定义模型
用model.save(dir2)h5文件后,加载模型的时候报错,这个错误是问什么啊,上网搜了了一天了

输入维度和模型不一致,检查输出下 shape 看看

该回答引用GPTᴼᴾᴱᴺᴬᴵ
根据报错信息,发现输入数据的channel维度没有被正确定义。具体来说,模型期望输入数据应该是四维的 (batch_size, height, width, channels),但实际输入的数据 inputs=tf.Tensor(shape=(None, None, None, None), type=float32) 的channel维度是没有指定的,所有的维度都是None。
·
可能的原因是,在定义模型时,没有指定输入数据的shape或者使用了一个不正确的输入数据shape。如果你是使用的TensorFlow 2.x版本的Keras API,可以在定义模型时使用 tf.keras.Input() 函数指定输入数据的shape,例如:

inputs = tf.keras.Input(shape=(height, width, channels))


如果你已经有了一个训练好的模型,可以使用 tf.keras.models.load_model() 函数加载模型时,指定 compile=False 参数来避免重复编译模型。例如:

model = tf.keras.models.load_model(model_path, compile=False)


另外,你还可以使用 tf.keras.utils.plot_model() 函数来可视化你的模型,以确保输入和输出的shape与你的预期一致。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^