TensorFlow学习(一)入门
来源:互联网 发布:android安装 mysql 编辑:程序博客网 时间:2024/04/30 15:26
入门
import tensorflow as tfhello = tf.constant('hello,tensorflow!')sess = tf.Session()print (sess.run(hello))sess.close()
通过tf.constant建立一个常量节点op,再通过tf.Session启动TensorFlow的session,调用session的run方法。
import tensorflow as tfhello = tf.constant('hello,tensorflow!')with tf.Session() as sess: print(sess.run(hello))
利用with代码块生成Session,可以限制作用域,不需要用close函数关闭会话。
PS:with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能。with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。
简单构建tf图
import tensorflow as tfx = tf.Variable(3)y = tf.Variable(5)z = tf.add(x,y)init = tf.global_variables_initializer()with tf.Session() as sess: sess.run(init) print(sess.run(z))
首先 使用TensorFlow 必须明白
1.使用图(graph)来表示计算任务
2.在会话(session)的上下文中执行图
3.使用张量(tensor)表示数据
4.通过变量(Variable)维护状态
5.使用feed 和fetch可以为任意操作赋值或从中获取数据
TensorFlow是一个编程系统,使用图来表示计算任务。图中的节点被称之为op,每个op获得一个或多个tensor执行计算,产生一个或多个tensor。为了进行计算,图必须在session里启动,session将图中的op分发到诸如CPU或GPU之类的设备上,同时提供执行op的方法,这些方法执行后,将产生的tensor返回。
TensorFlow程序分为组织阶段和执行阶段。组织阶段——op的执行步骤用图描述;执行阶段——使用会话执行图中的op
构建图的第一步,是创建源op(source op),源op不需要任何输入,例如hello word中的常量Constant。源op的输出被传递给其他op进行运算。
如:
a = tf.constant("hello,tensorflow!")
也可以利用变量来定义op,但是变量必须要进行初始化
如:
x = tf.Variable(3)y = tf.Variable(5)
显式初始化为
init = tf.global_variables_initializer()
运算op:tensorflow提供了许多数学运算,可以使用时查阅。
程序中存在三个op,变量op x,变量op y,以及加法op。session触发了op的传递过程,通常是并发执行的。调用sess的run()方法来执行加法op,传入z来作为run()的参数。
占位符及其输入
import tensorflow as tfa = tf.placeholder(tf.int16)b = tf.placeholder(tf.int16)mul = tf.mul(a,b)with tf.Session() as sess: print ("a*b = ",sess.run(mul,feed_dict = {a: 2, b: 3}))
利用placeholder对数据初始化,虽然不像C那样严格声明,但在对数组提前初始化时,可以减少因为维度产生错误的几率
如:
matrix1 = tf.placeholder("float",[None,784])
定义变量时,没有指定数据类型,则默认为float32
机器学习的训练过程中含有大量循环,利用占位符为哈希键,创建一个Python字典对象,键值则是其代表的反馈tensor
feed_dict = { images_placeholder: images_feed, labels_placeholder: labels_feed,}
反馈字典的形式:
feed_dict = { <placeholder>: <tensor of values to be passed for placeholder>, .... }
在交互式环境下使用
import tensorflow as tfsess = tf.InteractiveSession()x = tf.Variable([1.0, 2.0])a = tf.constant([3.0, 3.0])# 使用初始化器 initializer op 的 run() 方法初始化 'x' x.initializer.run()# 增加一个减法 sub op, 从 'x' 减去 'a'. 运行减法 op, 输出结果 sub = tf.sub(x, a)print sub.eval()
前面的 Python 示例使用一个会话 Session 来 启动图, 并调用 Session.run() 方法执行操作.为了便于使用诸如 IPython 之类的 Python 交互环境, 可以使用 InteractiveSession 代替 Session 类, 使用 Tensor.eval() 和 Operation.run() 方法代替 Session.run(). 这样可以避免使用一个变量来持有会话。
- TensorFlow学习(一)入门
- TensorFLow学习(一),Mnist入门
- TensorFlow学习笔记(一)入门
- 深度学习之TensorFlow入门(一)
- TensorFlow学习笔记(一)入门
- TensorFlow入门(一)
- TensorFlow学习(一)
- 【tensorflow学习】(一)
- TensorFlow编程入门(一)
- TensorFlow基础(一)--入门
- TensorFlow学习笔记(二):TensorFlow入门
- Tensorflow入门学习网站以及资料<一>
- TensorFlow学习笔记(一):TensorFlow安装
- TensorFlow学习系列(一):初识TensorFlow
- tensorflow学习笔记(一):tensorflow安装
- tensorflow 入门学习(1)
- Tensorflow入门(MNIST学习)
- TensorFlow学习笔记(一)
- 实力打脸!2017大量热门行业等着程序员,谁还敢黑程序员?
- 重写FragmentTabHost,避免导航栏切换过程中再次创建内容页面Fragment
- SpringMVC拦截器
- “空”的艺术-当数据为空时显示什么
- mysql5.7.1.16出现[Err] 1146
- TensorFlow学习(一)入门
- jsp中<jsp:forward page=""/>和response.sendRedirect("")两种跳转的区别
- 计算机视觉之跟踪算法——CamShift跟踪算法
- 问题 A: 那些年我们一起考过的浙大
- 使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
- Error: no such instruction 问题处理(去掉march优化)
- 【寻找最佳小程序】02期:腾讯旅游首款小工具“旅行小账本”——创意及研发过程大起底
- 一个简单的时间插件
- 编写简单shell