Как соединить тензоры в PyTorch? Улучшить статью
Сохранить статью
Последнее обновление: 28 фев, 2022 Читать Обсудить Улучшить статью
Сохранить статью
В этой статье мы увидим, как соединить два или более тензора в PyTorch.
Мы можем объединять тензоры в PyTorch, используя функции torch.cat() и torch.stack(). Обе функции помогают нам объединять тензоры, но torch.cat() в основном используется для объединения заданной последовательности тензоров в заданном измерении. тогда как функция torch.stack() позволяет нам складывать тензоры друг в друга, и мы можем объединять два или более тензора в разных измерениях, таких как -1 измерение и 0 измерений,
Функция torch.cat(): Cat() в PyTorch используется для объединения двух или более тензоров в одном измерении.
Синтаксис: torch.cat ( (tens_1, tens_2, — , tens_n), dim=0, *, out=None)
torch. stack() function: Эта функция также объединяет последовательность тензоры, но над новым измерением, здесь и тензоры должны быть одного размера.
Синтаксис: torch.stack ( (tens_1, tens_2, — , tens_n), dim=0, *, out=None)
Пример 1:
Следующая программа предназначена для объединения последовательности тензоров с помощью функции torch.cat().
Python3 import
torch
tens_1
=
torch.Tensor([[
11
,
12
,
13
], [
14
,
15
,
16
]])
TENS_2
=
TOCLE. TENSOR. ,
21
,
22
]])
print
(
"tens_1 \n"
, tens_1)
print
(
"TENS_2 \ N"
, TENS_2)
TENS
=
TOCK.CAT (TENS_1, TENS_2),
.
Печать
(
"Присоединяйтесь к тензорам в -1 в размере \ n"
, десятки)
TENS
=
70057 (TENS
=
777777777777, (TENS
. 0
)
print
(
"join tensors in the 0 dimension \n"
, tens)
Output:
Example 2:
The following program is для объединения последовательности тензоров с помощью функции torch.stack().
Python3 импорт
факел
5_tens0057 =
torch.Tensor([[
10
,
20
,
30
],[
40
,
50
,
60
]])
tens_2
=
torch. Tensor([[
70
,
80
,
90
],[
100
,
110
,
120
]])
Печать
(
"TENS_1 \ n"
, TENS_1)
(
. "" "" "" "".
TENS
=
TORCH.
, tens)
tens
=
torch.stack((tens_1, tens_2),
0
)
print
(
"join tensors in the 0 Размер \ n "
, TENS)
Выход:
Пример 3:
Следующая программа для 2D Tensors для соблюдения OR). .
Python3 import
torch
tens_1
=
torch.Tensor([[
1
,
2
], [
3
,
4
]])
TENS_2
=
TORCH.TENSOR ([
5
,
5
,
5
,
5
,
5
,
5
.0058 8
]])
tens_3
=
torch. Tensor([[
9
,
10
], [
11
,
12
] ])
Печать
(
"\ n Первый тензор: \ n"
, TENS_1)
Print
(
9003 9003
:
(
9003 9003
:
" 9003
(
9003 9003
:
9003
. , десятки_2)
print
(
"\n Third Tensor :\n"
, tens_3)
tens
=
torch. stack((tens_1, tens_2, tens_3),
-
1
)
print
(
"\n tensors in -1 dimension \n"
, tens)
tens
=
torch.stack( (десятки_1, десятки_2, десятки_3),
0
)
print
(
"\n tensors in 0 dimension \n"
, tens)
Output:
Example 4:
Следующая программа должна знать, как двумерные тензоры соединяются по измерениям 0 и -1. Конкатенация в измерении 0 увеличивает количество строк.
Python3 импорт
Факел
TENS_1
=
TORCH. TENSOR. )
tens_2
=
torch.Tensor([[
5
,
6
], [
7
,
8
]])
tens_3
=
torch.Tensor([[
9
,
10
], [
11
,
12
]])
print
(
"First Tensor :\n"
, tens_1)
print
(
"\nSecond Tensor :\n"
, tens_2)
print
(
"\nThird Тензор :\n"
, tens_3)
tens
=
torch. cat((tens_1, tens_2, tens_3),
0
)
print
(
"\n join tensors in the 0 dimension \n"
, tens)
tens
=
torch.cat((tens_1, tens_2, tens_3),
-
1
)
print
(
"\ n Присоединяйте тензоры в размере -1 \ n"
, TENS)
Выход:
Пример 5:
. тензоры складываются, и конечный тензор является двумерным тензором.
Python3 Импорт
TORCH
TENS_1
=
TORCH. 0058 1
,
2
,
3
])
tens_2
=
torch.Tensor([
4
,
5
,
6
])
tens_3
=
torch.Tensor([
7
,
8
,
9
])
print
(
"First Tensor :\n"
, tens_1)
print
(
"\nSecond Tensor :\n"
, tens_2)
print
(
" \ nthird tensor: \ n "
, tens_3)
TENS
=
FORCH.