pytorch实现onehot编码转为普通label标签
label转onehot的很多,但是onehot转label的有点难找,所以就只能自己实现以下,用的topk函数,不知道有没有更好的实现
one_hot = torch.tensor([[0,0,1],[0,1,0],[0,1,0]])
print(one_hot)
label = torch.topk(one_hot, 1)[1].squeeze(1)
print(label)
tensor([[0, 0, 1],
[0, 1, 0],
[0, 1, 0]])
tensor([2, 1, 1])
以上这篇pytorch实现onehot编码转为普通label标签就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
时间: 2019-12-30
代码: import torch class_num = 10 batch_size = 4 label = torch.LongTensor(batch_size, 1).random_() % class_num print(label.size()) one_hot = torch.zeros(batch_size, class_num).scatter_(1, label, 1) print(one_hot) 输出: torch.Size([4, 1]) tensor([[0., 0.,
将数据标签变为类似MNIST的one-hot编码形式 def one_hot(indices, depth, on_value=None, off_value=None, axis=None, dtype=None, name=None): """