如果我有像这样的向量
[2,5,8,1]
如何将其转换为二元向量,其中所有元素都为0(最大元素将表示为1)?
[0,0,1,0]
我希望可以在 Tensorflow 中完成此操作。
答案 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]