读取一组MNIST数据的完整代码如下
详细解释见blog:
https://blog.csdn.net/Mimido_luoluo/article/details/104514381
import numpy as np
from matplotlib import pyplot as plt
import PIL as pil
import cv2 as cv
#读取数据的过程,如果需读取所有的数据,将 count = -1 即可
#读取 label 值
label_path="F:\\Files\Deep Learning\\MNISTdata\\t10k-labels.idx1-ubyte"
f1=open(label_path,'rb')
label=np.frombuffer(f1.read(),dtype=np.uint8,count=1,offset=8)
print(label)
#读取 image 值
image_path="F:\\Files\Deep Learning\\MNISTdata\\t10k-images.idx3-ubyte"
f2=open(image_path,'rb')
image0=np.frombuffer(f2.read(),dtype=np.uint8,count=784,offset=16)
#将 image0 转换成28×28矩阵(1张图片)
image=image0.reshape(28,28)
#用PIL库
pil_image = pil.Image.fromarray(np.uint8(image))
pil_image.show()
#用matplotlib.pyplot库
#plt.imshow(image)
#plt.show()
#用cv2库
#cv.imshow("1.jpg",image)
#cv.waitKey()