Decode a IBLT sketch.
tff.analytics.heavy_hitters.iblt.decode_iblt_tensor_tf(
iblt: tf.Tensor,
iblt_values: tf.Tensor,
capacity: int,
string_max_bytes: int,
value_shape: Sequence[int],
*,
encoding: tff.analytics.heavy_hitters.iblt.CharacterEncoding
= tff.analytics.heavy_hitters.iblt.CharacterEncoding.UTF8
,
seed: int = 0,
repetitions: int = iblt_lib.DEFAULT_REPETITIONS,
hash_family: Optional[str] = None,
hash_family_params: Optional[dict[str, Union[int, float]]] = None,
field_size: int = iblt_lib.DEFAULT_FIELD_SIZE
) -> tuple[tf.Tensor, tf.Tensor, tf.Tensor, tf.Tensor]
This function wraps IbltDecoder
to decode iblt
and returns frequencies
of decoded strings.
Args |
iblt
|
Tensor representing the IBLT computed by the IbltEncoder.
|
iblt_values
|
Tensor representing the IBLT values computed by the
IbltEncoder.
|
capacity
|
Number of distinct strings that we expect to be inserted.
|
string_max_bytes
|
Maximum length of a string in bytes that can be inserted.
|
value_shape
|
Shape of the values tensor.
|
encoding
|
The character encoding of the string data to decode. For
non-character binary data or strings with unknown encoding, specify
CharacterEncoding.UNKNOWN .
|
seed
|
Integer seed for hash functions. Defaults to 0.
|
repetitions
|
Number of repetitions in IBLT data structure (must be >= 3).
Defaults to 3.
|
hash_family
|
A str specifying the hash family to use to construct IBLT.
Options include coupled or random, default is chosen based on capacity.
|
hash_family_params
|
An optional dict of parameters that the hash family
hasher expects. Defaults are chosen based on capacity.
|
field_size
|
The field size for all values in IBLT. Defaults to 2**31 - 1.
|
Returns |
(out_strings, out_counts, out_tensor_counts num_not_decoded) where
out_strings is a tf.Tensor containing all the decoded strings,
out_counts is a tf.Tensor containing the counts of each string,
out_tensor_counts is a tf.Tensor containing tensor counts for each
decoded string and num_not_decoded is a tf.Tensor with the number of
items not decoded in the IBLT.
|