tf.sparse.reset_shape  |  TensorFlow v2.16.1 (original) (raw)

tf.sparse.reset_shape

Stay organized with collections Save and categorize content based on your preferences.

Resets the shape of a SparseTensor with indices and values unchanged.

View aliases

Compat aliases for migration

SeeMigration guide for more details.

tf.compat.v1.sparse.reset_shape, tf.compat.v1.sparse_reset_shape

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 returnedSparseTensor.
Returns
A SparseTensor indices and values unchanged from sp_input. Its shape isnew_shape if that is set. Otherwise it is the tight bounding box ofsp_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.