mnist源数据集下载自http://yann.lecun.com/exdb/mnist/。原数据共有四个文件:train-images-idx3-ubyte为训练图片,共60000张,每张灰度图片存为一个1×784维向量;train-labels-idx1-ubyte为训练图片的标签,共60000个;t10k-images-idx3-ubyte为测试图片,共10000张,每张亦为1×784维向量;t10k-labels-idx1-ubyte为测试图片的标签。
为进行图片卷积操作准备,将原数据中1×784的向量转为分辨率为28×28的图片。代码如下:
生成train和test两个文件夹,每个文件夹下为0~9共10共十个子文件夹,子文件夹下是相应的图片。
import numpy as np import os import cv2 import struct def load_mnist(path, kind='train'): """Load MNIST data from `path`""" labels_path = os.path.join(path, '%s-labels-idx1-ubyte' % kind) images_path = os.path.join(path, '%s-images-idx3-ubyte' % kind) with open