tensorflow张量使用

张量的使用

张量的使用能够总结为两大类。
第一类用途是对中间计算结果的引用。当一个计算包含不少计算结果时,使用张量能够很大的提升代码可读性。一下为使用张量和不使用张量记录中间结果来完成向量相加的代码对比。web

import tensorflow as tf
#使用张量记录中间结果
a=tf.constant([1.0,2.0],name='a')
b=tf.constant([2.0,3.0],name='b')
result=a+b

#直接结算
result=tf.constant([1.0,2.0],name='a')+
tf.constant([2.0,3.0],name='b')

从上面的程序样例能够看到a和b其实就是对常量生成这个运算结果的引用,这样在作加法时能够直接使用这两个变量,而不须要再去生成这些常量。同时经过张量来存储中间结果,这样能够很方便的获取中间结果。好比在卷积神经网络中,卷积层或者池化层有可能改变张量的维度,经过result.get_shape函数来获取结果张量的维度信息能够免去人工计算的麻烦。
张量的第二类状况是当计算图构造完成以后,张量能够来得到计算结果,也就是获得真实的数字。虽然张量自己没有存储具体的数字,但能够经过会话session获得这些具体的数字。好比使用tf.Session().run(result)语句来获得计算结果。网络