繁体   English   中英

具有向量查找的Tensorflow变换张量

[英]Tensorflow transform tensor with vector lookups

给定具有唯一键和值的固定字典(所有数字均为非负整数):

d = {(1,3): 6, (5,4): 9}

张量流转换的有效方式是什么:

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您可以执行以下操作。

使用tf.map_fn

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()}

您只需要将字典dd_inverse的值设置为tf.constants

话虽这么说,这些映射应该与您的图形的计算原因有关,否则我建议您在图形之外进行处理。

在tensorflow中有一个lookuptable模块-文档位于: https ://www.tensorflow.org/api_docs/python/tf/contrib/lookup

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM