Is there any way to perform a dictionary lookup based on a String tensor in Tensorflow?
In plain Python, I'd do something like
value = dictionary[key]
. Now I'd like to do the same thing at Tensorflow runtime, when I have my key
as a String tensor. Something like
value_tensor = tf.dict_lookup(string_tensor)
would be nice.
You might find tensorflow.contrib.lookup
helpful:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lookup/lookup_ops.py
https://www.tensorflow.org/api_docs/python/tf/contrib/lookup/HashTable
In particular, you can do:
table = tf.contrib.lookup.HashTable(
tf.contrib.lookup.KeyValueTensorInitializer(keys, values), -1
)
out = table.lookup(input_tensor)
table.init.run()
print out.eval()