tensores - tensorflow python tutorial español
Búsqueda de diccionario de Tensorflow con tensor de cadena (2)
¿Hay alguna forma de realizar una búsqueda de diccionario basada en un tensor de cadena en Tensorflow?
En Python simple, haría algo como
value = dictionary[key]
. Ahora me gustaría hacer lo mismo en el tiempo de ejecución de Tensorflow, cuando tengo mi key
como tensor de cadena. Algo como
value_tensor = tf.dict_lookup(string_tensor)
sería bueno.
Puede encontrar útil tensorflow.contrib.lookup
: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lookup/lookup_ops.py
https://www.tensorflow.org/api_docs/python/tf/contrib/lookup/HashTable
En particular, puedes hacer:
table = tf.contrib.lookup.HashTable(
tf.contrib.lookup.KeyValueTensorInitializer(keys, values), -1
)
out = table.lookup(input_tensor)
table.init.run()
print out.eval()
TensorFlow es un lenguaje de flujo de datos que no admite estructuras de datos que no sean tensores. No hay ningún tipo de mapa o diccionario. Sin embargo, dependiendo de lo que necesite, cuando utilice el envoltorio de Python, es posible mantener un diccionario en el proceso del controlador, que se ejecuta en Python, y usarlo para interactuar con la ejecución del gráfico TensorFlow. Por ejemplo, podría ejecutar un paso de un gráfico TensorFlow dentro de una sesión, devolver un valor de cadena al controlador Python, usarlo como una clave en un diccionario en el controlador y usar el valor recuperado para determinar el próximo cálculo que se solicitará de la sesión. Probablemente esta no sea una buena solución si la velocidad de estas búsquedas de diccionarios es crítica para el rendimiento.