官方api翻译:
tf.select(condition, t, e, name=None)
根据condition选择t或e中的元素。
t和e张量都必须具有相同的形状,并且输出也将具有该形状。 如果t和e是标量,那么condition tensor必须是标量。 如果t和e是向量或更高级别,那么条件必须是大小与t的第一维相匹配的向量,或者必须具有与t相同的形状。
condition张量充当一个掩码,根据每个元素的值选择输出中相应的元素/行应该从t(如果为true)或e(如果为false)中取出。
如果condition是一个向量,t和e是更高级别的矩阵,那么它选择从t和e复制哪一行(外部维度)。
如果条件具有与t和e相同的形状,那么它会选择从t和e复制哪个元素。
说了一大堆,还是直接看列子吧:
import tensorflow as tf
sess=tf.Session()
condition=[[True,False],[True,False]]
a=[[1,2],[3,4]]
b=[[5,6],[7,8]]
c=tf.select(condition,a,b)
print(sess.run(c))
sess.close()
结果:
tf.select()通常与tf.greater()结合使用。具体可参考上篇tf.greater().
扫描二维码关注公众号,回复:
1781713 查看本文章