View source on GitHub |
Decodes the strings and counts stored in an IBLT data structure.
Inherits From: IbltDecoder
tff.analytics.heavy_hitters.iblt.IbltTensorDecoder(
iblt: tf.Tensor,
iblt_values: tf.Tensor,
value_shape: Sequence[int],
*args,
**kwargs
)
Methods
decode_string_from_chunks
decode_string_from_chunks(
chunks
)
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
get_freq_estimates() -> tuple[dict[Optional[str], int], dict[Optional[str], np.ndarray]]
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
@tf.function
get_freq_estimates_tf() -> tuple[tf.Tensor, tf.Tensor, tf.Tensor, tf.Tensor]
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 |