有没有办法在张量流中做同样的事情,就像下面在numpy中做的那样?

时间:2018-03-16 02:06:24

标签: python tensorflow

通过使用numpy,我可以将数组索引如下

x[mask==1]

假设xmask都是numpy数组且mask仅包含10

现在我将xmask都设为Tensor,并希望模仿上述行为。我该怎么办?

2 个答案:

答案 0 :(得分:2)

使用boolean_mask

实施例

x = tf.constant([[1,2],[3,4]])
mask = tf.constant([[1,0],[0,1]])
tf.boolean_mask(x, tf.equal(mask, 1)).eval()
# array([1, 4])

答案 1 :(得分:1)

这会给你一个bolean面具

 import tensorflow as tf
 a = tf.Variable( [1,2,3,1] )   
 comparison = tf.equal( a, tf.constant( 1 ) )  
 start_op = tf.global_variables_initializer()    
 with tf.Session() as session:
   session.run(tart_op)

  print(session.run(comparison))

[ True False False  True]