在NumPy中,可以使用np.invert(array)来实现,但Pytorch中没有对应的invert函数。假设我有一个二维的布尔值张量:
import torch
ts = torch.rand((10, 4)) < .5
tensor([[ True, True, False, True],
[ True, True, True, True],
[ True, False, True, True],
[False, True, True, False],
[False, True, True, True],
[ True, True, True, True],
[ True, False, True, True],
[False, True, False, True],
[ True, True, False, True],
[False, False, True, False]])
如何将False变为True,反之亦然?
回答:
只需使用波浪号就可以将所有True
变为False
,反之亦然。
ts = ~ts