我有一个形状为(?, 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
不幸的是,这不起作用,我无法弄清楚如何做到这一点。
答案 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)