torch .logical_not
含义是逻辑取反:
pytorch1.2.0版本中没有这个接口
1.4.0以上有这个接口
>>> torch.logical_not(torch.tensor([True, False]))
tensor([ False, True])
>>> torch.logical_not(torch.tensor([0, 1, -10], dtype=torch.int8))
tensor([ True, False, False])
>>> torch.logical_not(torch.tensor([0., 1.5, -10.], dtype=torch.double))
tensor([ True, False, False])
>>> torch.logical_not(torch.tensor([0., 1., -10.], dtype=torch.double), out=torch.empty(3, dtype=torch.int16))
tensor([1, 0, 0], dtype=torch.int16)
这个操作好像是一样的:
取反操作:~a
BoolTensor在pytorch1.2后引入,针对BoolTensor才有了如下逻辑运算(dtype为bool型)
- 与操作:a & b
- 或操作:a | b
- 异或操作:a ^ b
- 取反操作:~a
>>> torch.logical_not(torch.tensor([True, False]