Python 对Tensorflow中具有不同参数的张量应用函数元素

Python 对Tensorflow中具有不同参数的张量应用函数元素,python,machine-learning,tensorflow,Python,Machine Learning,Tensorflow,我有一个由常量和变量组成的列表,它们作为我试图优化的函数的输入。这里是复杂的部分:我需要对列表中的每个元素应用一个函数,每个元素都有不同的参数。我相信这必须在计算图中完成才能有效 我想做的是将参数放入张量中,每个元素对应一个张量,然后将函数应用到三个张量中,这样每一行元素都可以一起计算。这可能吗 例如: 结果可能是: # The list of variables and constants to optimize optimal = [[tf.constant(10.0), tf.const

我有一个由常量和变量组成的列表,它们作为我试图优化的函数的输入。这里是复杂的部分:我需要对列表中的每个元素应用一个函数,每个元素都有不同的参数。我相信这必须在计算图中完成才能有效

我想做的是将参数放入张量中,每个元素对应一个张量,然后将函数应用到三个张量中,这样每一行元素都可以一起计算。这可能吗

例如:

结果可能是:

# The list of variables and constants to optimize
optimal = [[tf.constant(10.0), tf.constant(1.0), tf.Variable(0.0)]]

# Parameters
p1 = [[None, None, 2.0]]
p2 = [[None, None, 5.0]]

# Apply the function
# ----------------------- HOW TO DO THIS -----------------------
g = f(optimal, p1, p2)
# --------------------------------------------------------------

# Loss
loss = tf.abs(tf.sub(g, label))

# Optimize
trainstep = tf.train.ProximalGradientDescentOptimizer(.1).minimize(loss, var_list= [optimal[2]])

sess.run(trainstep)
提前非常感谢。

使用


首先沿
dim 0
连接,然后将其转置,使行
i
o\u i、p1\u i、p2\u i
map\u fn
仅将
f
应用于每一行。

是否
f
是一个线性函数?不一定
g = tf.map_fn(f, tf.transpose(tf.concat(0, [optimal, p1, p2])))