手动下载了一个mnist数据集,导入花了我好久的时间。
这个数据集是70000×784的,意思是有70000张图片,每张图片为784个像素那么大小的图片,28*28=784
from scipy import io
x = io.loadmat('E:/opencvLearn/datasets/mldata/mnist-original.mat')
print(x.keys())
首先先直接导入,x现在是dict类型的,我就先看了他的keys
如下
dict_keys(['__header__', '__version__', '__globals__', 'mldata_descr_ordering', 'data', 'label'])
然后我打算先看看第一张图片,
print(x['data'].shape)
(784, 70000)
发现我的数据好像行和列反了,书上的shape是(70000, 784),所以我读的时候就按列读取了
a = np.array(784)
a = x['data'][:, 0]
a.shape = 28, 28
plt.imshow(a)
plt.show()
然后图片就显示啦!
感觉要先清楚数据集的格式,这样在接下来的处理过程中才不会出问题。
我就是行和列搞反了。