Applies op to the values of one or more RaggedTensors.

Used in the notebooks

Used in the guide Used in the tutorials

Replaces any RaggedTensor in args or kwargs with its flat_values tensor, and then calls op. Returns a RaggedTensor that is constructed from the input RaggedTensors' nested_row_splits and the value returned by the op.

If the input arguments contain multiple RaggedTensors, then they must have identical nested_row_splits.


rt = tf.ragged.constant([[1, 2, 3], [], [4, 5], [6]])
map_flat_values(tf.ones_like, rt).to_list()
[[1, 1, 1], [], [1, 1], [1]]
map_flat_values(tf.multiply, rt, rt).to_list()
[[1, 4, 9], [], [16, 25], [36]]
map_flat_values(tf.add, rt, 5).to_list()
[[6, 7, 8], [], [9, 10], [11]]

op The operation that should be applied to the RaggedTensor flat_values. op is typically an element-wise operation (such as math_ops.add), but any operation that preserves the size of the outermost dimension can be used. I.e., shape[0] of the value returned by op must match shape[0] of the RaggedTensors' flat_values tensors.
*args Arguments for op.
**kwargs Keyword arguments for op.

A RaggedTensor whose ragged_rank matches the ragged_rank of all input RaggedTensors.

ValueError If args contains no RaggedTensors, or if the nested_splits of the input RaggedTensors are not identical.