SparseSoftmax
tensorflow C++ API
tensorflow::ops::SparseSoftmax
Applies softmax to a batched N-D SparseTensor
.
Summary
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.
Arguments:
- scope: A Scope object
- sp_indices: 2-D.
NNZ x R
matrix with the indices of non-empty values in a SparseTensor, in canonical ordering. - sp_values: 1-D.
NNZ
non-empty values corresponding tosp_indices
. - sp_shape: 1-D. Shape of the input SparseTensor.
Returns:
Output
: 1-D. TheNNZ
values for the resultSparseTensor
.
SparseSoftmax block
Source link : https://github.com/EXPNUNI/enuSpaceTensorflow/blob/master/enuSpaceTensorflow/tf_sparse.cpp
Argument:
- Scope scope : A Scope object (A scope is generated automatically each page. A scope is not connected.)
- Input sp_indices: connect Input node.
- Input sp_values: connect Input node.
- Input sp_shape: connect Input node.
Return:
- Output output: Output object of SparseSoftmax class object.
Result:
- std::vector(Tensor) product_result : Returned object of executed result by calling session.