Tensorflow学习总结

计算图的构建

Tensorflow首先定义计算(计算图),也就是变量相乘,相加,相加,相减(矩阵,向量,标量)

定义好计算后,Tensorflow会自动把计算规则变成计算图.

不同计算图的变量和运算不会共享

同一个Tensroflow程序中,计算图可以有很多,不同计算图中的变量和计算是独立的,所以可以分开为多个硬件进行计算

计算图中的节点就是分支,只要有输入和输出就是节点.

Tensorflow数据结构(张量)

张量是Tensorflow管理数据的形式.Tensorflow的所有数据都是通过张量的形式来表示的.

从功能角度来看:张量可以被简单理解为n维数组

0维数组:标量

1维数组:向量

n维数组:矩阵(一个数组里面有n个数组元素)

张量在Tensorflow中与Java中的基本数据类型不一样,不能直接打印出来,也就是不能通过print()得到结果,而是一个引用,类似与Java自定义的对象,打印出来得到对象的引用,必须去获取张量对象的参数和方法.

一个张量主要有三个属性:名字(name),维度(shape),类型(type)

张量的用途有两种:

1.构造计算图时,可以预设保存中间结果的引用

2.计算图构造完成后,可以获取任意节点的数据(通过session)来完成

Tesorflow执行命令(运行对话)

session任务拥有并管理Tensorflow程序运行时的所有资源,当所有计算节点都完成后,关闭任务帮助系统回收资源,否则就可能出现资源泄漏的问题.

如果出现异常无法执行下去,利用withtf.Session() as sess:上下文机制命令,可以防止异常退出然后没有关闭上下文,没有释放资源,导致资源泄漏.

与java和python一样,运行了如果不去提取变量(张量)本身代表的数据,是不会显示出来的,必须通过tf.Tensor.eval函数来提取张量的取值.


参考文献:

1.郑泽宇,顾思宇.2017.Tensorflow实战google深度学习框架,电子工业出版社:283页.


2.

推荐阅读更多精彩内容