理解方法
Tensorflow的代码比较像数学语言,在真正开始run()之前程序实际上是没有开始跑动的,前面定义的都是种种抽象的表示语言,也就是用程序语言来实现了“数学建模”,并且将各个变量或常量的关系梳理清楚,将使用的优化算法梳理清楚,后面引入数据和运行命令便会从头到尾一下导入执行
默认图现在有三个节点, 两个 constant() op, 和一个matmul() op. 为了真正进行矩阵相乘运算 并得到矩阵乘法的 结果 你必须在会话里启动这个图
import tensorflow as tf
matrix1 = tf.constant([[3.,3.]]) #一行两列
matrix2 = tf.constant([[2.],[2.]]) #两行一列
product = tf.matmul(matrix1,matrix2) #矩阵乘法结果1*1矩阵
- 创建Session对象
如果没有任何创建参数,会话构造器将启动默认图
sess=tf.Session()
调用sess的run()方法来执行矩阵乘法op,传入product作为该方法的参数,上面提到,product代表了矩阵乘法op的输出,传入它是向方法表明,我们希望取回矩阵乘法op的输出
整个执行过程是自动化的,会话负责传递op所需的全部输入,lop通常是并发执行的
函数调用run(product)
触发了图中三个op的执行,返回值result是一个numpyndarray
对象
result=sess.run(product)
print(result)
sess.close()
或者以下,得到结果12
import tensorflow as tf
matrix1 = tf.constant([[3.,3.]])
matrix2 = tf.constant([[2.],[2.]])
product = tf.matmul(matrix1,matrix2)
with tf.Session() as sess:
result=sess.run(product)
print(result)
# [[12.]]
网友评论