ValueError: cannot reshape array of size 784 into shape (16,16)
ValueError: cannot reshape array of size 784 into shape (16,16)
同时读取 .mat
格式化数据 Python 并显示为 plt
:
import scipy.io as spio
import numpy as np
import matplotlib.pyplot as plt
digits = spio.loadmat('./data/digits.mat', squeeze_me=True)
X = digits['X']
plt.imshow(np.reshape(X[5,:],(16,16)), cmap='Greys')
plt.show()
它引发错误:ValueError: cannot reshape array of size 784 into shape (16,16)
。
我怎样才能正确地重塑它?谢谢。
X
的形状:
print(X.shape)
输出:
(10000, 784)
数据键:
print(digits.keys())
输出:
dict_keys(['__header__', '__version__', '__globals__', 'Y', 'X'])
当然,解决方案比您想象的要简单。
ValueError: cannot reshape array of size 784 into shape (16,16).
28 x 28 = 784
因此,您需要将格式重塑为 (28,28)
而不是 (16,16)
我有类似的问题但不是图像,它在某种程度上看起来很相似,所以这就是我的处理方式。
您可能需要先调整数据大小:下面代码中的数据是您的大小=784,您不一定需要放弃您的形状
datas= np.array([data], order='C')
datas.resize((16,16))
datas.shape
同时读取 .mat
格式化数据 Python 并显示为 plt
:
import scipy.io as spio
import numpy as np
import matplotlib.pyplot as plt
digits = spio.loadmat('./data/digits.mat', squeeze_me=True)
X = digits['X']
plt.imshow(np.reshape(X[5,:],(16,16)), cmap='Greys')
plt.show()
它引发错误:ValueError: cannot reshape array of size 784 into shape (16,16)
。
我怎样才能正确地重塑它?谢谢。
X
的形状:
print(X.shape)
输出:
(10000, 784)
数据键:
print(digits.keys())
输出:
dict_keys(['__header__', '__version__', '__globals__', 'Y', 'X'])
当然,解决方案比您想象的要简单。
ValueError: cannot reshape array of size 784 into shape (16,16).
28 x 28 = 784
因此,您需要将格式重塑为 (28,28)
而不是 (16,16)
我有类似的问题但不是图像,它在某种程度上看起来很相似,所以这就是我的处理方式。 您可能需要先调整数据大小:下面代码中的数据是您的大小=784,您不一定需要放弃您的形状
datas= np.array([data], order='C')
datas.resize((16,16))
datas.shape