Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Numpy 检查输入时出错:预期展平\u 1\u输入有3个维度,但得到了具有形状(28,28)的数组_Numpy_Image Processing_Keras_Neural Network_Mnist - Fatal编程技术网

Numpy 检查输入时出错:预期展平\u 1\u输入有3个维度,但得到了具有形状(28,28)的数组

Numpy 检查输入时出错:预期展平\u 1\u输入有3个维度,但得到了具有形状(28,28)的数组,numpy,image-processing,keras,neural-network,mnist,Numpy,Image Processing,Keras,Neural Network,Mnist,代码如下: image = cv2.imread('MNIST_IMAGE.png') gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) data = asarray(gray) data=data/255.0 predictions=model.predict(data) 这就是错误,我得到: ValueError回溯(最近的调用 最后)在 3数据=阵列(灰色) 4数据=数据/255.0 ---->5预测=模型预测(数据) ~\Anaconda3\

代码如下:

image = cv2.imread('MNIST_IMAGE.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
data = asarray(gray)
data=data/255.0
predictions=model.predict(data)
这就是错误,我得到:

ValueError回溯(最近的调用 最后)在 3数据=阵列(灰色) 4数据=数据/255.0 ---->5预测=模型预测(数据)

~\Anaconda3\lib\site packages\tensorflow\u core\python\keras\engine\training.py 在预测(self、x、批大小、详细、步骤、回调、, 最大队列大小,工人,使用多处理)1011
最大队列大小=最大队列大小,1012个工人=工人, ->1013使用\u多处理=使用\u多处理)1014 1015 def重置\u度量(自):

~\Anaconda3\lib\site packages\tensorflow\u core\python\keras\engine\training\u v2.py 在预测(self、model、x、批大小、详细、步骤、回调、, 最大队列大小,工人,使用多处理,**kwargs) 496模型,ModeKeys.PREDICT,x=x,批大小=批大小,详细=详细, 497步骤=步骤,回调=回调,最大队列大小=最大队列大小, -->498工人=工人,使用多处理=使用多处理,**kwargs) 499 五百

~\Anaconda3\lib\site packages\tensorflow\u core\python\keras\engine\training\u v2.py 在模型迭代中(self、model、mode、x、y、批大小、详细、, 样本重量、步数、回调、最大队列大小、工作人员、, 使用多处理,**kwargs) 424最大队列大小=最大队列大小, 425名工人=工人, -->426使用多处理=使用多处理) 427总样本数=\u获取\u总样本数\u(适配器) 428使用样本=总样本不是无

~\Anaconda3\lib\site packages\tensorflow\u core\python\keras\engine\training\u v2.py 过程内输入(型号、模式、x、y、批量大小、年代、, 样本权重、类权重、洗牌、步骤、分布策略、, 最大队列大小、工人、使用(多处理) 644标准化功能=无 645 x,y,样本重量=标准化( -->646 x,y,样本重量=样本重量) 647 elif适配器\u cls是数据\u适配器。列表ScalarsDataAdapter: 648标准化功能=标准化

~\Anaconda3\lib\site packages\tensorflow\u core\python\keras\engine\training.py 标准化用户数据(自身、x、y、样本重量、类别重量、, 批量大小、检查步骤、步骤名称、步骤、验证、拆分、洗牌、, 从数据集中提取张量)2381 is\u数据集=is\u数据集,
2382级重量=级重量, ->2383批次大小=批次大小)2384 2385定义标准化张量(自我、x、y、样本重量、急切运行、记录输入、

~\Anaconda3\lib\site packages\tensorflow\u core\python\keras\engine\training.py 在标准化张量中(自我、x、y、样本重量、热切奔跑、, dict_输入,is_数据集,类别重量,批次大小)2408
进给输入形状,2409检查批处理轴=假,不 强制执行批处理大小。 ->2410异常_prefix='input')2411 2412#获取输入数据的类型规范,并在必要时对其进行清理

~\Anaconda3\lib\site packages\tensorflow\u core\python\keras\engine\training\u utils.py 在标准化输入数据(数据、名称、形状、检查批处理轴、, 例外情况(前缀) 571':预期'+names[i]+'具有'+ 572 str(len(shape))+'维度,但得到数组' -->573'带形状'+str(数据形状)) 574如果不检查批次轴: 575数据形状=数据形状[1:]

ValueError:检查输入时出错:预期的展平\u 1\u输入为 有3个维度,但得到了形状为(28,28)的数组

添加批次维度:

predicts=model.predict(数据[无,…])
或者像这样(两者都是等效的):

predicts=model.predict(np.expand_dims(数据,0))

由于批次维度是一个图像,因此它也是一个批次维度。prediction=model.predict(np.array([np.expand_dims(data,-1)])@PratikRanjan Try:
predictions=model.predict(data[None,…,None])