在argmax的tensorflow中创建新的向量,在另一个张量上执行

时间:2016-04-26 14:39:06

标签: tensorflow symbolic-math

我有一个形状为(?, 3)的张量,看起来像这个[x, y, z]我需要创建一个带有 argmax 的函数,创建新的向量并分配值尺寸和 argmax

示例:

   f(y):
    v = tf.variable(tf.zeros(y.get_shape()))
    index = tf.argmax(y)
    v[index] = 1.0
    return v

不幸的是,这不起作用,我无法弄清楚如何做到这一点。

1 个答案:

答案 0 :(得分:2)

您确定要在此处创建并分配到tf.Variable吗?使用tf.one_hot() op(从版本0.8开始)可以更简单地在功能上构建结果,因为您不必担心初始化等。例如,您可以执行以下操作: / p>

def f(y):
    index = tf.argmax(y, 1)
    return tf.one_hot(index, tf.shape(y)[1], 1.0, 0.0)