我有一个带形状(1)的浮动张量,其值介于0.0和1.0之间。 我想' bin'这个张量的范围,如:
if 0.0 < x < 0.2:
return tf.Constant([0])
if 0.2 < x < 0.4:
return tf.Constant([1])
if 0.4 < x < 0.6:
return tf.Constant([2])
if 0.6 < x:
return tf.Constant([3])
不知道怎么做!
答案 0 :(得分:0)
您还没有解释边界点(0.2,0.4,...)会发生什么,并且没有显示您想要输出的x&gt; 0.6,所以我的假设是:
对于这样一个简单的情况,你不需要if else条件(也会很慢)。你可以用数学和演员来实现它:
import tensorflow as tf
x = tf.constant(0.25)
res = tf.cast(5 * x, tf.int32)
with tf.Session() as sess:
print sess.run(res)
答案 1 :(得分:0)
尝试tg.logical_and 以下示例可能会有所帮助
b = tf.constant([5,2,-3,1])
c1 = tf.greater(b,0) # b>0
c2 = tf.less(b,5) # b<5
c_f = tf.logical_and(c1, c2) # 0 < b < 5
sess=tf.Session()
sess.run(c_f)