tf.raw_ops.SparseSoftmax
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