微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

给定标签的一系列张量的单热蒙版

如何解决给定标签的一系列张量的单热蒙版

我想知道如何才能使用torch.scatter_()或任何其他内置的屏蔽功能来完成这一热屏蔽任务-

我有两个张量-

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

因此每个标签在'X'的那100个张量中都有10个张量。 例如形状为[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” ……等等。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。