SparseCross
tensorflow C++ API
Generates sparse cross from a list of sparse and dense tensors.
Summary
The op takes two lists, one of 2D SparseTensor
and one of 2D Tensor
, each representing features of one feature column. It outputs a 2D SparseTensor
with the batchwise crosses of these features.
For example, if the inputs are
inputs[0]: SparseTensor with shape = [2, 2]
//[0, 0]: "a"
//[1, 0]: "b"
//[1, 1]: "c"
inputs[1]: SparseTensor with shape = [2, 1]
//[0, 0]: "d"
//[1, 0]: "e"
inputs[2]: Tensor [["f"], ["g"]]
then the output will be
shape = [2, 2]
//[0, 0]: "a_X_d_X_f"
//[1, 0]: "b_X_e_X_g"
//[1, 1]: "c_X_e_X_g"
if hashed_output=true then the output will be
shape = [2, 2]
Fingerprint64("f"), FingerprintCat64(
Fingerprint64("d"), Fingerprint64("a")))
Fingerprint64("g"), FingerprintCat64(
Fingerprint64("e"), Fingerprint64("b")))
Fingerprint64("g"), FingerprintCat64(
Fingerprint64("e"), Fingerprint64("c")))
Arguments:
- scope: A Scope object
- indices: 2-D. Indices of each input
SparseTensor
. - values: 1-D. values of each
SparseTensor
. - shapes: 1-D. Shapes of each
SparseTensor
. - dense_inputs: 2-D. Columns represented by dense
Tensor
. - hashed_output: If true, returns the hash of the cross instead of the string. This will allow us avoiding string manipulations.
- num_buckets: It is used if hashed_output is true. output = hashed_valuenum_buckets if num_buckets > 0 else hashed_value.
- hash_key: Specify the hash_key that will be used by the
FingerprintCat64
function to combine the crosses fingerprints.
Returns:
Output
output_indices: 2-D. Indices of the concatenatedSparseTensor
.Output
output_values: 1-D. Non-empty values of the concatenated or hashedSparseTensor
.Output
output_shape: 1-D. Shape of the concatenatedSparseTensor
.
SparseCross block
Source link : https://github.com/EXPNUNI/enuSpaceTensorflow/blob/master/enuSpaceTensorflow/tf_sparse.cpp