TensorFlow 2 version | View source on GitHub |
Reshapes a SparseTensor
to represent values in a new dense shape.
tf.sparse.reshape(
sp_input, shape, name=None
)
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 input SparseTensor .
|
shape
|
A 1-D (vector) int64 Tensor specifying the new dense shape of the
represented SparseTensor .
|
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
|
If sp_input is not a SparseTensor .
|
ValueError
|
If argument shape requests a SparseTensor with a different
number of elements than sp_input .
|
ValueError
|
If shape has more than one inferred (== -1) dimension.
|