【问题标题】:Error when checking model input when fitting model in keras python在 keras python 中拟合模型时检查模型输入时出错
【发布时间】:2020-09-09 02:47:54
【问题描述】:

我正在尝试创建一个可处理图像的 keras NN 当我尝试拟合模型时出现此错误 检查模型输入时出错:您传递给模型的 Numpy 数组列表不是模型预期的大小。预计会看到 1 个数组,但得到了以下 10 个数组的列表:[array([[[ 69, 71, 73, ..., 63, 70, 70],

这是为什么呢?

train_size = 10
test_size = 100 
validation_size = 50
height = 50
width = 50


class ImageOperation:
    @staticmethod
    def grayImg(image_obj: np.ndarray):
        return cv2.cvtColor(image_obj, cv2.COLOR_BGR2GRAY)

    @staticmethod
    def colorImg(path: str):
        return cv2.imread(path)

    @staticmethod
    def resizeImage(img: np.ndarray, height: int, width: int):
        return cv2.resize(img, (height, width))

# load images
train_path = r"D:/Study/200-200/train/train"

train_images = [ImageOperation.resizeImage(ImageOperation.colorImg(train_path + str(i) + ".jpg"),height,width) for i in range(train_size)]

y_train_red = [np.array(img[:, :, 2]/255).flatten() for img in train_images]

train_images = [np.expand_dims(ImageOperation.grayImg(item), axis=0) for item in train_images]


model1 = Sequential()
model1.add(Conv2D(64, (3,3), activation='relu', padding='same', strides=2,input_shape=(1,50,50)))
model1.add(Conv2D(128, (3,3), activation='relu', padding='same', strides=2))
model1.add(UpSampling2D((2, 2)))
model1.add(Flatten())
model1.add(Dense(height*width, activation='tanh'))
model1.compile(optimizer='adam', loss='mse')
clean_images = model1.fit(train_images,y_train_red, epochs=10)

【问题讨论】:

  • 我猜input_shape一定是(50, 50, 1)
  • 没有解决问题

标签: python numpy tensorflow keras


【解决方案1】:

只需将您的 y_train_red 和 train_images 转换为 np.ndarray:

y_train_red = [np.array(img[:, :, 2]/255).flatten() for img in train_images]
y_train_red = np.array(y_train_red)

train_images = [np.expand_dims(ImageOperation.grayImg(item), axis=0) for item in train_images]
train_images = np.array(train_images)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 2018-08-30
    相关资源
    最近更新 更多