Функция log2
Функция log2 вычисляет двоичный логарифм (по основанию 2) для каждого элемента тензора.
На вход функция принимает тензор, а возвращает новый тензор той же формы,
содержащий логарифмы по основанию 2 от исходных значений.
Если элемент равен нулю, результатом будет -inf, если элемент отрицательный - nan.
Синтаксис
torch.log2(input_tensor)
Пример
Давайте вычислим двоичные логарифмы для чисел от 1 до 5:
import torch
t = torch.tensor([1, 2, 4, 8, 16])
res = torch.log2(t)
print(res)
Результат выполнения кода:
tensor([0., 1., 2., 3., 4.])
Пример
Давайте вычислим двоичный логарифм для чисел с плавающей точкой:
import torch
t = torch.tensor([0.5, 1.0, 2.0, 3.0, 4.0])
res = torch.log2(t)
print(res)
Результат выполнения кода:
tensor([-1.0000, 0.0000, 1.0000, 1.5850, 2.0000])
Пример
Давайте посмотрим, как функция работает с отрицательными числами и нулём:
import torch
t = torch.tensor([-2.0, 0.0, 2.0, 4.0])
res = torch.log2(t)
print(res)
Результат выполнения кода:
tensor([nan, -inf, 1., 2.])
Пример
Давайте применим функцию к двумерному тензору:
import torch
t = torch.tensor([
[1, 2, 4],
[8, 16, 32]
])
res = torch.log2(t)
print(res)
Результат выполнения кода:
tensor([
[0., 1., 2.],
[3., 4., 5.]
])