tff.analytics.heavy_hitters.iblt.IbltTensorDecoder

Decodes the strings and counts stored in an IBLT data structure.

Inherits From: IbltDecoder

iblt Tensor representing the IBLT computed by the IbltEncoder
iblt_values Tensor representing the IBLT values computed by the IbltEncoder.
value_shape Shape of the values tensor.
*args See IbltDecoder.
**kwargs See IbltDecoder.

Methods

decode_string_from_chunks

View source

Computes string from sequence of ints each encoding 'chunk_length' bytes.

Inverse of IBLTEncoder.compute_iblt.

Args
chunks A tf.Tensor of num_chunks integers.

Returns
A tf.Tensor with the string encoded in the chunks.

get_freq_estimates

View source

Decodes key-value pairs from an IBLT.

Note that this method only works for UTF-8 strings, and when running TF in Eager mode.

Returns
A dictionary containing a decoded key with its frequency and tensor_values.

get_freq_estimates_tf

View source

Decodes key-value pairs from an IBLT.

Returns
(out_strings, out_counts, out_tensor_values, 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_values is a tf.Tensor (of shape values_shape) containing a tf.Tensor of values for each string, and num_not_decoded is a tf.Tensor with the number of items not decoded in the IBLT.

If self.value_shape is (), then out_tensor_values is also empty (returned as a tf.constant([])).