通过在TensorFlow中的循环中调用函数来创建张量

通过在TensorFlow中的循环中调用函数来创建张量,tensorflow,Tensorflow,我需要通过在循环中调用两个其他张量和索引上的函数fn来创建一个张量,如下所示: tensor = [[fn(tensor1, tensor2, i, j) for i in range(3)] for j in range(4)] 不知道如何处理这个问题。使用tf.map\fn某种方式?因此对于您的简单情况,您的代码将按原样执行 import tensorflow as tf sess = tf.Session() a = tf.constant([1,2,3]) b = tf.cons

我需要通过在循环中调用两个其他张量和索引上的函数
fn
来创建一个张量,如下所示:

tensor = [[fn(tensor1, tensor2, i, j) for i in range(3)] for j in range(4)]

不知道如何处理这个问题。使用
tf.map\fn
某种方式?

因此对于您的简单情况,您的代码将按原样执行

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]]


您的
fn
功能的不确定性。除了
tf.map\fn
之外,您还可以尝试
tf.while\u loop