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