[三岁白话系列]PaddlePaddle2.0——手写数字识别
三岁白话系列第6话
AI Studio地址:
https://aistudio.baidu.com/aistudio/projectdetail/1324628
参考文档:
paddle API查看地址:https://www.paddlepaddle.org.cn/documentation/docs/zh/2.0-rc/api/paddle/vision/datasets/mnist/MNIST_cn.html
MNIST书写数字识别官网:http://yann.lecun.com/exdb/mnist/
CSDN地址
三岁白话系列CSDN:https://blog.csdn.net/weixin_45623093/category_10616602.html
paddlepaddle社区号:https://blog.csdn.net/PaddlePaddle
# 导入paddle,查看版本型号
import paddle
print(paddle.__version__)
2.0.0-rc0
手写数字识别数据集
MNIST是手写识别数据集实例
其中训练集为60,000个示例,而测试集为10,000个示例
把训练集转换成图片
我们可以查看数据集里面的数据来进一步了解情况。
通过数据的下载和解压在对数据进行处理就得到了我们的./mnist_train
文件夹
里面解压了0-9的文件可以进行查看
图像为3维,标签为1维。
图像大小为:28pix*28pix
# 导入第三方库
import numpy as np
import struct
from PIL import Image
import os
# 分别对train-images.idx3-ubyte和train-labels.idx1-ubyte进行处理最后得到png的图片格式
data_file = './train-images.idx3-ubyte'
# It's 47040016B, but we should set to 47040000B
data_file_size = 47040016
data_file_size = str(data_file_size - 16) + 'B'
data_buf = open(data_file, 'rb').read()
magic, numImages, numRows, numColumns = struct.unpack_from(
'>IIII', data_buf, 0)
datas = struct.unpack_from(
'>' + data_file_size, data_buf, struct.calcsize('>IIII'))
datas = np.array(datas