Machine learning 一个热掩模是给定标签的张量范围

Machine learning 一个热掩模是给定标签的张量范围,machine-learning,math,data-structures,deep-learning,pytorch,Machine Learning,Math,Data Structures,Deep Learning,Pytorch,我想知道如何使用torch.scatter()或任何其他内置掩蔽功能来完成这项热掩蔽任务- 我有两个张量- X=[batch,100],label=[batch],num_classes=10 所以每个标签都有10个张量,在“X”中的100个张量中。 例如,形状为[1x100]的X X = ([ 0.0468, -1.7434, -1.0217, -0.0724, -0.5169, -1.7318, -0.1207, -0.8377, -0.8055, 0.7438, 0.1

我想知道如何使用
torch.scatter()
或任何其他内置掩蔽功能来完成这项热掩蔽任务-

我有两个张量-

X=[batch,100],label=[batch],num_classes=10

所以每个标签都有10个张量,在“X”中的100个张量中。 例如,形状为[1x100]的X

X = ([ 0.0468, -1.7434, -1.0217, -0.0724, -0.5169, -1.7318, -0.1207, -0.8377,
        -0.8055,  0.7438,  0.1139,  1.2162, -1.7950,  1.7416, -1.2031, -1.4833,
        -0.5454,  0.2466, -1.2303, -0.4257,  0.9873, -1.5905, -1.3950,  0.4013,
        -1.0523,  1.4450,  0.6574,  1.5239, -0.3503, -0.1114,  1.8192, -1.7425,
         0.4678,  0.4074,  1.7606, -1.0502,  0.0724,  0.1721,  0.1108,  0.4453,
         0.2278, -1.5352, -0.1232,  1.1052,  0.2496,  1.2898, -0.4167, -0.8211,
         0.2340, -0.3829, -0.1328,  0.1033,  2.8693, -0.8802, -0.0433,  0.5335,
         0.0662,  0.4250,  0.2353, -0.1590,  0.0865,  0.6519, -0.2242,  1.5300,
         1.7021, -0.9451,  0.5845, -0.7309,  0.7124,  0.6544, -1.4426, -0.1859,
        -1.5313, -1.5391, -0.2138, -1.0203,  0.6678,  1.3445, -1.3453,  0.5222,
         0.9510,  0.0969, -0.5437, -0.2727, -0.6090, -2.9624,  0.4578,  0.5257,
        -0.2866,  0.0818, -1.2454,  1.6511,  0.1634,  1.3720, -0.4222,  0.5347,
         0.3586, -0.3506,  2.6866,  0.5084])

label = [3]
我想对张量30-40做一个“1”的热掩蔽,把所有的张量作为“0”放在张量“X”上

所以呢,

label=1->掩码(0到10)为“1”,其余为“0”

label=2->掩码(10到20)为“1”,其余为“0” ……等等