tf.sparse.map_values
Применяет op к тензору .values одного или нескольких SparseTensor.
tf.sparse.map_values(
op, *args, **kwargs
)
Заменяет любые SparseTensor в args или kwargs на соответствующий им тензор values (который содержит значения, отличные от значений по умолчанию для SparseTensor), а затем вызывает op. Возвращает SparseTensor, построенный из входных SparseTensor indices, dense_shape, и значения, возвращённого op.
Если входные аргументы содержат несколько SparseTensor , то они должны иметь одинаковые размеры indices и плотные формы.
Примеры:
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)
Примечание: несмотря на то, что tf.add(0, 5) != 0, неявные нули останутся неизменными. Однако, если разреженный тензор содержит явные нули, они будут затронуты отображением!
| Аргументы | |
|---|---|
op | Операция, которая должна быть применена к SparseTensor values. op обычно является поэлементной операцией (например, math_ops.add), но может быть использована любая операция, сохраняющая форму. |
*args | Аргументы для op. |
**kwargs | Ключевые аргументы для op. |
| Возвращаемое значение | |
|---|---|
SparseTensor , у которого indices и dense_shape соответствуют indices и dense_shape всех входных SparseTensor . |
| Исключения | |
|---|---|
ValueError | Если args не содержит SparseTensor, или если indices или dense_shape входных SparseTensor не равны. |
© 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