如何解决何时在PyTorch中分离用于索引的张量
我正在尝试为一个torch.Tensor
编制索引,并希望获得有关何时的一些建议,我应该将对应于索引的张量从另一个torch.Tensor
prob: torch.Tensor # (float32)
label: torch.Tensor # (int32)
index = torch.arange(label.numel()).reshape(label.shape)
index = index * prob.shape[-1] + label
return torch.take(prob,index)
其中prob
和label
是应保留其梯度的张量。考虑到我使用index
计算要从label
提取的索引,我只是想知道何时分离prob
。
我正在考虑将最后一行更改为
return torch.take(prob,index.detach())
但是我不知道这与label
在计算中较早地用于计算index
的事实是如何相互作用的。
解决方法
这无关紧要,因为渐变始终无法通过index
。关于索引,它是不可微分的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。