天天看點

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