![]() |
Class StaticHashTable
A generic hash table that is immutable once initialized.
Inherits From: StaticHashTable
Aliases:
When running in graph mode, you must evaluate the tensor returned by
tf.tables_initializer()
before evaluating the tensor returned by
this class's lookup()
method. Example usage in graph mode:
keys_tensor = tf.constant([1, 2])
vals_tensor = tf.constant([3, 4])
input_tensor = tf.constant([1, 5])
table = tf.lookup.StaticHashTable(
tf.lookup.KeyValueTensorInitializer(keys_tensor, vals_tensor), -1)
out = table.lookup(input_tensor)
with tf.Session() as sess:
sess.run(tf.tables_initializer())
print(sess.run(out))
In eager mode, no special code is needed to initialize the table. Example usage in eager mode:
tf.enable_eager_execution()
keys_tensor = tf.constant([1, 2])
vals_tensor = tf.constant([3, 4])
input_tensor = tf.constant([1, 5])
table = tf.lookup.StaticHashTable(
tf.lookup.KeyValueTensorInitializer(keys_tensor, vals_tensor), -1)
print(table.lookup(input_tensor))
__init__
__init__(
initializer,
default_value,
name=None
)
Creates a non-initialized HashTable
object.
Creates a table, the type of its keys and values are specified by the initializer. Before using the table you will have to initialize it. After initialization the table will be immutable.
Args:
initializer
: The table initializer to use. SeeHashTable
kernel for supported key and value types.default_value
: The value to use if a key is missing in the table.name
: A name for the operation (optional).
Returns:
A HashTable
object.
Properties
default_value
The default value of the table.
initializer
key_dtype
The table key dtype.
name
The name of the table.
resource_handle
Returns the resource handle associated with this Resource.
value_dtype
The table value dtype.
Methods
tf.lookup.StaticHashTable.export
export(name=None)
Returns tensors of all keys and values in the table.
Args:
name
: A name for the operation (optional).
Returns:
A pair of tensors with the first tensor containing all keys and the second tensors containing all values in the table.
tf.lookup.StaticHashTable.lookup
lookup(
keys,
name=None
)
Looks up keys
in a table, outputs the corresponding values.
The default_value
is used for keys not present in the table.
Args:
keys
: Keys to look up. May be either aSparseTensor
or denseTensor
.name
: A name for the operation (optional).
Returns:
A SparseTensor
if keys are sparse, otherwise a dense Tensor
.
Raises:
TypeError
: whenkeys
ordefault_value
doesn't match the table data types.
tf.lookup.StaticHashTable.size
size(name=None)
Compute the number of elements in this table.
Args:
name
: A name for the operation (optional).
Returns:
A scalar tensor containing the number of elements in this table.