我使用CNN建立了脑肿瘤检测模型,当我尝试通过预测其类别来测试样本图像时,会发生错误。
根据误差,模型的输入应具有1个额外的维度。我如何预测图像的等级。给出错误的代码片段是:
best_model.predict(image)
错误如下
ValueError:图层zero_padding2d的输入0与该图层不兼容:预期的ndim = 4,找到的ndim = 3。收到完整的图形:[无,240,3]
在警告中可以看到预期的形状:
WARNING:tensorflow:Model was constructed with shape (None, 240, 240, 3) for input Tensor("input_1_1:0", shape=(None, 240, 240, 3), dtype=float32), but it was called on an input with incompatible shape (None, 240, 3).
我尝试了解决方案,但仍然出现相同的错误:这是图片
因此,问题在于模型假设第一维是批数。对于您的情况,它“认为”您有240个批次,每个图像的大小(240,3)
。
您需要做的是在传递给模型之前扩展图像的尺寸。您可以使用expand_dims
一个例子:
image = tf.zeros([240, 240, 3])
tf.expand_dims(image, axis=0)
这将为图像添加一个批处理尺寸,并且模型可以正确地对其进行操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句