【发布时间】:2021-01-05 23:04:01
【问题描述】:
我正在尝试将 100 个图像转换为一个 numpy 数组,然后将其输入我的神经网络。 我的 NN 训练数据是 4D numpy 数组(图像数量,32、32、3)。 当使用以下代码读取图像并输入 model.predict() 时,出现以下错误。
“检查输入时出错:预期 conv2d_input 有 4 维,但得到的数组形状为 (100, )”
这是我写的代码:
'''new_data = []
files = glob.glob (r"load images")
for myFile in files:
#print(myFile)
image = cv2.imread(myFile)
new_data.append(np.asarray(image))
#new_data = np.array(new_data)
print('new_data shape:', np.array(new_data).shape)'''
输出是“new_data shape: (100,)”
我期望 new_data 维度为 (100, 32, 32, 3)。请帮助了解如何实现这一目标。
谢谢, 米纳尔
【问题讨论】:
-
你为什么要
np.asarray?简单地将其附加到列表中。 -
用new_data.append(im)试过了,结果还是一样
-
cv2 将图像作为数组读取,而 Pillow 不会。
-
检查数组中所有图像的
shape。它可能不同,产生一个 1d 对象 dtype 数组。
标签: image numpy tensorflow readimage