PyTorch——Tensor_把索引标签转换成one-hot标签表示

Posted Vic时代

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch——Tensor_把索引标签转换成one-hot标签表示相关的知识,希望对你有一定的参考价值。

对于分类问题,标签可以是类别索引值也可以是one-hot表示。以10类别分类为例,lable=[3] 和label=[0, 0, 0, 1, 0, 0, 0, 0, 0, 0]是一致的.

现在给定索引标签,怎么将其转换为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

以上是关于PyTorch——Tensor_把索引标签转换成one-hot标签表示的主要内容,如果未能解决你的问题,请参考以下文章

Pytorch Tensor 如何获取特定值的索引

Pytorch深度学习实战3-2:什么是张量?Tensor的创建与索引

pytorch tensor与numpy转换

『PyTorch』第五弹_深入理解Tensor对象_下:从内存看Tensor

《动手学深度学习》PyTorch: 数据操作

Pytorch基本使用(2)Tensor转成one-hot形式