Stacks a list of rank- R
tensors into one rank- (R+1)
tensor.
meridian
.
backend
.
stack
(
values
,
axis
=
0
,
name
=
'stack'
)
See also tf.concat
, tf.tile
, tf.repeat
.
Packs the list of tensors in values
into a tensor with rank one higher than
each tensor in values
, by packing them along the axis
dimension.
Given a list of length N
of tensors of shape (A, B, C)
;
if axis == 0
then the output
tensor will have the shape (N, A, B, C)
.
if axis == 1
then the output
tensor will have the shape (A, N, B, C)
.
Etc.
For example:
>>>
x
=
tf
.
constant
([
1
,
4
])
>>>
y
=
tf
.
constant
([
2
,
5
])
>>>
z
=
tf
.
constant
([
3
,
6
])
>>>
tf
.
stack
([
x
,
y
,
z
])
< tf
.
Tensor
:
shape
=
(
3
,
2
),
dtype
=
int32
,
numpy
=
array
([[
1
,
4
],
[
2
,
5
],
[
3
,
6
]],
dtype
=
int32
)
>
>>>
tf
.
stack
([
x
,
y
,
z
],
axis
=
1
)
< tf
.
Tensor
:
shape
=
(
2
,
3
),
dtype
=
int32
,
numpy
=
array
([[
1
,
2
,
3
],
[
4
,
5
,
6
]],
dtype
=
int32
)
>
This is the opposite of unstack. The numpy equivalent is np.stack
>>> np.array_equal(np.stack([x, y, z]), tf.stack([x, y, z]))
True


