SparseConcat
tensorflow C++ API
Concatenates a list of SparseTensor
along the specified dimension.
Summary
Concatenation is with respect to the dense versions of these sparse tensors. It is assumed that each input is a SparseTensor
whose elements are ordered along increasing dimension number.
All inputs' shapes must match, except for the concat dimension. The indices
, values
, and shapes
lists must have the same length.
The output shape is identical to the inputs', except along the concat dimension, where it is the sum of the inputs' sizes along that dimension.
The output elements will be resorted to preserve the sort order along increasing dimension number.
This op runs in O(M log M)
time, where M
is the total number of non-empty values across all inputs. This is due to the need for an internal sort in order to concatenate efficiently across an arbitrary dimension.
For example, if concat_dim = 1
and the inputs are
sp_inputs[0]: shape =[2,3]
//[0, 2]: "a"
//[1, 0]: "b"
//[1, 1]: "c"
sp_inputs[1]: shape =[2,4]
//[0, 1]: "d"
//[0, 2]: "e"
then the output will be
shape =[2,7]
//[0, 2]: "a"
//[0, 4]: "d"
//[0, 5]: "e"
//[1, 0]: "b"
//[1, 1]: "c"
Graphically this is equivalent to doing
[ a] concat[ d e ]=[ a d e ]
[b c ] [ ] [b c ]
Arguments:
- scope: A Scope object
- indices: 2-D. Indices of each input
SparseTensor
. - values: 1-D. Non-empty values of each
SparseTensor
. - shapes: 1-D. Shapes of each
SparseTensor
. - concat_dim: Dimension to concatenate along. Must be in range [-rank, rank), where rank is the number of dimensions in each input
SparseTensor
.
Returns:
Output
output_indices: 2-D. Indices of the concatenatedSparseTensor
.Output
output_values: 1-D. Non-empty values of the concatenatedSparseTensor
.Output
output_shape: 1-D. Shape of the concatenatedSparseTensor
.
SparseConcat 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.)
- InputList indices: connect Input node.
- InputList values: connect Input node.
- InputList shapes: connect Input node.
- int64 concat_dim : intput int64 in value.
Return:
- Output output_indices: Output object of SparseAdd class object.
- Output output_values: Output object of SparseAdd class object.
- Output output_shape: Output object of SparseAdd class object.
Result:
- std::vector(Tensor) product_result : Returned object of executed result by calling session.