tf.ragged.map_flat_values
Применяет op к flat_values одного или нескольких RaggedTensors.
tf.ragged.map_flat_values(
op, *args, **kwargs
)
Используется в блокнотах
| Используется в руководстве |
|---|
Заменяет все RaggedTensor в args или kwargs соответствующим flat_values тензором (который сворачивает все рваные измерения), а затем вызывает op. Возвращает RaggedTensor, созданный на основе nested_row_splits входных RaggedTensor и значения, возвращаемого op.
Если входные аргументы содержат несколько RaggedTensor, они должны иметь одинаковые nested_row_splits.
Эта операция обычно используется для применения поэлементных операций к каждому значению в RaggedTensor.
Примеры:
rt = tf.ragged.constant([[1, 2, 3], [], [4, 5], [6]]) tf.ragged.map_flat_values(tf.ones_like, rt) <tf.RaggedTensor [[1, 1, 1], [], [1, 1], [1]]> tf.ragged.map_flat_values(tf.multiply, rt, rt) <tf.RaggedTensor [[1, 4, 9], [], [16, 25], [36]]> tf.ragged.map_flat_values(tf.add, rt, 5) <tf.RaggedTensor [[6, 7, 8], [], [9, 10], [11]]>
Пример с непоэлементной операцией (обратите внимание, что map_flat_values и map_fn возвращают разные результаты):
rt = tf.ragged.constant([[1.0, 3.0], [], [3.0, 6.0, 3.0]]) def normalized(x): return x / tf.reduce_sum(x) tf.ragged.map_flat_values(normalized, rt) <tf.RaggedTensor [[0.0625, 0.1875], [], [0.1875, 0.375, 0.1875]]> tf.map_fn(normalized, rt) <tf.RaggedTensor [[0.25, 0.75], [], [0.25, 0.5, 0.25]]>
| Аргументы | |
|---|---|
op | Операция, которую следует применить к flat_values типа RaggedTensor. op обычно является поэлементной операцией (например, math_ops.add), однако можно использовать любую операцию, сохраняющую размер внешнего измерения. То есть shape[0] возвращаемого op должно совпадать с shape[0] тензоров flat_values аргументов RaggedTensor. |
*args | Аргументы для op. |
**kwargs | Именованные аргументы для op. |
| Возвращаемое значение | |
|---|---|
RaggedTensor, у которого ragged_rank совпадает с ragged_rank всех входных RaggedTensor. |
| Исключения | |
|---|---|
ValueError | Если args не содержит RaggedTensors или если nested_splits входных RaggedTensor не совпадают. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/ragged/map_flat_values