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