Tensorflow 基础教程(1)

在使用Tensorflow之前先了解下Tensorflow的几个基础知识:
1 使用图(graph)来表示计算
2 在回话(session)中执行图
3 使用张量(tensor)来代表数据
4 通过变量(Variables)维护状态
5 通过供给(feeds)和取回(fetches)将数据传入或传出任何操作

实际上,可以将编写Tensorflow代码总结为两部:
1 组装一个graph
2 使用Session来执行graph中的operation

1 graph and Session
(1) 计算图
假设需要计算一个表达式( e=(a+b)(b+1) ),包含两个加法和一个乘法。
当需要计算e时就需要计算 c=a+b d=b+1 ,而计算c时就需要计算a与b,计算d时就需要计算b。这样就形成了依赖关系,这种有向无环图就叫做计算图。
(2)概念说明
Tensor: 类型化的多维数组,可以看作为图的边
operation:执行计算的单元,图的点
graph:一张有边和点的图,其表示了需要进行计算的任务。
session:会话,用于执行图

注意:
graph仅仅定义了所有operation和tensor的流向,没有进行任何计算。而session根据graph的定义分配资源,计算operation,得出结果。每个operation至少有0个输入,0个输出。tensor就是其输入输出,并且除了Variable指向的tensor外所有的tensor在流入下一个节点后都不再保存。

2 数据结构
(1)rank 张量的阶
rank一般指数据的纬度,其与线性代数的rank不一样,

Rank数学形式
0常量 scalar
1向量 vector
2矩阵 matrix
33维tensor(如图片 32*32*3)

(2) shape 形状
(3)数据类型
其中: tf.uint8 : 8位无符号。 tf.int8 8位有符号

3 Variables
(1) 当训练模型时,需要使用Variables保存与更新参数。Variables保存在内存中,所有tensor一旦拥有Variables的指向,就不会在session中丢失。可利用tf.Variable()来进行初始化
(2) 初始化
实际在初始化中做了好多工作:初始化空间,赋初值(等价于tf.assign),并把Variable添加到graph等。
初始化操作是在计算前,一般在定义graph时定义graph时定义global_variables_initializer,会在session运算时,初始化所有变量,如果仅仅想初始化部分变量,使用tf.variables_initializer

4 placeholder和feed_dict
定一张图时,有时候需要手动输入一些值,这时就需要placeholder和feed_dict了。
先定义一个placeholder,tf.placeholder(dtype, shape, name)
再利用feed_dict赋值: sess.run(result, feed_dict={a:.., b:…})

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值