tf.sparse.map_values
Applies op
to the .values
tensor of one or more SparseTensor
s.
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 SparseTensor
s' indices
, dense_shape
, and the value returned by the op
.
If the input arguments contain multiple SparseTensor
s, 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 SparseTensor s. |
Raises | |
---|---|
ValueError | If args contains no SparseTensor , or if the indices or dense_shape s of the input SparseTensor s 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