Applies softmax to a batched N-D `SparseTensor`

.

tf.raw_ops.SparseSoftmax( sp_indices, sp_values, sp_shape, name=None )

The inputs represent an N-D SparseTensor with logical shape `[..., B, C]`

(where `N >= 2`

), and with indices sorted in the canonical lexicographic order.

This op is equivalent to applying the normal `tf.nn.softmax()`

to each innermost logical submatrix with shape `[B, C]`

, but with the catch that *the implicitly zero elements do not participate*. Specifically, the algorithm is equivalent to the following:

(1) Applies `tf.nn.softmax()`

to a densified view of each innermost submatrix with shape `[B, C]`

, along the size-C dimension; (2) Masks out the original implicitly-zero locations; (3) Renormalizes the remaining elements.

Hence, the `SparseTensor`

result has exactly the same non-zero indices and shape.

Args | |
---|---|

`sp_indices` | A `Tensor` of type `int64` . 2-D. `NNZ x R` matrix with the indices of non-empty values in a SparseTensor, in canonical ordering. |

`sp_values` | A `Tensor` . Must be one of the following types: `float32` , `float64` . 1-D. `NNZ` non-empty values corresponding to `sp_indices` . |

`sp_shape` | A `Tensor` of type `int64` . 1-D. Shape of the input SparseTensor. |

`name` | A name for the operation (optional). |

Returns | |
---|---|

A `Tensor` . Has the same type as `sp_values` . |

© 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/raw_ops/SparseSoftmax