天天看点

logical_not torch

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])