【发布时间】:2020-07-21 10:52:07
【问题描述】:
我使用以下程序来预测我的图像的类别。
from tensorflow.keras.preprocessing.image import load_img, img_to_array x = load_img("8-SignLanguageMNIST/test1.jpg", target_size = (28, 28)) x = img_to_array(x) x = np.expand_dims(x, axis = 0) x = np.vstack([x]) classes = model.predict(x) print(classes[0])
我用于训练的图像是形状 (28, 28, 1)。
我在这里上传了一个形状为 (28, 28, 3) 的 RGB 图像,我尝试将该图像转换为灰度然后进行预测,但一直出现以下错误。
ValueError: Input 0 of layer sequential is incompatible with the layer: expected axis -1 of input shape to have value 1 but received input with shape [None, 28, 28, 3]
谁能告诉我我做错了什么,并帮助我解决这个问题。
【问题讨论】:
-
灰度转换在哪里?
-
实际上我是使用 Photoshop 手动完成的。
-
加载后您的图像仍然是 rgb(3 个通道)。试试 load_img(path, color_mode='grayscale') 你可以在这里看到tensorflow.org/api_docs/python/tf/keras/preprocessing/image/…
标签: python tensorflow keras prediction