Функция atleast_1d
Функция atleast_1d преобразует входные данные в тензор как минимум с одной размерностью. Если на вход подается скаляр, список или тензор нулевой размерности (0D), функция преобразует их в одномерный тензор (1D). Если передан уже одномерный или многомерный тензор, функция возвращает его без изменений. Это полезно для унификации обработки данных, когда нужно гарантировать наличие хотя бы одной оси.
Синтаксис
torch.atleast_1d(*inputs)
Функция принимает один или несколько аргументов, каждый из которых может быть скаляром, списком, массивом NumPy или тензором PyTorch.
Пример
Давайте преобразуем скалярное значение в одномерный тензор:
import torch
res = torch.atleast_1d(5)
print(res)
Результат выполнения кода:
tensor([5])
Пример
Преобразуем список чисел в одномерный тензор:
import torch
res = torch.atleast_1d([1, 2, 3])
print(res)
Результат выполнения кода:
tensor([1, 2, 3])
Пример
Если передать уже одномерный тензор, функция вернет его без изменений:
import torch
t = torch.tensor([4, 5, 6])
res = torch.atleast_1d(t)
print(res)
Результат выполнения кода:
tensor([4, 5, 6])
Пример
При передаче нескольких аргументов функция возвращает кортеж преобразованных тензоров:
import torch
res1, res2 = torch.atleast_1d(7, [8, 9])
print(res1)
print(res2)
Результат выполнения кода:
tensor([7])
tensor([8, 9])
Пример
Если передан двумерный тензор, функция вернет его без изменения размерности, так как он уже как минимум одномерный:
import torch
t = torch.tensor([[1, 2], [3, 4]])
res = torch.atleast_1d(t)
print(res)
Результат выполнения кода:
tensor([
[1, 2],
[3, 4],
])
Смотрите также
-
функцию
atleast_2d,
которая приводит входные данные к двумерному тензору -
функцию
reshape,
которая изменяет форму тензора с указанием новых размерностей -
функцию
broadcast_to,
которая расширяет тензор до указанной формы -
функцию
tensor,
которая создает тензор из списка, кортежа или массива