使用字符串张量的 Tensorflow 字典查找

新手上路,请多包涵

有什么方法可以在 Tensorflow 中基于字符串张量执行字典查找?

在普通的 Python 中,我会做类似的事情

value = dictionary[key]

.现在,当我将 key 作为字符串张量时,我想在 Tensorflow 运行时做同样的事情。就像是

value_tensor = tf.dict_lookup(string_tensor)

会好的。

原文由 mackcmillion 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 678
1 个回答

如果您想使用默认启用即时执行的新 TF 2.x 代码运行它。下面是快速代码片段。

 import tensorflow as tf

# build a lookup table
table = tf.lookup.StaticHashTable(
    initializer=tf.lookup.KeyValueTensorInitializer(
        keys=tf.constant([0, 1, 2, 3]),
        values=tf.constant([10, 11, 12, 13]),
    ),
    default_value=tf.constant(-1),
    name="class_weight"
)

# now let us do a lookup
input_tensor = tf.constant([0, 0, 1, 1, 2, 2, 3, 3])
out = table.lookup(input_tensor)
print(out)

输出:

 tf.Tensor([10 10 11 11 12 12 13 13], shape=(8,), dtype=int32)

原文由 Praveen Kulkarni 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题