深度学习:无法在更改 MNIST 图像大小时重塑数组
Deep learning: cannot reshape array in changing MNIST images size
我是 deep 的新手 learning.I 我正在尝试将 mnist 图像从 28*28 更改为 224 * 224。
所以我决定使用reshape
方法。导入 MNIST 数据集后,我尝试对其进行整形:
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape(X_train.shape[0], 224, 224, 1).astype('float32')
我正在尝试将所有 MNIST 图像更改为新尺寸,但出现此错误:
X_train = X_train.reshape(X_train.shape[0], 224, 224, 1).astype('float32')
Traceback (most recent call last):
File "<ipython-input-3-9d12d34bfd75>", line 1, in <module>
X_train = X_train.reshape(X_train.shape[0], 224, 224, 1).astype('float32')
ValueError: cannot reshape array of size 47040000 into shape (60000,224,224,1)
如何将所有 MNIST 图像大小更改为新大小?
如评论@datdinhquoc 所说重塑保持相同的字节数
例如如果你有形状数组 (4,3) ,基本上有 m * n 那是 12 (4*3) 个元素。现在你可以将它重塑为任何大小,其乘积为 12。因此数组可以重塑为大小 (2,6) 或 (12,1) .
在你的例子中有 60,000 个大小为 (28, 28) 的元素,所以总共有 (60,000 * 28 * 28) 并且它试图使它成为 (60,000 * 224 * 224),这显然是不可能的。
您想缩放图像或调整图像大小。意味着你想增加它的字节数。在这种情况下,您可以使用如下所示的 openCV 调整大小功能
resized_image = cv2.resize(image, (224, 224))
所以你需要一张一张地调整所有图片的大小。
我是 deep 的新手 learning.I 我正在尝试将 mnist 图像从 28*28 更改为 224 * 224。
所以我决定使用reshape
方法。导入 MNIST 数据集后,我尝试对其进行整形:
(X_train, y_train), (X_test, y_test) = mnist.load_data()
X_train = X_train.reshape(X_train.shape[0], 224, 224, 1).astype('float32')
我正在尝试将所有 MNIST 图像更改为新尺寸,但出现此错误:
X_train = X_train.reshape(X_train.shape[0], 224, 224, 1).astype('float32')
Traceback (most recent call last):
File "<ipython-input-3-9d12d34bfd75>", line 1, in <module>
X_train = X_train.reshape(X_train.shape[0], 224, 224, 1).astype('float32')
ValueError: cannot reshape array of size 47040000 into shape (60000,224,224,1)
如何将所有 MNIST 图像大小更改为新大小?
如评论@datdinhquoc 所说重塑保持相同的字节数
例如如果你有形状数组 (4,3) ,基本上有 m * n 那是 12 (4*3) 个元素。现在你可以将它重塑为任何大小,其乘积为 12。因此数组可以重塑为大小 (2,6) 或 (12,1) .
在你的例子中有 60,000 个大小为 (28, 28) 的元素,所以总共有 (60,000 * 28 * 28) 并且它试图使它成为 (60,000 * 224 * 224),这显然是不可能的。
您想缩放图像或调整图像大小。意味着你想增加它的字节数。在这种情况下,您可以使用如下所示的 openCV 调整大小功能
resized_image = cv2.resize(image, (224, 224))
所以你需要一张一张地调整所有图片的大小。