基于tensorflow2.0的mnist数据集实战(CNN)

MNIST数据集简介:
MNIST数据集是用于训练邮政编码数字识别的数据集,其包括60000条训练数据与10000条测试数据,是Lecun与1998年制作的。每条数据样本都是28X28像素的。部分数据样本如下图所示:在这里插入图片描述
他是NIST数据库的一个子集。MNIST数据库的官方下载网址为:
http://yann.lecun.com/exdb/mnist/

  1. 数据集的获取

对于数据集的获取可以从网站下载,也可以用tensorflow2.0中集成的keras高级API对其进行载入和计算。代码如下:

mnist=tf.keras.datasets.mnist
(x_train,y_train),(x_test,y_test)=mnist.load_data()
  1. 数据处理
    首先对label进行one-hot处理,之后用tf2.0自带的dataAPI进行打包,组合成train 与label的对应数据集。我们下载下来的数据集的张量形式为三维的,[x,28,28]但在CNN中数据张量形式为四维的,[batch,hight,width,channels],所以需要对原始数据进行增维处理
x_train=tf.expand_dims(x_train,-1) #-1表示增加的是第四维
x_test=tf.expand_dims(x_test,-1)
y_train=np.float32(tf.keras.utils.to_categorical(y_train,num_classes=10))
y_test=np.float32(tf.keras.utils.to_categorical(y_test,num_classes=10))
batch_size=512
train_dataset=tf.data.Dataset.from_tensor_slices((x_train,y_train)).batch(batch_size).shuffle(batch_size*10)
test_dataset=tf.data.Dataset.from_tensor_slices((x_test,y_test)).batch(batch_size)
  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值