You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keras调用predict_classes预测单张交通标志图像维度不兼容报错原因问询

报错根本原因

你构建的Keras模型输入要求为4维张量,格式为(样本数量, 图像高度, 图像宽度, 通道数)。你处理单张图像后得到的数组是3维结构,形状为(高度, 宽度, 3),缺少了第一维的样本数量维度,不符合模型输入要求,因此触发维度不匹配的报错。

批量预测无报错的原因

批量预测时,你先将所有单张3维图像数组存入data列表,再通过np.array(data)转换为numpy数组,这一步会自动在最外层新增样本数量维度,最终得到的X_test形状为(测试集样本数, 高度, 宽度, 3),完全符合模型的4维输入要求,因此可以正常运行。

单张预测的修复方案

只需要给预处理后的单张图像数组新增一个样本维度即可,修改代码如下:

image=cv2.imread('C:/Users/Louay/input/Test/00000.png')
image_from_array = Image.fromarray(image, 'RGB')
size_image = image_from_array.resize((height, width))
test=np.array(size_image)
# 新增样本维度,axis=0表示在最前面加维度
test = np.expand_dims(test, axis=0)

pred = model.predict_classes(test.astype('float32')/255)

内容的提问来源于stack exchange,提问作者Louay GOURRIDA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 11:21:03