使用一种热编码映射标签列表
Mapping a list of label with one hot encoding
当 'label' 是一个列表时,我如何做同样的事情?
例如:label = [2,4,6,1,7...,9]
label = 3
NumClass = 10
NumRows = 100
mask = torch.zeros(100, 64)
ones = torch.ones(1, 64)
ElementsPerClass = NumRows//NumClass
mask [ ElementsPerClass*label : ElementsPerClass*(label+1) ] = ones
您正在寻找scatter
:
NumRows = len(label)
mask = torch.zeros((NumRoes, NumClass)).scatter_(dim=1, index=torch.tensor(label, dtype=torch.long)[:, None], src=torch.ones(NumRows, 1))
当 'label' 是一个列表时,我如何做同样的事情? 例如:label = [2,4,6,1,7...,9]
label = 3
NumClass = 10
NumRows = 100
mask = torch.zeros(100, 64)
ones = torch.ones(1, 64)
ElementsPerClass = NumRows//NumClass
mask [ ElementsPerClass*label : ElementsPerClass*(label+1) ] = ones
您正在寻找scatter
:
NumRows = len(label)
mask = torch.zeros((NumRoes, NumClass)).scatter_(dim=1, index=torch.tensor(label, dtype=torch.long)[:, None], src=torch.ones(NumRows, 1))