Функция linspace
Функция linspace создаёт одномерный тензор, содержащий
равномерно распределённые значения на интервале от начального
до конечного числа включительно. Первым параметром передаётся
начало интервала start, вторым - конец end,
третьим - количество точек steps (по умолчанию 100).
Также можно указать тип данных dtype, устройство
device и необходимость вычисления градиента
requires_grad.
Синтаксис
torch.linspace(start, end, steps, [dtype], [device], [requires_grad])
Пример
Создадим тензор из 5 точек на интервале от 0 до 1:
import torch
t = torch.linspace(0, 1, 5)
print(t)
Результат выполнения кода:
tensor([0.0000, 0.2500, 0.5000, 0.7500, 1.0000])
Пример
Укажем явно тип данных float32 и выведем длину тензора:
import torch
t = torch.linspace(-10, 10, 11, dtype=torch.float32)
print(t)
print("Length:", len(t))
Результат выполнения кода:
tensor([-10., -8., -6., -4., -2., 0., 2., 4., 6., 8., 10.])
"Length: 11"
Пример
Создадим тензор с включённым градиентом для последующих вычислений:
import torch
t = torch.linspace(0.5, 1.5, 3, requires_grad=True)
print(t)
print("Requires grad:", t.requires_grad)
Результат выполнения кода:
tensor([0.5000, 1.0000, 1.5000], requires_grad=True)
"Requires grad: True"
Пример
Выполним арифметическую операцию с тензором, созданным с помощью linspace:
import torch
t = torch.linspace(0, 2, 4)
squared = t ** 2
print("Original:", t)
print("Squared:", squared)
Результат выполнения кода:
"Original: tensor([0.0000, 0.6667, 1.3333, 2.0000])"
"Squared: tensor([0.0000, 0.4444, 1.7778, 4.0000])"