Функция logical_xor
Функция logical_xor вычисляет поэлементное исключающее ИЛИ (XOR)
для двух тензоров. На вход подаются два тензора одинаковой формы
или тензоры, которые можно транслировать до общей формы.
Результатом является тензор с булевыми значениями True или False.
Функция поддерживает градиенты для входных тензоров.
Синтаксис
torch.logical_xor(input, other)
Функция принимает два обязательных аргумента:
-
input- первый входной тензор -
other- второй входной тензор
Пример
Давайте применим функцию logical_xor к двум одномерным тензорам с булевыми значениями:
import torch
t1 = torch.tensor([True, True, False, False])
t2 = torch.tensor([True, False, True, False])
res = torch.logical_xor(t1, t2)
print(res)
Результат выполнения кода:
tensor([False, True, True, False])
Пример
Функция работает и с числовыми тензорами, преобразуя их в булевы значения:
import torch
t1 = torch.tensor([1, 0, 3, 0])
t2 = torch.tensor([0, 2, 0, 4])
res = torch.logical_xor(t1, t2)
print(res)
Результат выполнения кода:
tensor([ True, True, True, True])
Пример
Применим функцию к двумерным тензорам:
import torch
t1 = torch.tensor([[True, False], [True, False]])
t2 = torch.tensor([[True, True], [False, False]])
res = torch.logical_xor(t1, t2)
print(res)
Результат выполнения кода:
tensor([
[False, True],
[ True, False],
])
Пример
Функция поддерживает механизм трансляции (broadcasting). Сравним тензор со скалярным значением:
import torch
t1 = torch.tensor([True, True, False, False])
t2 = True
res = torch.logical_xor(t1, t2)
print(res)
Результат выполнения кода:
tensor([False, False, True, True])
Смотрите также
-
функцию
logical_and,
которая выполняет поэлементное логическое И -
функцию
logical_or,
которая выполняет поэлементное логическое ИЛИ -
функцию
logical_not,
которая выполняет поэлементное логическое НЕ -
функцию
eq,
которая выполняет поэлементное сравнение на равенство