从值矩阵到 3d 张量中同一事物的一个热表示的最简单/最智能的方法是什么?例如,如果矩阵是张量中 argmax 之后的索引,例如:
indices=numpy.argmax(mytensor,axis=2)
其中张量是 3D [x,y,z],索引自然是 [x,y]。现在你想去一个 3D [x,y,z] 张量,它在axis = 2中的最大值位置为1s,在任何其他位置为0。
PS 我知道向量到 1-hot 矩阵的答案,但这是矩阵到 1-hot 张量。
使用的完美设置之一broadcasting
-
indices[...,None] == np.arange(mytensor.shape[-1])
如果您需要 ints of 0s
and 1s
,请附加.astype(int)