首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用向量查找的Tensorflow变换张量

使用向量查找的Tensorflow变换张量
EN

Stack Overflow用户
提问于 2017-10-24 20:42:57
回答 2查看 339关注 0票数 2

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

代码语言:javascript
复制
d = {(1,3): 6, (5,4): 9}

在tensorflow中转换的有效方法是什么:

代码语言:javascript
复制
tf.constant([[1,3], [5,4], [1,3]]) -> tf.constant([6, 9, 6])

反之亦然:

代码语言:javascript
复制
tf.constant([6, 9, 6]) -> tf.constant([[1,3], [5,4], [1,3]])
EN

回答 2

Stack Overflow用户

发布于 2017-10-24 23:06:13

正如@OphirYoktan提到的,有一个查找运算符。我推荐使用tf.embedding_lookup,但由于您的目标也是映射vector - id,因此您可以执行以下操作。

使用tf.map_fn

代码语言:javascript
复制
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()}

您只需将dicts dd_inverse中的值设置为tf.constants

话虽如此,这些映射应该与关于您的图的计算原因有关,否则我建议您在图之外执行它们。

票数 2
EN

Stack Overflow用户

发布于 2017-10-24 20:48:38

tensorflow中有一个可查找的模块-文档位于:https://www.tensorflow.org/api_docs/python/tf/contrib/lookup

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46910931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档