前两天,我们已经知道了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。
这里有个奇怪的地方,tf.reshaple()里面有个参数是-1,这里官方文档特别给出了解释:
定义模型
Session
完整代码可以在这里下载。
训练结果
▍需要帮助?联系我们
大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和
统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服)
【服务场景】
科研项目; 公司项目外包;线上线下一对一培训;学术研究。
【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询服务
分享最新的大数据资讯,每天学习一点数据分析,让我们一起做有态度的数据人
微信客服号:lico_9e
QQ交流群:186388004
欢迎关注微信公众号,了解更多数据干货资讯!
加入欢迎的我们大数据学习必备利器课程
http://study.163.com/course/courseMain.htm?courseId=1003776041&share=2&shareId=1023497288