Keras ValueError:检查输入时出错:预期conv2d_1_输入有4个维度,但得到了具有形状(80、120、3)的数组
我是一个刚刚开始学习深度学习的学习者。 我刚开始使用Keras。 我想实现SRCNN。 当我尝试导入图片以首先测试模型时,会出现此问题 问题: ValueError:检查输入时出错:预期conv2d_1_输入具有 4维,但得到了具有形状的数组(80、120、3) 我的代码如下:Keras ValueError:检查输入时出错:预期conv2d_1_输入有4个维度,但得到了具有形状(80、120、3)的数组,keras,Keras,我是一个刚刚开始学习深度学习的学习者。 我刚开始使用Keras。 我想实现SRCNN。 当我尝试导入图片以首先测试模型时,会出现此问题 问题: ValueError:检查输入时出错:预期conv2d_1_输入具有 4维,但得到了具有形状的数组(80、120、3) 我的代码如下: from PIL import Image import numpy as np from keras import Sequential from keras.layers import Conv2D, Activat
from PIL import Image
import numpy as np
from keras import Sequential
from keras.layers import Conv2D, Activation
input_image = Image.open('../../res/image/120x80/120x80 (1).png')
input_image_array = np.array(input_image)
model = Sequential()
model.add(Conv2D(64, (9, 9), data_format='channels_last', activation='relu', input_shape=(80, 120, 3)))
model.add(Conv2D(35, (1, 1), data_format='channels_last', activation='relu', input_shape=(80, 120, 3)))
model.add(Conv2D(1, (5, 5), data_format='channels_last', input_shape=(120, 80, 3)))
model.compile(loss='mean_squared_error', optimizer='sgd')
model.fit(input_image_array, input_image_array)
print(model.summary())
要提供单个输入图像,您需要包括samples维度(第一个维度),因此需要添加值为1的维度:
input_image_array = np.array(input_image)
input_image_array = input_image_array[np.newaxis, :, :, :]
这会将形状更改为(1,80,120,3),对应于一个图像样本。因此,您的意思是:形状(x,80,120,3),其中x表示输入图像数量的维数,我的数组是否应该在顶部增加x的维数?只需添加input_image_数组=input_image_数组[np.newaxis,:,:,:]并成功,谢谢!