View source on GitHub |
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.
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 input_sp . Its shape is new_shape if that is set. Otherwise it is the tight bounding box of input_sp |
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 |
|
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/sparse/reset_shape