行明智张量乘法

时间:2018-09-30 00:46:27

标签: python python-3.x tensorflow tensor

假设我们有两个2D张量

A = [[a, b], [c, d]]B=[[e, f], [g, h]]

我需要一个值为[ae + bf + ce + df, ag + ah + cg + ch]的一维张量

在此先感谢您的帮助

1 个答案:

答案 0 :(得分:0)

import tensorflow as tf

A=[[1, 2], [3, 4]]

B=[[5, 6], [7, 8]]

Ax = tf.Variable(initial_value=A)

Bx = tf.Variable(initial_value=B)

with tf.Session() as sess :
    sess.run( tf.global_variables_initializer() )
    ABx = tf.tensordot(Ax, Bx, axes=[[1], [1]])
    print(sess.run( tf.reduce_sum(ABx, 0) ))

ABx = tf.tensordot(Ax, Bx, axes=[[1], [1]])给了你这个。

[[17 23]
 [39 53]]

tf.reduce_sum(ABx, 0)给了你这个。

[56 76]

代码tf.reduce_sum(tf.matmul(Ax, Bx,transpose_b=True),0)也提供相同的结果。