Функция concat
Функция concat объединяет несколько тензоров вдоль указанной размерности.
Первым параметром функция принимает последовательность тензоров.
Вторым параметром можно передать размерность, по которой происходит объединение.
Все тензоры должны иметь одинаковую форму, кроме размерности, по которой происходит объединение.
Синтаксис
torch.cat(tensors, dim=0)
Пример
Давайте объединим два одномерных тензора по размерности 0:
import torch
t1 = torch.tensor([1, 2, 3])
t2 = torch.tensor([4, 5, 6])
res = torch.cat((t1, t2), dim=0)
print(res)
Результат выполнения кода:
tensor([1, 2, 3, 4, 5, 6])
Пример
Давайте объединим два двумерных тензора по строкам (размерность 0):
import torch
t1 = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
t2 = torch.tensor([
[7, 8, 9],
[10, 11, 12],
])
res = torch.cat((t1, t2), dim=0)
print(res)
Результат выполнения кода:
tensor([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12],
])
Пример
Давайте объединим два двумерных тензора по столбцам (размерность 1):
import torch
t1 = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
t2 = torch.tensor([
[7, 8],
[9, 10],
])
res = torch.cat((t1, t2), dim=1)
print(res)
Результат выполнения кода:
tensor([
[1, 2, 3, 7, 8],
[4, 5, 6, 9, 10],
])
Пример
Давайте объединим три тензора в один:
import torch
t1 = torch.tensor([1, 2])
t2 = torch.tensor([3, 4])
t3 = torch.tensor([5, 6])
res = torch.cat((t1, t2, t3), dim=0)
print(res)
Результат выполнения кода:
tensor([1, 2, 3, 4, 5, 6])
Пример
Давайте объединим тензоры разных размеров по размерности 0:
import torch
t1 = torch.tensor([
[1, 2, 3],
[4, 5, 6],
])
t2 = torch.tensor([
[7, 8, 9],
])
res = torch.cat((t1, t2), dim=0)
print(res)
Результат выполнения кода:
tensor([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
])