首页 > 解决方案 > 将 2D 灰度重塑为 4D 以进行 Keras 模型推理

问题描述

我有一个预训练的 Keras 模型,我需要使用它来对原本为灰度格式的 512x 512 图像进行分类。Keras 模型的输入应该是形状 (None, 512, 512, 1)。在此处输入图像描述.

我执行了以下代码:

model=load_model('model.h5')
img = Image.open('img.jpg')
img_array = np.array (img)
img_array = img_array/255
model.predict (img_array)

但是,我收到以下错误

检查输入时出错:预期 input_1 有 4 个维度,但得到了形状为 (512, 512) 的数组

我知道我需要将灰度图像重塑为 4D 以匹配所需的输入形状,但是,我不确定如何执行此操作以使图像保持其原始特征。如何正确地将灰度图像变成 4D?

谢谢。

标签: pythontensorflowkerasneural-network

解决方案


尝试重塑数组

img_array = img_array.reshape((1, 512, 512, 1)) 

这里第一个和最后一个维度分别是批量大小和通道


推荐阅读