使用tf.equal比较两个不等长的张量?

时间:2017-06-15 10:42:43

标签: python tensorflow

我有两个张量,A和B(都是第一级向量)。 B是A的子集。我想知道A中B的位置,即对于A的每个元素,在B中是A_ {i}。我尝试过使用tf.equal,我期望它的张量为布尔然后使用tf.where,但收效甚微。

非常感谢任何帮助。

编辑:

我的回答是否有人感兴趣:

def compare(x):
        return tf.equal(result,x)

loss_index = tf.reshape(tf.slice(tf.where(tf.map_fn(compare,B,dtype = tf.bool)),[0,1],[q,1]),[q])

其中q是B的长度。

1 个答案:

答案 0 :(得分:0)

我认为你可以在没有#nameinp{ border-right:5px #4d0026 solid; border-left:none; border-bottom:none; border-top:none; background-color:#e6e6e6; width:140px; height:25px; text-align:center; font-size:17px; }的情况下做到这一点(它在内部使用了一个并不在GPU上并行化的while循环),首先通过首先调整B次大小,重新整形A,使用map_fn将广播的事实,然后在您平铺的维度上使用tf.equal来获取B形状的矢量。