2
我有两个张量。在Tensorflow中减少两个张量
- 甲张量形状的(1,N)
- 甲张量形状的(N,T)
我想要计算如下标量:
tf.reduce_sum
似乎有帮助,但我无法把我的头结合两张张,并减少功能,以得到我想要的。有人可以帮助我如何在tensorflow
中写上述方程吗?
我有两个张量。在Tensorflow中减少两个张量
我想要计算如下标量:
tf.reduce_sum
似乎有帮助,但我无法把我的头结合两张张,并减少功能,以得到我想要的。有人可以帮助我如何在tensorflow
中写上述方程吗?
这是行不通的?
import tensorflow as tf
import numpy as np
N = 10
T = 20
l = tf.constant(np.random.randn(1, N), dtype=tf.float32)
z = tf.constant(np.random.randn(N, T), dtype=tf.float32)
with tf.Session() as sess:
# swap axis for broadcasting to work
l = tf.transpose(l, [1, 0])
z_div_l = tf.divide(z, l)
z_div_l_2 = tf.divide(1.0 - z, 1.0 - l)
result = tf.reduce_sum(tf.add(z_div_l, z_div_l_2), axis=0)
eval_result = sess.run(result)
print('{}\n{}'.format(eval_result.shape, eval_result))
此计算每t
从0到T-1的上述表达式中,因此它不是一个标量,但尺寸(T,)
的向量。你的问题提到你只想计算一个标量,但总和只是超过N
而不是超过T
,所以我假设你只是想每个t
都要评估这个表达式。
我理解你是否希望这是一个单线程吗? – kaufmanu
不一定。它不一定是“一个减少功能”。我将编辑该部分。欢迎任何解决方案! – alpaca