2016-02-10 23 views

Odpowiedz

-4

TensorFlow to język przepływu danych bez wsparcia dla struktur danych innych niż tensory. Nie ma mapy ani rodzaju słownika. Jednak w zależności od potrzeb, podczas korzystania z opakowania Pythona możliwe jest utrzymanie słownika w procesie sterownika, który jest uruchamiany w języku Python, i używanie go do interakcji z wykonywaniem wykresu TensorFlow. Na przykład można wykonać jeden krok wykresu TensorFlow w ramach sesji, zwrócić wartość ciągu znaków do sterownika Python, użyć go jako klucza do słownika w sterowniku i użyć pobranej wartości, aby określić następne obliczenie, o które zostanie poproszony z sesji. Prawdopodobnie nie jest to dobre rozwiązanie, jeśli szybkość tych wyszukiwań słownikowych jest krytyczna dla wydajności.

+0

https://www.tensorflow.org/api_docs/python/tf/ contrib/lookup/HashTable – Julius

14

Można znaleźć tensorflow.contrib.lookup pomocne: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/lookup/lookup_ops.py

https://www.tensorflow.org/api_docs/python/tf/contrib/lookup/HashTable

W szczególności, można zrobić:

table = tf.contrib.lookup.HashTable(
    tf.contrib.lookup.KeyValueTensorInitializer(keys, values), -1 
) 
out = table.lookup(input_tensor) 
table.init.run() 
print out.eval() 
+2

https://www.tensorflow.org/api_docs/python/tf/contrib/lookup/HashTable – Julius