Функция fmin
Функция fmin вычисляет поэлементный минимум двух тензоров.
В отличие от функции minimum, которая возвращает NaN, если хотя бы один из элементов равен NaN,
функция fmin игнорирует значения NaN и возвращает значение другого элемента.
Первым и вторым параметрами функция принимает тензоры, для которых нужно найти поэлементный минимум.
Функция поддерживает broadcasting.
Синтаксис
torch.fmin(input, other)
Пример
Давайте найдем поэлементный минимум двух тензоров:
import torch
t1 = torch.tensor([1, 5, 3, 8])
t2 = torch.tensor([4, 2, 7, 6])
res = torch.fmin(t1, t2)
print(res)
Результат выполнения кода:
tensor([1, 2, 3, 6])
Пример
Давайте посмотрим, как функция работает с значениями NaN:
import torch
t1 = torch.tensor([1, float('nan'), 3, 8])
t2 = torch.tensor([4, 2, float('nan'), 6])
res = torch.fmin(t1, t2)
print(res)
Результат выполнения кода:
tensor([1., 2., 3., 6.])
Пример
Давайте сравним поведение fmin и minimum на примере с NaN:
import torch
t1 = torch.tensor([1, 2, 3])
t2 = torch.tensor([4, float('nan'), 6])
res_fmin = torch.fmin(t1, t2)
res_minimum = torch.minimum(t1, t2)
print("fmin:", res_fmin)
print("minimum:", res_minimum)
Результат выполнения кода:
fmin: tensor([1., 2., 3.])
minimum: tensor([1., nan, 3.])