如何从张量张量中得到子张量?

问题描述:

label = tf.constant([0,1,2,3,4,4,5,5]) 

我有一个张量,例如,一个以上。 我想过滤元素为4的张量。输出张量应该是[4,4]。 如何实现它?谢谢。如何从张量张量中得到子张量?

只需使用tf.where获得其中一个条件是真实的指数,并tf.gather收集指定的值

import tensorflow as tf 

label = tf.constant([0,1,2,3,4,4,5,5]) 
filtered = tf.gather(label, tf.where(tf.equal(label, 4))) 
sess = tf.Session() 
print(sess.run(filtered)) 

[4] [4]

+0

如何获得该条件下的元素数量。例如,获得4的计数,这应该返回2.任何函数来实现它? – yanachen

+0

您应该将此答案标记为已接受,并为新问题打开一个新答案...但是'filtered = tf.reduce_sum(tf.bincount(filtered))' – nessuno