gpt4 book ai didi

python - 预期 convolution2d_input_1 有 4 个维度,但得到形状为 (150, 150, 1) 的数组

转载 作者:行者123 更新时间:2023-11-28 22:22:04 25 4
gpt4 key购买 nike

我用大小为 150x150 的灰度图像训练了我的 CNN,训练过程没有任何错误,但是,每当我尝试运行 model.predict() 函数时,我都会收到此错误:

预期 convolution2d_input_1 有 4 个维度,但得到形状为 (150, 150, 1) 的数组

尽管我对传递给预测函数的图像进行了与用于训练 CNN 的图像完全相同的预处理。它们的大小为 150x150x1,就像我在 CNN 中输入的形状一样,就像我用来训练 CNN 的图像的形状一样。

这是我的 CNN:

model = Sequential()
model.add(Conv2D(32, 3, 3, input_shape=(150, 150, 1), activation =
'relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(32, 3, 3, activation = 'relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(64, 3, 3, activation = 'relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())
model.add(Dense(64, activation = 'relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation = 'softmax'))

输入的大小为 150x150x1,我的 CNN 表示它需要的预期输入是 (None, 150, 150, 1)

几天来我一直在尝试解决这个问题,但没有任何运气。

最佳答案

如果你试图对单个图像进行预测,你应该添加一个维度,然后像这样进行预测:

import numpy as np
img = np.expand_dims(img, axis=0)
prediction = model.predict(img)

关于python - 预期 convolution2d_input_1 有 4 个维度,但得到形状为 (150, 150, 1) 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47889999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com