持久化的MNIST手写字识别,实现的那个MLP网络模型可以在MNIST数据集上得到98%的正确率

本文介绍了如何使用Tensorflow构建的MLP网络在MNIST数据集上实现98%的识别正确率,并通过模型持久化避免重复训练。训练过程中,每1000轮保存一次模型,最终在验证集和测试集上分别达到98%和98.5%的正确率。文章详细阐述了模型训练和评估的两个独立程序:mnist_train.py和mnist_evaluate.py,强调了模型持久化在深度学习中的重要性。
摘要由CSDN通过智能技术生成

在前面的内容中我们写过一个完整的Tensorflow程序去解决MNSIT手写字识别问题,实现的那个MLP网络模型可以在MNIST数据集上得到98%的正确率,虽然准确率是很高但是也出现了一个问题,那就是每一次使用网络就需要重新训练一次,这样就造成了时间的浪费。尤其是在大型的神经网络中,模型训练的时间会变得更长,甚至会花上几天几周的时间。每次重新训练这样的大型神经网络显然是不行的,因此在训练的时候保存模型是非常有必要的。结合Tensorlfow模型持久化和前面所介绍的变量空间的知识,在本小节我们会重构MLP来实现一个更完善的MNIST手写字识别样例。重构之后并没有太大变化,只是将训练和测试分为两个独立的程序—训练神经网络的程序和预估网络模型正确率的程序。训练神经网络的程序可以输出训练好的模型,而评估程序可以检验最新模型的正确率,如果模型效果表现地和训练时一样出色,那么这个模型就可以算作成功了。重构之后的代码分为两个程序:一个是mnist_train.py,它定义了前向传播的过程以及神经网络中的参数并完成了神经网络的训练过程;另一个是mnist_evaluate.py,它定义了验证和测试的过程,我们先给出mnist_train.py的代码内容:

在这里插入图片描述
这是代码的上半部分,上部分代码是定义一个隐藏层,和训练的bacth、学习率等。下半部分代码是求loss函数,以及输出结果。

在这里插入图片描述
在新的训练代码中,没有输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值