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

Applies op to the .values tensor of one or more SparseTensors.

tf.sparse.map_values(
    op, *args, **kwargs
)

Used in the notebooks

Used in the guide
Working with sparse tensors

Replaces any SparseTensor in args or kwargs with its valuestensor (which contains the non-default values for the SparseTensor), and then calls op. Returns a SparseTensor that is constructed from the input SparseTensors' indices, dense_shape, and the value returned by the op.

If the input arguments contain multiple SparseTensors, then they must have equal indices and dense shapes.

Examples:

s = tf.sparse.from_dense([[1, 2, 0], [0, 4, 0], [1, 0, 0]]) tf.sparse.to_dense(tf.sparse.map_values(tf.ones_like, s)).numpy() array([[1, 1, 0], [0, 1, 0], [1, 0, 0]], dtype=int32)

tf.sparse.to_dense(tf.sparse.map_values(tf.multiply, s, s)).numpy() array([[ 1, 4, 0], [ 0, 16, 0], [ 1, 0, 0]], dtype=int32)

tf.sparse.to_dense(tf.sparse.map_values(tf.add, s, 5)).numpy() array([[6, 7, 0], [0, 9, 0], [6, 0, 0]], dtype=int32)

Args
op The operation that should be applied to the SparseTensor values. opis typically an element-wise operation (such as math_ops.add), but any operation that preserves the shape can be used.
*args Arguments for op.
**kwargs Keyword arguments for op.
Returns
A SparseTensor whose indices and dense_shape matches the indicesand dense_shape of all input SparseTensors.
Raises
ValueError If args contains no SparseTensor, or if the indicesor dense_shapes of the input SparseTensors are not equal.