在三维张量中,从一个值矩阵到同一个热点表示的最简单/最聪明的方法是什么?例如,如果矩阵是argmax之后的索引,如张:
indices=numpy.argmax(mytensor,axis=2)
张量是3D [x,y,z],索引自然是[x,y]。现在你想要转到3D [x,y,z]张量,它在轴= 2的最大位置有1,在任何其他位置有0。
P.S。我知道向量到1-热矩阵的答案,但这是1-热张量的矩阵。
答案 0 :(得分:3)
使用broadcasting
-
indices[...,None] == np.arange(mytensor.shape[-1])
如果您需要0s
和1s
的整数,请附加.astype(int)