Tensorflow1.8用keras实现MNIST数据集手写字体识别例程

本文介绍了如何在Tensorflow 1.8中利用keras实现MNIST数据集的手写数字识别。通过动态图模式eager执行计算,不再需要Session。首先下载并加载MNIST数据集,然后使用keras构建模型,定义参数并训练。经过10000次训练,损失值达到约1%,测试准确率为97%。
摘要由CSDN通过智能技术生成
import tensorflow as tf
tf.enable_eager_execution()

eager是新版本加入的动态图,可以直接计算出结果而不用使用Session。同时也支持微分操作。

class DataLoader():
    def __init__(self):
        mnist = tf.contrib.learn.datasets.load_dataset("mnist")
        self.train_data = mnist.train.images # np.array [55000,784]
        self.train_labels = np.asarray(mnist.train.labels, dtype=np.int32) 
        self.eval_data = mnist.test.images 
        self.eval_labels = np.asarray(mnist.test.labels, dtype=np.int32) 
    def get_batch(self, batch_size):
        index = np.random.randint(0, np.shape(self.train_data)[0], batch_size)
        return self.train_data[index, :], self.train_labels[index]

下载数据集,load_dataset已经被弃用,但是作为练习入门,可是可以用以下。不fq可能会下载失败,这里可以把从其他地方下载好的数据放在当前运行目录下的MNIST-data文件夹下。该函数会检测到已经存在数据集,不执行下载,但是会把数据载入到m

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值