View source on GitHub |
Unpacks the given dimension of a rank-R
tensor into rank-(R-1)
tensors.
tf.unstack(
value, num=None, axis=0, name='unstack'
)
Unpacks num
tensors from value
by chipping it along the axis
dimension.
If num
is not specified (the default), it is inferred from value
's shape.
If value.shape[axis]
is not known, ValueError
is raised.
For example, given a tensor of shape (A, B, C, D)
;
If axis == 0
then the i'th tensor in output
is the slice
value[i, :, :, :]
and each tensor in output
will have shape (B, C, D)
.
(Note that the dimension unpacked along is gone, unlike split
).
If axis == 1
then the i'th tensor in output
is the slice
value[:, i, :, :]
and each tensor in output
will have shape (A, C, D)
.
Etc.
This is the opposite of stack.
value
: A rank R > 0
Tensor
to be unstacked.num
: An int
. The length of the dimension axis
. Automatically inferred if
None
(the default).axis
: An int
. The axis to unstack along. Defaults to the first dimension.
Negative values wrap around, so the valid range is [-R, R)
.name
: A name for the operation (optional).The list of Tensor
objects unstacked from value
.
ValueError
: If num
is unspecified and cannot be inferred.ValueError
: If axis
is out of the range [-R, R).