tf.sparse.map_values
Applies op to the .values tensor of one or more SparseTensors.
tf.sparse.map_values(
op, *args, **kwargs
)
Replaces any SparseTensor in args or kwargs with its values tensor (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)
Note: even though tf.add(0, 5) != 0, implicit zeros will remain unchanged. However, if the sparse tensor contains any explict zeros, these will be affected by the mapping!
| Args | |
|---|---|
op | The operation that should be applied to the SparseTensor values. op is 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 indices and dense_shape of all input SparseTensors. |
| Raises | |
|---|---|
ValueError | If args contains no SparseTensor, or if the indices or dense_shapes of the input SparseTensors are not equal. |
© 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.4/api_docs/python/tf/sparse/map_values