【发布时间】:2021-04-29 18:00:13
【问题描述】:
我正在使用驾驶数据的图像(即个人用户的轨迹)在 CNN 模型中预测他们的实体店光顾次数。我的图像大多是黑白的,360 x 360 像素。当我将图像转换为 numpy 数组时,尺寸为 360 x 360 x 4,而不是 RGB 的 3。一个
from PIL import Image
from numpy import asarray
# load the image
image = Image.open(os.path.join(fig_path, 'image.png'))
# convert image to numpy array
data = asarray(image)
print(type(data))
# summarize shape
print(data.shape)
# create Pillow image
image2 = Image.fromarray(data)
print(type(image2))
# summarize image details
print(image2.mode)
print(image2.size)
然后,我使用 temp[] 向量堆叠 CNN 所需的所有图像,并一一附加并使用 .但是当我将整个矩阵作为 input_shape 输入到 CNN 模型中时,它会中断。以下是错误信息:
知道我的维度发生了什么吗?
【问题讨论】:
-
所有这些打印语句的输出是什么?
-
在错误消息中,
ndim=4是指4图像通道,还是形状列表中有 4 个维度的事实?有没有可能是后者? -
查看引发错误的层的定义也可能会有所帮助。
-
能否分享一下你的模型输入层?
-
如果没有更多信息,我的猜测是您的一个图层会自动将第四个通道添加到 RGB,但该错误是不相关的,并且由于图层需要 5 维输入,例如
(None, None, 360, 360, 4)而不是接收 4,即(None, 360, 360, 4)。
标签: python image keras deep-learning conv-neural-network