TensorFlow笔记——
主要依赖包
protocal buffer
处理结构化数据的工具:序列化(结构化数据->数据流) + 还原(数据流->结构化数据)
protocol buffer与XML和JSON的区别:
- 数据流是二进制流而不是可读的字符串
- 使用时需要先定义数据的格式(schema),还原时需要使用到这个定义好的数据格式——>优势:小、快速
bazel
自动化构建工具
项目空间(workspace)
bazel的一个基本概念。包含源代码+输出编译结果的软连接(symbolic link)地址
一个项目空间内,bazel通过BUILD文件来找到需要编译的目标
。。。。这里有些抽象 没看太明白
TensorFlow的计算模型——计算图
计算图
TensorFlow的计算可以表示为一个有向图,或称为计算图。系统会维护一个默认的计算图,可以通过tf.get_default_graph()得到
节点
运算操作
边
节点与节点之间的连线。
张量(tensor)
边中流动(flow)的数据。有某张量a,他所属的张量图为a.graph,无括号。
从功能上说:
零阶张量是一个标量,一个数
一阶张量是一个一维数组,向量
n阶张量是一个n维数组
张量和计算图上的每个节点代表的计算结果是对应的。
一个张量中主要保存了三个属性:
名字——node:src_output,src_output表示这个节点的第几个输出,例如:add:0
维度
类型
依赖控制
没有数据流的边。作用是让他的节点执行完之后,再执行目标节点,用户可以使用依赖控制进行灵活的条件控制,比如限制内存使用的最高峰值。