如何解决ValueError:无法将大小为 784 的数组重塑为形状 (16,16)
同时使用 Python 读取 .mat
格式的数据并显示为 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: 无法将大小为 784 的数组重塑为形状 (16,16)。
28 x 28 = 784
因此,您需要重塑为格式(28,28)
而不是(16,16)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。