tf.sparse.reset_shape
Resets the shape of a SparseTensor
with indices and values unchanged.
tf.sparse.reset_shape(
sp_input, new_shape=None
)
If new_shape
is None, returns a copy of sp_input
with its shape reset
to the tight bounding box of sp_input
. This will be a shape consisting of
all zeros if sp_input has no values.
If new_shape
is provided, then it must be larger or equal in all dimensions
compared to the shape of sp_input
. When this condition is met, the returned
SparseTensor will have its shape reset to new_shape
and its indices and
values unchanged from that of sp_input.
For example |
Consider a sp_input with shape [2, 3, 5]:
It is an error to set new_shape as [3, 7] since this represents a
rank-2 tensor while sp_input is rank-3. This is either a ValueError
during graph construction (if both shapes are known) or an OpError during
run time.
Setting new_shape as [2, 3, 6] will be fine as this shape is larger or
equal in every dimension compared to the original shape [2, 3, 5].
On the other hand, setting new_shape as [2, 3, 4] is also an error: The
third dimension is smaller than the original shape 2, 3, 5.
If new_shape is None, the returned SparseTensor will have a shape
[2, 3, 4], which is the tight bounding box of sp_input .
|
Args |
sp_input
|
The input SparseTensor .
|
new_shape
|
None or a vector representing the new shape for the returned
SparseTensor .
|
Returns |
A SparseTensor indices and values unchanged from sp_input . Its shape is
new_shape if that is set. Otherwise it is the tight bounding box of
sp_input
|
Raises |
TypeError
|
If sp_input is not a SparseTensor .
|
ValueError
|
If new_shape represents a tensor with a different rank from
that of sp_input (if shapes are known when graph is constructed).
|
ValueError
|
If new_shape is determined during graph build to have
dimension sizes that are too small.
|
OpError
|
- If
new_shape has dimension sizes that are too small.
- If shapes are not known during graph construction time, and during run
time it is found out that the ranks do not match.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2023-03-17 UTC.
[null,null,["Last updated 2023-03-17 UTC."],[],[]]