2017-06-16 15 views
0

私は0.0から1.0までの値を持つ形状(1)の浮動小数点テンソルを持っています。どのようにそれを行うにはテンソルの複数のif-else条件

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.2、0.4、...)、あなたはので、私の仮定があり、X> 0.6のために出力したいんものを示していない。

  • クローズドオープンインターバル。 < X < = B
  • 同じビンの手順は、他の条件(またそれが遅くなります)場合は、必要ありません。このような単純なケースではステップ0.2

で1まで続きます。あなたは数学と鋳造とそれを達成することができます:

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) 
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) 
を助けるかもしれません