TensorFlow 使用graph来表示计算任务. 图中的节点被称之为 op (operation 的缩写). 一个 op获得 0 个或多个 Tensor(类型化多维数组) , 执行计算, 产生 0 个或多个 Tensor .
一个tensorflow的图描述了计算的过程,图必须在session里被启动,session将图的op分发到cpu或gpu之类的设备上,同时提供执行op的方法,被执行后将产生的tensor返回。python语言中,返回的tensor是numpy对象;c/c++语言中,返回的是tensorflow::Tensor实例。
计算图的两个阶段:构建阶段和执行阶段。
构建阶段,op执行步骤被描述成一个图(创建一个图表示和训练神经网络)。执行阶段使用session执行图中的op(反复执行图中的训练op)。
(1)构建图
第一步是创建源op(source op),不需要任何输入,源op的输出被传递给其他op做运算(python库中,op构造器的返回值代表构造出的op的输出),tensorflow python库中有一个默认图,op构造器可以为其增加节点,这个默认图对许多程序来说已经够用了。
import tensorflow as tf
matrix1 = tf.constant([[3,3]])
matrix2 = tf.constant([[2],[3]])
product = tf.matmul(matrix1, matrix2)
with tf.Session() as sess:
result = sess.run([product])
print(result)
输出
[array([[15]], dtype=int32)]
函数说明:
1.
tf.constant(value,dtype=None,shape=None,name=’Const’)
创建一个常量tensor,按照给出value来赋值,可以用shape来指定其形状。value可以是一个数,也可以是一个list。如果是一个数,那么这个常量中所有值都按该数来赋值。如果是list,那么len(value)一定要小于等于shape展开后的长度。赋值时,先将value中的值逐个存入。不够的部分,则全部存入value的最后一个值。例如:
a=tf.constant([2,3,4], shape=[2,