max的二进制向量

时间:2019-02-02 14:08:07

标签: python tensorflow

如果我有像这样的向量

[2,5,8,1]

如何将其转换为二元向量,其中所有元素都为0(最大元素将表示为1)?

[0,0,1,0]

我希望可以在 Tensorflow 中完成此操作。

2 个答案:

答案 0 :(得分:2)

这里:

X = np.array([2,5,8,1])
one_hot = tf.one_hot(indices=tf.argmax(X), depth=tf.shape(X)[0])

答案 1 :(得分:1)

如果应将所有等于最大值的元素分配给1,其余0则可以执行以下操作

[1 * (x == max(your_list)) for x in your_list]