Fills empty rows in the input 2-D SparseTensor
with a default value.
tf.raw_ops.SparseFillEmptyRows(
indices, values, dense_shape, default_value, name=None
)
The input SparseTensor
is represented via the tuple of inputs
(indices
, values
, dense_shape
). The output SparseTensor
has the
same dense_shape
but with indices output_indices
and values
output_values
.
This op inserts a single entry for every row that doesn't have any values.
The index is created as [row, 0, ..., 0]
and the inserted value
is default_value
.
For example, suppose sp_input
has shape [5, 6]
and non-empty values:
[0, 1]: a
[0, 3]: b
[2, 0]: c
[3, 1]: d
Rows 1 and 4 are empty, so the output will be of shape [5, 6]
with values:
[0, 1]: a
[0, 3]: b
[1, 0]: default_value
[2, 0]: c
[3, 1]: d
[4, 0]: default_value
The output SparseTensor
will be in row-major order and will have the
same shape as the input.
This op also returns an indicator vector shaped [dense_shape[0]]
such that
empty_row_indicator[i] = True iff row i was an empty row.
And a reverse index map vector shaped [indices.shape[0]]
that is used during
backpropagation,
reverse_index_map[j] = out_j s.t. indices[j, :] == output_indices[out_j, :]
Args | |
---|---|
indices
|
A Tensor of type int64 .
2-D. the indices of the sparse tensor.
|
values
|
A Tensor . 1-D. the values of the sparse tensor.
|
dense_shape
|
A Tensor of type int64 .
1-D. the shape of the sparse tensor.
|
default_value
|
A Tensor . Must have the same type as values .
0-D. default value to insert into location [row, 0, ..., 0]
for rows missing from the input sparse tensor.
output indices: 2-D. the indices of the filled sparse tensor.
|
name
|
A name for the operation (optional). |
Returns | |
---|---|
A tuple of Tensor objects (output_indices, output_values, empty_row_indicator, reverse_index_map).
|
|
output_indices
|
A Tensor of type int64 .
|
output_values
|
A Tensor . Has the same type as values .
|
empty_row_indicator
|
A Tensor of type bool .
|
reverse_index_map
|
A Tensor of type int64 .
|