给定一个具有唯一键和值的固定字典(所有数字都是非负整数):
d = {(1,3): 6, (5,4): 9}
在 tensorflow 中转换的有效方法是什么:
tf.constant([[1,3], [5,4], [1,3]]) -> tf.constant([6, 9, 6])
反之亦然:
tf.constant([6, 9, 6]) -> tf.constant([[1,3], [5,4], [1,3]])
请您参考如下方法:
正如@OphirYoktan 提到的,有一个查找运算符。我建议使用 tf.embedding_lookup但由于您还打算映射 vector - id 您可以执行以下操作。
d_inverse = {v:k for k,v in d.items()}
d_mapped = tf.map_fn(lambda x: d[x], d.values())
d_mapped_inverse = tf.map_fn(lambda x: d_inverse[x], d_inverse.items()}
你只需要将字典d和d_inverse中的值设置为tf.constants
话虽如此,这些映射应该与您的图的计算原因有关,否则我建议您在图外进行。
