TensorFlow学习笔记----例子(2)
使用TensorFlow中的梯度下降法构建线性学习模型的使用示例:(来源:https://morvanzhou.github.io/tutorials/machine-learning/tensorflow/2-2-example2/)
#导入TensorFlow python API库
import tensorflow as tf
import numpy as np
#随机生成100点(x,y),type为float32,因为TensorFlow中大部分数据形式都为float32
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3 #构建TensorFlow structure start#
#构建线性模型的tensor变量W, b;W初始值为(-1,1)的数,b为0;
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b
#构建损失方程,优化器optimizer及训练模型操作train减少loss,0.5为学习效率
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
#构建变量初始化操作init
init = tf.initialize_all_variables()
#构建TensorFlow structure end# #构建TensorFlow session
sess = tf.Session() #初始化所有TensorFlow变量,激活
sess.run(init) #训练该线性模型,每隔20次迭代,输出模型参数
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(W), sess.run(b))
tf.random_uniform([1],-1.0,1.0):构建一个tensor,张量shape为[1](即一维数组,里面包含1个元素),值符合[-1,1)均匀分布。
tf.Variable(initial_value=None):构建一个新变量,该变量常用来表示图中的各个计算参数,比方说激活函数中的W、b等。变量会加入到TensorFlow框架图集合中。
tf.zeros([1]):构建一个所有元素为0的tensor,shape为[1]
tf.square(x,name=None):计算tensor的平方值。
tf.reduce_mean(input_tensor):计算input_tensor中所有元素的均值。
tf.train.GradientDescentOptimizer(0.5):构建一个梯度下降优化器,0.5为学习速率。
optimizer.minimize(loss):构建一个优化算子操作。使用梯度下降法计算损失方程的最小值。loss为需要被优化的损失方程。
tf.initialze_all_variables():初始化所有TensorFlow的变量。变量一定要初始化才能有值。
tf.Session():创建一个TensorFlow的session,在该session中会运行TensorFlow的图计算模型。
sess.run():在session中执行图模型的运输操作。如果参数为tensor时,可以用来求tensor的值。
运行结果:W越来越接近0.1,b越接近0.3
TensorFlow学习笔记----例子(2)的更多相关文章
- Tensorflow学习笔记2:About Session, Graph, Operation and Tensor
简介 上一篇笔记:Tensorflow学习笔记1:Get Started 我们谈到Tensorflow是基于图(Graph)的计算系统.而图的节点则是由操作(Operation)来构成的,而图的各个节 ...
- TensorFlow学习笔记之--[compute_gradients和apply_gradients原理浅析]
I optimizer.minimize(loss, var_list) 我们都知道,TensorFlow为我们提供了丰富的优化函数,例如GradientDescentOptimizer.这个方法会自 ...
- 深度学习-tensorflow学习笔记(1)-MNIST手写字体识别预备知识
深度学习-tensorflow学习笔记(1)-MNIST手写字体识别预备知识 在tf第一个例子的时候需要很多预备知识. tf基本知识 香农熵 交叉熵代价函数cross-entropy 卷积神经网络 s ...
- 深度学习-tensorflow学习笔记(2)-MNIST手写字体识别
深度学习-tensorflow学习笔记(2)-MNIST手写字体识别超级详细版 这是tf入门的第一个例子.minst应该是内置的数据集. 前置知识在学习笔记(1)里面讲过了 这里直接上代码 # -*- ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(2)
tensorflow学习笔记——使用TensorFlow操作MNIST数据(1) 一:神经网络知识点整理 1.1,多层:使用多层权重,例如多层全连接方式 以下定义了三个隐藏层的全连接方式的神经网络样例 ...
- tensorflow学习笔记——自编码器及多层感知器
1,自编码器简介 传统机器学习任务很大程度上依赖于好的特征工程,比如对数值型,日期时间型,种类型等特征的提取.特征工程往往是非常耗时耗力的,在图像,语音和视频中提取到有效的特征就更难了,工程师必须在这 ...
- TensorFlow学习笔记——LeNet-5(训练自己的数据集)
在之前的TensorFlow学习笔记——图像识别与卷积神经网络(链接:请点击我)中了解了一下经典的卷积神经网络模型LeNet模型.那其实之前学习了别人的代码实现了LeNet网络对MNIST数据集的训练 ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记——使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
随机推荐
- MySQL:Useful Commands
MySQL Useful Commands Start/Stop/Restart MySQL On Linux start/stop/restart from the command line: /e ...
- LA 4794 状态DP+子集枚举
状态压缩DP,把切割出的面积做状态压缩,统计出某状态下面积和. 设f(x,y,S)为在状态为S下在矩形x,y是否存在可能划分出S包含的面积.若S0是S的子集,对矩形x,y横切中竖切,对竖切若f(x,k ...
- 题目3 : Spring Outing 微软2016校园招聘在线笔试第二场
题目3 : Spring Outing 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 You class are planning for a spring outin ...
- ExecutorCompletionService原理具体解释
在JDK并发包中有这么一个类ExecutorCompletionService,提交任务后,能够按任务返回结果的先后顺序来获取各任务运行后的结果. 该类实现了接口CompletionService: ...
- 怎样使用OpenShare部署和运营企业门户
怎样使用OpenShare部署和运营企业门户 这篇Blog是偏向企业内总体门户部署和运营的指南,是偏向总体管理和规划的.并非针对终端用户的OpenShare软件操作手冊,详细的操作能够上优酷看相关视频 ...
- 用 JSQMessagesViewController 创建一个 iOS 聊天 App - 第 2 部分
原文链接 : Create an iOS Chat App using JSQMessagesViewController – Part 2 原文作者 : Mariusz Wisniewski 译者 ...
- 集成CCFlow工作流与GPM的办公系统驰骋CCOA介绍(二)
GPM怎样控制菜单权限以及菜单的增删显示 因为CCOA中仅仅有属于admin才干够进行权限管理与流程设计.password为pub. 1.加入CCOA功能菜单 进入GPM后,找到编号为CCOA的信息后 ...
- Karma和Jasmine自动化单元测试——本质上还是在要开一个浏览器来做测试
1. Karma的介绍 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma.Karma是一个让人感到非常神秘的 ...
- php write excel
/** * 写excel方法 */ function writeExcel($tabArr, $dataArr,$path) { require_once CODE_BASE2 . '/util/ph ...
- Java压缩技术(一) ZLib
原文:http://snowolf.iteye.com/blog/465433 有关ZLib可参见官方主页 http://www.zlib.net/ ZLib可以简单的理解为压缩/解压缩算法,它与ZI ...