Aliases:
tf.sparse.reshape
tf.sparse_reshape
tf.sparse.reshape(
sp_input,
shape,
name=None
)
Defined in tensorflow/python/ops/sparse_ops.py
.
Reshapes a SparseTensor
to represent values in a new dense shape.
This operation has the same semantics as reshape
on the represented dense
tensor. The indices of non-empty values in sp_input
are recomputed based
on the new dense shape, and a new SparseTensor
is returned containing the
new indices and new shape. The order of non-empty values in sp_input
is
unchanged.
If one component of shape
is the special value -1, the size of that
dimension is computed so that the total dense size remains constant. At
most one component of shape
can be -1. The number of dense elements
implied by shape
must be the same as the number of dense elements
originally represented by sp_input
.
For example, if sp_input
has shape [2, 3, 6]
and indices
/ values
:
[0, 0, 0]: a
[0, 0, 1]: b
[0, 1, 0]: c
[1, 0, 0]: d
[1, 2, 3]: e
and shape
is [9, -1]
, then the output will be a SparseTensor
of
shape [9, 4]
and indices
/ values
:
[0, 0]: a
[0, 1]: b
[1, 2]: c
[4, 2]: d
[8, 1]: e
Args:
sp_input
: The inputSparseTensor
.shape
: A 1-D (vector) int64Tensor
specifying the new dense shape of the representedSparseTensor
.name
: A name prefix for the returned tensors (optional)
Returns:
A SparseTensor
with the same non-empty values but with indices calculated
by the new dense shape.
Raises:
TypeError
: Ifsp_input
is not aSparseTensor
.ValueError
: If argumentshape
requests aSparseTensor
with a different number of elements thansp_input
.ValueError
: Ifshape
has more than one inferred (== -1) dimension.