Функция column_stack
Функция column_stack объединяет одномерные тензоры в качестве столбцов двумерной матрицы.
Первым параметром функция принимает кортеж или список тензоров.
Если передан список одномерных тензоров длины , результатом будет матрица с размерностью x1,
где каждый тензор становится отдельным столбцом.
Синтаксис
torch.column_stack(tensors)
Пример
Давайте объединим три одномерных тензора в столбцы матрицы:
import torch
t1 = torch.tensor([1, 2, 3])
t2 = torch.tensor([4, 5, 6])
t3 = torch.tensor([7, 8, 9])
res = torch.column_stack((t1, t2, t3))
print(res)
Результат выполнения кода:
tensor([
[1, 4, 7],
[2, 5, 8],
[3, 6, 9],
])
Пример
Давайте объединим два одномерных тензора с разными значениями:
import torch
t1 = torch.tensor([10, 20, 30, 40])
t2 = torch.tensor([50, 60, 70, 80])
res = torch.column_stack((t1, t2))
print(res)
Результат выполнения кода:
tensor([
[10, 50],
[20, 60],
[30, 70],
[40, 80],
])
Пример
Давайте объединим один одномерный тензор в столбец матрицы:
import torch
t1 = torch.tensor([1, 2, 3, 4, 5])
res = torch.column_stack((t1,))
print(res)
Результат выполнения кода:
tensor([
[1],
[2],
[3],
[4],
[5],
])
Пример
Давайте объединим одномерный тензор и скалярное значение в столбцы матрицы:
import torch
t1 = torch.tensor([1, 2, 3])
t2 = torch.tensor([4, 5, 6])
res = torch.column_stack((t1, t2, 7))
print(res)
Результат выполнения кода:
tensor([
[1, 4, 7],
[2, 5, 7],
[3, 6, 7],
])