2016-02-10 16 views
12

क्या Tensorflow में स्ट्रिंग टेंसर पर आधारित एक शब्दकोश लुकअप करने का कोई तरीका है?स्ट्रिंग टेंसर के साथ Tensorflow शब्दकोश लुकअप

सादे पायथन में, मैं की तरह

value = dictionary[key] 

कुछ करना चाहते हैं। अब मैं टेन्सफोर्लो रनटाइम पर वही काम करना चाहता हूं, जब मेरे पास key स्ट्रिंग टेंसर के रूप में है।

value_tensor = tf.dict_lookup(string_tensor) 

कुछ अच्छा होगा।

उत्तर

-4

टेंसरफ्लो एक डेटा प्रवाह भाषा है जिसमें बिना सेंसर के डेटा संरचनाओं के लिए कोई समर्थन नहीं है। कोई नक्शा या शब्दकोश प्रकार नहीं है। हालांकि, जब आप पाइथन रैपर का उपयोग कर रहे हैं, उस पर निर्भर करते हुए, ड्राइवर प्रक्रिया में एक शब्दकोश को बनाए रखना संभव है, जो पायथन में निष्पादित होता है, और इसे टेंसरफ्लो ग्राफ निष्पादन के साथ संवाद करने के लिए उपयोग करता है। उदाहरण के लिए, आप एक सत्र के भीतर एक टेंसरफ्लो ग्राफ के एक चरण को निष्पादित कर सकते हैं, पाइथन ड्राइवर को एक स्ट्रिंग मान वापस कर सकते हैं, इसे ड्राइवर में एक शब्दकोश में कुंजी के रूप में उपयोग करें, और अनुरोध की जाने वाली अगली गणना निर्धारित करने के लिए पुनर्प्राप्त मूल्य का उपयोग करें सत्र से। यदि संभवतः इन शब्दकोश लुकअप की गति महत्वपूर्ण है तो यह शायद एक अच्छा समाधान नहीं है।

+0

https://www.tensorflow.org/api_docs/python/tf/ contrib/lookup/हैशटेबल – Julius

14

आप 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

विशेष रूप से, आप कर सकते हैं:

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

संबंधित मुद्दे