发布于2019-08-22 19:43 阅读(1268) 评论(0) 点赞(21) 收藏(5)
- from tensorflow.examples.tutorials.mnist import input_data
- import tensorflow as tf
-
- # ---1. 加载数据---
- # 修改为自己MNIST_data所在路径(从官网下载四个压缩包【不要解压】放在同一个文件夹【MNIST_data】里)
- mnist = input_data.read_data_sets("D:/Python_code/Data/MNIST_data", one_hot=True)
-
- # ---2. 构建回归模型---
-
- # 定义回归模型
- x = tf.placeholder(tf.float32, [None, 784])
- W = tf.Variable(tf.zeros([784, 10]))
- b = tf.Variable(tf.zeros([10]))
- y = tf.matmul(x, W) + b # 预测值
-
- # 定义损失函数和优化器
- y_ = tf.placeholder(tf.float32, [None, 10]) # 输入的真实值的占位符
-
- # softmax_cross_entropy_with_logits() 计算预测值与真实值的差值,并取均值
- cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=y, labels=y_))
- # 采用SGD作为优化器
- train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
-
- # ---3. 训练模型---
- # InteractiveSession()创建交互式上下文的TensorFlow会话(与普通会话不同在于它会成为默认会话)
- sess = tf.InteractiveSession()
- tf.global_variables_initializer().run()
-
- # Train
- for _ in range(1000):
- batch_xs, batch_ys = mnist.train.next_batch(100)
- sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
-
- # ---4. 评估模型---
-
- # 计算预测值和真实值是否相等,tf.equal([1,2],[1,1]) = [True,False]
- correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
- # 取平均值,tf.cast(x, type) 将x转化为type类型
- accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
- # 计算模型在测试集上的准确率
- print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
-
作者:bnggo
链接:https://www.pythonheidong.com/blog/article/53494/3a0009131097f15fcaf3/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!