Функция sign
Функция sign определяет знак каждого элемента тензора. Она возвращает новый тензор с элементами -1, 0 или 1 в зависимости от знака исходного числа. Функция работает поэлементно и поддерживает все числовые типы данных PyTorch.
Синтаксис
torch.sign(tensor)
Пример
Давайте определим знак чисел в тензоре с положительными и отрицательными значениями:
import torch
t = torch.tensor([-2, 0, 3, -5, 7])
res = torch.sign(t)
print(res)
Результат выполнения кода:
tensor([-1, 0, 1, -1, 1])
Пример
Функция работает и с многомерными тензорами. Давайте применим sign к двумерному тензору:
import torch
t = torch.tensor([
[-10, 15, -20],
[30, -40, 50],
])
res = torch.sign(t)
print(res)
Результат выполнения кода:
tensor([
[-1, 1, -1],
[1, -1, 1],
])
Пример
Определим знак для чисел с плавающей точкой. Обратите внимание, что знак нуля возвращается как 0:
import torch
t = torch.tensor([-1.5, 0.0, 2.7, -0.0, 3.14])
res = torch.sign(t)
print(res)
Результат выполнения кода:
tensor([-1., 0., 1., 0., 1.])