tensorflow提供很简单的创建常量的方法:tensorflow.constant(),例如创建一个2x1的列向量m1 = tensorflow.constant([2,3]),创建一个1x2的行向量m2 = tensorflow.constant([[3],[3]])
然后两个矩阵相乘又是很简单的操作:product = tensorflow.matmul(m1,m2)。但是此时打印product发现不是想要的结果15,而是莫名奇妙的Tensor,这就是tensorflow的特点。
如果需要打印想要的结果,需要定义一个会话函数,sess = tensorflow.Session(),然后打印run这个函数后的结果。print(result = sess.run(product)),最后关闭会话函数。sess.close()
全部代码如下:
import tensorflow as tf
#创建两个常量
m1 = tf.constant([[2,3]])
m2 = tf.constant([[3],[3]])
#创建矩阵乘法,把m1和m2传入
product = tf.matmul(m1,m2)
print (product)
#定义一个会话,启动默认图
sess = tf.Session()
#用run触发图中的3个op
result = sess.run(product)
print(result)
sess.close()
但是如果照上面一直关写会话函数会很麻烦,所以一般会采用另外一种方法:with
#简化上述操作
with tf.Session() as sess:
result_new = sess.run(product)
print(result_new)
上述的结果执行的效果都是一样的:
[[15]]