Tensorflow:
专门运算的操作节点被称之为OP(operation)
OP的类型有很多例如运算,赋值(在Tensorflow API下的函数都是OP)
图:代表了整个程序的结构
Tensor(张量):指代的是数据
Tensorflow结构分为前端系统和后端系统。前端系统:定义程序图的结构;后端系统:运算图结构
会话:1. 运行程序的图
2. 分配资源计算,掌握资源
会话通过 tf.session()开启,只能运行一个图,指定图运行:tf.session(graph=)
会话通过上下文管理器来实现:
with tf.Session() as sess:
sess.run(...)
会话运行的方法:
不是OP不能运行,只要有一部分是OP,那结果也是OP,也可以运行
运行ops和计算tensor
张量:
张量有三部分:名字,形状,数据类型
张量的阶:
张量的数据类型:
打印出来的形状表示
0维:() 1维:(5) 2维:(5,6) 3维:(2,3,4)
形状改变:
动态形状和静态形状的区别:是否有新的张量生成
对于静态形状来说,一旦张量形状固定了,不能再次设置静态形状, 不能夸维度修改 1D->1D 2D->2D
动态形状可以去创建一个新的张量,改变时候一定要注意元素数量要匹配 1D->2D 1->3D
静态形状:创建一个张量或者由操作推导出一个张量时,初始状态的形状
•tf.Tensor.get_shape:获取静态形状
•tf.Tensor.set_shape():更新Tensor对象的静态形状,通常用于在不能直接推断的情况下
动态形状:一种描述原始张量在执行过程中的一种形状
•tf.reshape:创建一个具有不同动态形状的新张量
变量:
变量也是op的一种,是一种特殊的张量
变量能够持久化保存,普通张量op不行
要想运行变量,需要先初始化:
init_op &