矩阵如何做乘法,一直没搞清楚,今天写个实例:

如下:

a = tf.constant([[1,2],[3,4]])
b = tf.constant([[0,0],[1,0]])
c =a *b
with tf.Session() as sess:
	print(sess.run(a))
	print(sess.run(b))
	print(sess.run(c))

输出如下:

tensorflow之矩阵相乘与matmul_tensorflow

 从上面的结果输出可以看出:

   tensorflow之矩阵相乘与matmul_tensorflow_02* tensorflow之矩阵相乘与matmul_tensorflow_03 =tensorflow之矩阵相乘与matmul_tensorflow_04tensorflow之矩阵相乘与matmul_tensorflow_02

符合上述输出

在百度上查了下,这种概念如下:

tensorflow之矩阵相乘与matmul_TensorFlow_06

 

 这里特别容易把矩阵* 与matmul混淆,

我再举个例子:

a = tf.constant([[1,2],[3,4]])
b = tf.constant([[0,0],[1,0]])
c =a *b
d = tf.matmul(a,b)
with tf.Session() as sess:
	print(sess.run(d))
	print(sess.run(c))

输出:

tensorflow之矩阵相乘与matmul_tensorflow_07

 明显两个结果是不一样的。

计算方法如下:

tensorflow之矩阵相乘与matmul_tensorflow_08 matmultensorflow之矩阵相乘与matmul_tensorflow_09 =tensorflow之矩阵相乘与matmul_TensorFlow_10=tensorflow之矩阵相乘与matmul_TensorFlow_11

结果符合预期。