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 .
|