2016-02-10 20 views
12

Tensorflowの文字列テンソルに基づいて辞書ルックアップを実行する方法はありますか?Tensorflow辞書テンソルでの辞書検索

平野Pythonでは、私は

value = dictionary[key] 

ような何かをしたいです。今、Tensorflowランタイムで、私がkeyを文字列テンソルとして使用しているときに、同じことをしたいと思います。何かのように

value_tensor = tf.dict_lookup(string_tensor) 

いいでしょう。

答えて

-4

TensorFlowは、テンソル以外のデータ構造をサポートしていないデータフロー言語です。地図や辞書タイプはありません。しかし、必要なものによっては、Pythonラッパーを使用しているときに、Pythonで実行されるドライバプロセス内の辞書を維持し、TensorFlowグラフの実行と対話するために使用することが可能です。たとえば、セッション内でTensorFlowグラフの1つのステップを実行し、Pythonドライバに文字列値を返し、ドライバの辞書にキーとして使用し、検索された値を使用して、次に要求される計算を決定することができますセッションから。これらの辞書ルックアップの速度がパフォーマンス上重要な場合、これはおそらく良い解決策ではありません。

+0

https://www.tensorflow.org/api_docs/python/tf/ contrib/lookup/HashTable – 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