Fork me on GitHub

one-hot编码(pytorch实现)

n = 5  #类别数
indices = torch.randint(0, n, size=(15,15))  #生成数组元素0~5的二维数组(15*15)
one_hot = torch.nn.functional.one_hot(indices, n)  #size=(15, 15, n)

1.  One-hot编码(一维数组、二维图像都可以):label = torch.nn.functional.one_hot(label, N)。  #一维数组的one hot编码,N为类别,label为数组

ps. (1)把数组(m,n)转换成(a,b,c),reshape/view时是将前者逐行读取,转换成后者的。

   (2)还会补充one-hot编码转换成单通道图像的方法。

 

2.  One-hot编码---label

  对于一维数组,results = one_hot_label.argmax(dim=1, keepdim=True)或者a = [np.argmax(l) for l in one_hot]   #onehot编码转成一般编码

 

posted @ 2020-02-15 21:19  Rser_ljw  阅读(14153)  评论(0编辑  收藏  举报