Функция PyTorch cat используется для объединения заданного порядка тензоров seq в заданном измерении, и тензоры либо должны иметь одинаковую форму.
Синтаксис:
torch.cat(tensors, dim=0, out=None)
Ниже приведены параметры функции PyTorch cat:
- tensors: тензор является параметром любой последовательности тензоров Python одного типа, и предоставленные непустые тензоры должны иметь одинаковую форму, за исключением измерения кошки.
- dim=0: dim используется как измерение, по которому объединяются тензоры.
- out=None: Out определяется как выходной тензор, а значение out по умолчанию — None.
Итак, мы поняли функцию cat Pytorch, используя функцию torch.cat().
- Пример
- Как использовать функцию, используя размерность -1
- Функция cat, использующая размерность 0
- Как использовать 3D-тензор, который объединяется по измерениям 0 и -1
- Сравнение функций cat() и stack()
Пример
Функция torch.cat() используется для объединения двух или более тензоров вдоль существующей оси.
В следующем коде мы импортируем необходимую библиотеку, например импорт факела.
- c = torch.randn(4, 6): Здесь мы объявляем переменную с помощью функции torch.randn().
- a=torch.cat((c, c, c), 0): Здесь мы вызываем функцию torch.cat().
- print(a) используется для печати переменной a с помощью функции print().
# Import the torch library import torch # Declaring the variable c = torch.randn(4, 6) print(c) # Calling the cat() function a=torch.cat((c, c, c), 0) b=torch.cat((c, c, c), 1) # Print the output print(a) print(b)
После запуска приведенного выше кода мы получаем следующий вывод, в котором видим, что значения кота PyTorch печатаются на экране.
Как использовать функцию, используя размерность -1
В этом разделе мы узнаем о функции PyTorch cat, использующей размерность -1 в Python.
Здесь мы используем функцию torch.cat(), которая объединяет два или более тензоров по строкам, используя dim как -1.
В следующем коде мы импортируем необходимую библиотеку, например import torch.
- cattens1 = torch.Tensor([[12, 13, 14], [15, 16, 17]]): Здесь мы объявляем переменную cattensor с помощью функции torch.tensor().
- print(«Cattensor1 \n», cattens1): Здесь мы печатаем первый тензор с помощью функции print().
- cattensor = torch.cat((cattens1, cattens2), -1): Здесь мы вызываем функцию torch.cat().
- print(«Объединить тензоры в измерении -1 \n», cattensor): Здесь мы печатаем объединенный тензор в измерении -1.
# import torch library import torch # Declaring the tensors cattens1 = torch.Tensor([[12, 13, 14], [15, 16, 17]]) cattens2 = torch.Tensor([[18,19, 20], [21, 22, 23]]) # print first tensors print("Cattensor1 \n", cattens1) # print second tensor print("Cattensor2 \n", cattens2) # Calling the torch.cat() function and join tensor in -1 dimension cattensor = torch.cat((cattens1, cattens2), -1) print("Concatenate the tensors in the -1 dimension \n", cattensor)
Выход:
После запуска приведенного выше кода мы получаем следующий вывод, в котором видим, что функция PyTorch cat, использующая значения размера как -1, выводится на экран.
Функция cat, использующая размерность 0
Здесь мы используем функцию torch.cat(), которая объединяет два или более тензора по столбцам, используя размерность как 0.
В следующем коде мы импортируем необходимую библиотеку, например импорт факела.
- c1 = torch.tensor([2,4,6,8]): здесь мы объявляем переменную с помощью функции torch.tensor().
- print(«cat1:\n», c1) используется для печати тензора, который мы должны создать выше, с помощью функции print().
- c=torch.cat((c1,c2,c3,c4),dim=0 ): здесь мы вызываем функцию torch.cat() для объединения тензоров.
- print(c) используется для печати вывода с помощью функции print().
# Import library import torch # Declaring the variable c1 = torch.tensor([2,4,6,8]) c2 = torch.tensor([3,6,9,12]) c3 = torch.tensor([4,8,12,16]) c4 = torch.tensor([5,10,15,20]) # Print the above created tensors print("cat1:\n", c1) print("cat2:\n", c2) print("cat3:\n", c3) print("cat4:\n", c4) # Calling the torch.cat() function c=torch.cat( (c1,c2,c3,c4) ,dim=0 ) # Print the output print(c)
После запуска приведенного выше кода мы получаем следующий вывод, в котором видим, что функция PyTorch cat, использующая значения размера как 0, выводится на экран.
Как использовать 3D-тензор, который объединяется по измерениям 0 и -1
Здесь мы используем функцию torch.cat(), которая объединяет два или более тензоров по столбцам и по строкам, используя размеры 0 и -1.
В следующем коде мы импортируем необходимую библиотеку, например import torch.
- c1 = torch.Tensor([[2,4],[3,6]]) используется для создания тензора с помощью функции torch.tensor().
- print(«cat1:\n», c1) используется для печати вышеуказанного тензора, который мы создали с помощью функции print().
- c = torch.cat((c1,c2,c3), 0): Здесь мы вызываем функцию torch.cat() вместе с нулевым измерением.
- print(“Объединить тензоры в нулевом измерении”) используется для печати конкатенированных тензоров в нулевом измерении.
- c = torch.cat((c1,c2,c3), -1): здесь мы вызываем функцию torch.cat() вместе с измерением -1.
# import required library import torch # create the tensors c1 = torch.Tensor([[2,4],[3,6]]) c2 = torch.Tensor([[4,8],[5,10]]) c3 = torch.Tensor([[6,12],[7,14]]) # print above created tensors print("cat1:\n", c1) print("cat2:\n", c2) print("cat3:\n", c3) # Print the tensor in the 0 dimension print("Concatenate the tensors in the 0 dimension") # Calling the torch.cat() function c = torch.cat((c1,c2,c3), 0) print("c:\n", c) print("Concatenate the tensors in the -1 dimension") c = torch.cat((c1,c2,c3), -1) print("c:\n", c)
В приведенном ниже выводе мы видим, что 3d-тензор PyTorch объединяется(cat) по значениям размеров 0 и -1, напечатанным на экране.
Сравнение функций cat() и stack()
Функция torch.cat() используется для объединения заданного порядка тензоров seq в заданном измерении, и тензоры либо должны иметь одинаковую форму.
В следующем коде мы импортируем необходимую библиотеку, например импорт факела.
- c1 = torch.tensor([2,4,6,8]): здесь мы объявляем тензор с помощью функции torch.tensor().
- c=torch.cat((c1,c2,c3,c4),dim=0 ): Здесь мы вызываем функцию cat().
- print(c) используется для печати вывода с помощью функции print().
# Import torch import torch # Declaring the tensors c1 = torch.tensor([2,4,6,8]) c2 = torch.tensor([3,6,9,12]) c3 = torch.tensor([4,8,12,16]) c4 = torch.tensor([5,10,15,20]) print(c1,c2,c3,c4) # Calling the cat() function c=torch.cat( (c1,c2,c3,c4) ,dim=0 ) # Print the output print(c)
После запуска приведенного выше кода мы получаем следующий вывод, в котором видим, что значения кота PyTorch печатаются на экране.
Функция PyTorch torch.stack() используется для объединения тензора с одинаковым размером и формой.
В следующем коде мы импортируем необходимую библиотеку, например импорт факела.
- s1 = torch.tensor([2,4,6,8]) используется для объявления тензора с помощью функции torch.tensor().
- s=torch.stack((s1,s2,s3,s4),dim=0 ): Здесь мы вызываем функцию torch.stack().
# Import torch import torch # Declaring the tensors s1 = torch.tensor([2,4,6,8]) s2 = torch.tensor([3,6,9,12]) s3 = torch.tensor([4,8,12,16]) s4 = torch.tensor([5,10,15,20]) # Calling stack() function s=torch.stack( (s1,s2,s3,s4) ,dim=0 ) # Print the output print(s)
После запуска приведенного выше кода мы получаем следующий вывод, в котором мы видим, что значения стека PyTorch() печатаются на экране.
Вот как мы понимаем разницу между функциями cat() и stack().