首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查张量A的哪些元素也存在于张量B中,并创建布尔掩码

如何检查张量A的哪些元素也存在于张量B中,并创建布尔掩码
EN

Stack Overflow用户
提问于 2019-12-26 20:02:53
回答 1查看 234关注 0票数 0

在tensorflow 2.0中,我有两个整数张量(tf.uint8),我们称它们为A和B。张量A的秩是任意的,而B是一元的。我正在寻找的结果是得到一个bools张量C (tf.bool),这样:

(对于该示例,假设A为3级)

  • C的形状等于A
  • Ci的形状,j,k必须是真的当且仅当B

中存在Ai,j,k

(i,j,k是这里使用的指数,只是为了澄清这个概念)

总结而言,我需要检查A的元素是否在B中,并创建一个掩码(C),说明A的哪些元素在B中,哪些元素不在B中。

可视化示例(实际上不是代码,只是研究行为的可视化表示):

代码语言:javascript
运行
复制
 A = [[1,2,3],
     [4,5,6]]

 B = [1,5]

 C = [[True, False, False],
     [False, True, False]]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-26 22:33:21

你可以做下面的事。我找不到一种用矢量化的方式来解决这个问题的方法,因为你想让它在任意大小的A上工作,但是只要B不是很长,它就会工作得很好。

代码语言:javascript
运行
复制
A = tf.constant([[1,2,3],[4,5,6]])

B = tf.constant([1,5])

C = tf.math.greater(tf.reduce_sum(tf.map_fn(lambda b: tf.cast(tf.math.equal(A,b), tf.int32), B), axis=0),0)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59492964

复制
相关文章

相似问题

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