Hashes a string to an hyper-edge with coupled indices.
tff.analytics.heavy_hitters.iblt.CoupledHyperEdgeHasher(
seed: int, table_size: int, repetitions: int, rescale_factor: float
)
For a string, generates a set of indices such that the indices are close to
each as described in https://arxiv.org/pdf/2001.10500.pdf
Args |
seed
|
An integer seed for hash functions.
|
table_size
|
The hash table size of the IBLT. Must be a positive integer.
|
repetitions
|
The number of repetitions in IBLT data structure. Must be at
least 3.
|
rescale_factor
|
A float to rescale table_size to table_size /
rescale_factor + 1 . This number is denoted as z in
https://arxiv.org/pdf/2001.10500.pdf. Must be non-negative and no
greater than table_size - 1 .
|
Raises |
ValueError
|
If arguments do not meet expectations.
|
Methods
get_hash_indices_tf
View source
get_hash_indices_tf(
data_strings
)
Returns Tensor containing hash-position of (input string, repetition)
.
Returns |
A tf.Tensor of shape (input_length, repetitions, 3) containing value
i at index (i, r, 0) , value r at index (i, r, 1) and the
hash-index of the i-th input string in repetition r at index
(i, r, 2) .
|