我需要通过在循环中的其他两个张量和索引上调用某个函数fn
来创建张量,如下所示:
tensor = [[fn(tensor1, tensor2, i, j) for i in range(3)] for j in range(4)]
不确定如何解决此问题。以某种方式使用tf.map_fn
?
答案 0 :(得分:1)
因此,对于您的简单情况,您的代码将按原样执行。
import tensorflow as tf
sess = tf.Session()
a = tf.constant([1,2,3])
b = tf.constant([3,4,5,6])
def fn( tensor1, tensor2, i, j ):
return tensor1[i] * tensor2[j]
tensor = [[fn(a, b, i, j) for i in range(3)] for j in range(4)]
init = tf.global_variables_initializer()
sess.run(init)
print (sess.run(tensor))
[[3,6,9],[4,8,12],[5,10,15],[6,12,18]]