我有一个numpy 2D数组,其值的范围从0到59。
对于那些熟悉深度学习和特别是图像分割的人-我从.png图像创建数组(称其为L),每个像素的值L[x,y]表示该像素所属的类别(共60个类别)。
我想创建一个1-hot张量-Lhot,其中仅当(L[x,y] == z)时(Lhot[x,y,z] == 1),否则为0。
我想使用某种广播/索引(1,2行)创建它-不使用循环。
它应该在功能上等同于此代码片段(Dtype对应于L):
Lhot = np.zeros((L.shape[0], L.shape[1], 60), dtype=Dtype)
for i in range(L.shape[0]):
for j in range(L.shape[1]):
Lhot[i,j,L[i,j]] = 1
有人有想法吗? 谢谢!