![]() |
Stacks a list of rank-R
tensors into one rank-(R+1)
RaggedTensor
.
Aliases:
tf.ragged.stack(
values,
axis=0,
name=None
)
Given a list of tensors or ragged tensors with the same rank R
(R >= axis
), returns a rank-R+1
RaggedTensor
result
such that
result[i0...iaxis]
is [value[i0...iaxis] for value in values]
.
Example:
>>> t1 = tf.ragged.constant([[1, 2], [3, 4, 5]]) >>> t2 = tf.ragged.constant([[6], [7, 8, 9]]) >>> tf.ragged.stack([t1, t2], axis=0) [[[1, 2], [3, 4, 5]], [[6], [7, 9, 0]]] >>> tf.ragged.stack([t1, t2], axis=1) [[[1, 2], [6]], [[3, 4, 5], [7, 8, 9]]]
Args:
values
: A list oftf.Tensor
ortf.RaggedTensor
. May not be empty. Allvalues
must have the same rank and the same dtype; but unliketf.stack
, they can have arbitrary dimension sizes.axis
: A python integer, indicating the dimension along which to stack. (Note: Unliketf.stack
, theaxis
parameter must be statically known.) Negative values are supported only if the rank of at least onevalues
value is statically known.name
: A name prefix for the returned tensor (optional).
Returns:
A RaggedTensor
with rank R+1
.
result.ragged_rank=1+max(axis, max(rt.ragged_rank for rt in values]))
.
Raises:
ValueError
: Ifvalues
is empty, ifaxis
is out of bounds or if the input tensors have different ranks.