用TensorFlow实现MNIST

这里,我们用TensorFlow实现一个3层,即输入层、隐藏层、输出层的神经网络。

引入相关模块 # tensorflow 自带mnist模块 。

from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets(".", one_hot=True, reshape=False)import tensorflow as tf

这里有个one_hot=True,one_hot表示独热编码,可以看下面的图片理解意思:


one hot encoding

参数设置

 learning_rate = 0.001training_epochs = 20batch_size = 128display_step = 1# 设置日志显示次数用的n_input = 784# 输入的大小n_classes = 10# 最后分成10个类别

learning rate是学习的速度,每次更新参数时的步长(速度),太小会造成学习速度太慢,太大会造成无法拟合的结果。

一个 epoch是指整个数据集正向反向训练一次。

batch size 是一次拿多少数据去训练,具体可以参考What is a batch in TensorFlow? – Stack Overflow。

定义模型


训练结果



可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。在此对他对本文所作的贡献表示诚挚感谢,他在上海财经大学完成了统计学专业的硕士学位,专注人工智能领域。擅长Python.Matlab仿真、视觉处理、神经网络、数据分析。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds