1. 程式人生 > >pytorch---之轉成one-hot向量

pytorch---之轉成one-hot向量

對於分類問題,標籤可以是類別索引值也可以是one-hot表示。以10類別分類為例,lable=[3] 和label=[0, 0, 0, 1, 0, 0, 0, 0, 0, 0]是一致的.

現在給定索引標籤,怎麼將其轉換為one-hot標籤表示?

或者直接torch.LongTensor(data),然後再轉為one-hot

>>>class_num = 10
>>>batch_size = 4
>>>label = torch.LongTensor(batch_size, 1).random_() % class_num
 3
 0
 0
 8

>>>one_hot = torch.zeros(batch_size, class_num).scatter_(1, label, 1)
    0     0     0     1     0     0     0     0     0     0
    1     0     0     0     0     0     0     0     0     0
    1     0     0     0     0     0     0     0     0     0
    0     0     0     0     0     0     0     0     1     0

---------------------