【实战】详解与实战TensorFlow MNIST手写体数字识别(softmax and cnn)

MNIST是一套手写体数字的图像数据集,包含60000个训练样本和10,000个测试集,由纽约大学的Yann LeCun等人维护。

 

MNIST 手写体数字介绍

MNIST图像数据集使用形如【28,28】的二姐数组来表示每个手写体数字,数组中的每个元素对应一个像素点,即每张图像大小固定为28X28像素。

MNIST数据集中的图像都是256阶灰度图,即灰度值0表示白色( 背景),255表示黑色(前景),使用取值为【0,255】的uint8数据类型表示图像。为了加速训练,我们需要做数据规范化,将灰度值缩放为【0,1】的float32数据类型。

 

由于每张图像的尺寸是28X28像素,为了方便连续存储,我们可以将形如【28,28】的二姐数组“摊平”成形如【784,】的一阶数组,可以表示256*256*···*256 =256^784 张不同的图像。

但这些图像并非每一张都代表有效的手写体数字,其中绝大部分都是如下的噪声图:

下载和读取MNIST数据集

import tensorflow as tf
# 从tensorflow.examples.tutorials.mnist 导入模块
# 这是TensorFlow 为了教学MNIST而提前编制的程序
from tensorflow.examples.tutorials.mnist import input_data
# 从MNIST_data/中读取MNIST数据,这条语句在数据不存在时,会自动执行下载
mnist = input_data.read_data_sets("MNIST_data/")

(这种方法是被广泛使用的下载和读取的方法,如今被废弃,但仍然好用只是会多出一些警告,可以不用管。)

以下是最新的下载使用方式,使用kears:

from keras.datasets import mnist
(x_train,y_train),(x_test,y_test) = mnist.load_data()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值