问题描述
x = torch.tensor([1,2,3,4,5])
idx = torch.tensor([0,4])
如果我想选择索引中不的所有元素,我可以这样manually define a Boolean mask:
mask = torch.ones_like(x)
mask[idx] = 0
x[mask]
有没有更优雅的方法来做到这一点?
即我可以直接传递索引而不是创建掩码的语法,例如类似:
x[~idx]
解决方法
您可能想尝试单行表达式:
x[np.setdiff1d(range(len(x)),idx)]
虽然看起来也不优雅:)