【发布时间】:2020-03-13 19:08:26
【问题描述】:
我有一个包含 2890 个 tiff lzw 压缩图像的文件夹作为用于深度学习的标签(我有 2 个类,1 和 2)。我想将它们准备为需要二维数组的模型的输入。所以我使用skimage.io 库的imread() 将它们作为2890 个numpy 数组(Y)的列表读取,然后将列表转换为nd.array(Y_train)。现在我有 3 个维度(2890、224、224)的 Y_train,其中 224 ,224 是输入图像大小。
现在我需要将这个 3D 数组转换为 2D 数组,因为 (2890,2) 2 表示类号。
我使用了
Y_train.reshape(2890,2),得到了这个错误:ValueError: cannot reshape array of size 145008640 into shape (2890,2).我也使用了
to_categorical中的keras.utils并得到了 4D 数组 (2890, 224, 224, 3)。
如何将 3D 数组 (2890, 224, 224) 转换为 2D 数组 (2890,2)?
【问题讨论】:
-
这并不完全是重复的,但这里已经有你想要做的事情的答案by slicing the numpy array
-
请提供完整的错误信息,以及minimal reproducible example。