学习TensorFlow,线性回归模型
学习TensorFlow,在MNIST数据集上建立softmax回归模型并测试
一、代码
<span style="font-size:18px;">from tensorflow.examples.tutorials.mnist import input_data mnist =input_data.read_data_sets('MNIST_data', one_hot=True) import tensorflow astf sess =tf.InteractiveSession() x =tf.placeholder(tf.float32, shape=[None, 784]) y_ =tf.placeholder(tf.float32, shape=[None, 10]) W =tf.Variable(tf.zeros([784,10])) b =tf.Variable(tf.zeros([10])) sess.run(tf.initialize_all_variables()) y =tf.nn.softmax(tf.matmul(x,W) + b) cross_entropy =-tf.reduce_sum(y_*tf.log(y)) train_step =tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy) for i in range(1000): batch = mnist.train.next_batch(50) train_step.run(feed_dict={x: batch[0], y_:batch[1]}) correct_prediction =tf.equal(tf.argmax(y,1), tf.argmax(y_,1)) accuracy =tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) print(accuracy.eval(feed_dict={x:mnist.test.images, y_: mnist.test.labels}))</span>
二、运行结果
三、代码解析
import tensorflow as tf
sess =tf.InteractiveSession()
InteractiveSession()可以一边构建计算图,一边执行,而Session()需要把计算图全部构建完成才能执行
x =tf.placeholder(tf.float32, shape=[None, 784])
y_ =tf.placeholder(tf.float32, shape=[None, 10])
创建图像输入节点和目标输出节点
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
构建softmax回归模型的参数:权重和偏置
sess.run(tf.initialize_all_variables())
初始化所有的variables</span>
y = tf.nn.softmax(tf.matmul(x,W)+ b)
cross_entropy = -tf.reduce_sum(y_*tf.log(y))
预测输出,使用交叉熵作为损失函数
train_step =tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
步长为0.01,使用梯度下降法训练模型
for i in range(1000):
batch = mnist.train.next_batch(50)
train_step.run(feed_dict={x:batch[0], y_: batch[1]})
训练周期为1000,每个周期batch是50幅图像
correct_prediction =tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
比较每个预测结果和真实结果,返回一个二值向量
accuracy =tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
将二值向量转换为浮点向量,并计算正确率
print(accuracy.eval(feed_dict={x:mnist.test.images, y_: mnist.test.labels}))
打印输出训练模型对数据集的测试结果,feed_dict指定输入图像数据和目标输出结果
参考资料:https://www.tensorflow.org/versions/r0.7/tutorials/mnist/pros/index.html
学习TensorFlow,线性回归模型的更多相关文章
- [tensorflow] 线性回归模型实现
在这一篇博客中大概讲一下用tensorflow如何实现一个简单的线性回归模型,其中就可能涉及到一些tensorflow的基本概念和操作,然后因为我只是入门了点tensorflow,所以我只能对部分代码 ...
- 莫烦python教程学习笔记——线性回归模型的属性
#调用查看线性回归的几个属性 # Youtube video tutorial: https://www.youtube.com/channel/UCdyjiB5H8Pu7aDTNVXTTpcg # ...
- TensorFlow从1到2(七)线性回归模型预测汽车油耗以及训练过程优化
线性回归模型 "回归"这个词,既是Regression算法的名称,也代表了不同的计算结果.当然结果也是由算法决定的. 不同于前面讲过的多个分类算法或者逻辑回归,线性回归模型的结果是 ...
- tensorflow入门(1):构造线性回归模型
今天让我们一起来学习如何用TF实现线性回归模型.所谓线性回归模型就是y = W * x + b的形式的表达式拟合的模型. 我们先假设一条直线为 y = 0.1x + 0.3,即W = 0.1,b = ...
- 线性回归模型的 MXNet 与 TensorFlow 实现
本文主要探索如何使用深度学习框架 MXNet 或 TensorFlow 实现线性回归模型?并且以 Kaggle 上数据集 USA_Housing 做线性回归任务来预测房价. 回归任务,scikit-l ...
- 用Tensorflow完成简单的线性回归模型
思路:在数据上选择一条直线y=Wx+b,在这条直线上附件随机生成一些数据点如下图,让TensorFlow建立回归模型,去学习什么样的W和b能更好去拟合这些数据点. 1)随机生成1000个数据点,围绕在 ...
- TensorFlow笔记-模型的保存,恢复,实现线性回归
模型的保存 tf.train.Saver(var_list=None,max_to_keep=5) •var_list:指定将要保存和还原的变量.它可以作为一个 dict或一个列表传递. •max_t ...
- SparkMLlib学习之线性回归
SparkMLlib学习之线性回归 (一)回归的概念 1,回归与分类的区别 分类模型处理表示类别的离散变量,而回归模型则处理可以取任意实数的目标变量.但是二者基本的原则类似,都是通过确定一个模型,将输 ...
- ChatGirl 一个基于 TensorFlow Seq2Seq 模型的聊天机器人[中文文档]
ChatGirl 一个基于 TensorFlow Seq2Seq 模型的聊天机器人[中文文档] 简介 简单地说就是该有的都有了,但是总体跑起来效果还不好. 还在开发中,它工作的效果还不好.但是你可以直 ...
随机推荐
- [ Java学习基础 ] Java构造函数
构造方法是类中特殊方法,用来初始化类的实例变量,它在创建对象(new运算符)之后自动调用. Java构造方法的特点如下: 构造方法名必须与类名相同. 构造方法没有任何返回值,包括void. 构造方法只 ...
- 异步 JavaScript 之 macrotask、microtask
1.异步任务运行机制 先运行下面的一段代码: console.log('script start'); setTimeout(function() { console.log('setTimeout' ...
- 解决nodejs中json序列化时Date类型为UTC格式
在nodejs中,json序列化时Date类型时,默认转为UTC格式. 如下图 zhupengfei@DESKTOP-HJASOE3 MINGW64 /d/MyProject/exp2 $ node ...
- 京东消息中间件JMQ
http://blog.csdn.net/javahongxi/article/details/54411464 [京东技术]京东的MQ经历了JQ->AMQ->JMQ的发展,其中JQ的基于 ...
- 阿里云部署mongdb(CentOS)
配置包管理系统 (yum). Xshell登录Linux查看操作系统版本信息 lsb release -a 可以在官网选择对应的版本 :官网的安装指导文档http://docs.mongodb.org ...
- Java 并发编程——Executor框架和线程池原理
Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务 ...
- C# WMI 远程PC(开机、关机、重启)
啥也不多说,直接上码: //远程重启方法 public static bool Shutdown(ManagementScope scope) { ObjectQuery query=new Obje ...
- aways on 配置部署(一)——准备工作
sqlserver的aways on 配置需要经历三个步骤,前面两个步骤是对aways on 配置的一个准备步骤. 经过了一个星期的研究,终于成功的完成了前两个步骤,期间参考了很多的资料和博客,总感觉 ...
- 如何搭建apache服务?
为了日后便于查询,本文所涉及到的所有命令集合如下: chkconfig iptables off #关闭防火墙命令 在Centos7中使用的是chkconfig firewalld off vi /e ...
- Python3 错误和异常
Python有两种错误很容易辨认:语法错误和异常. 语法错误 Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例 >>> while True print('He ...