2017-10-15 8 views
0

上の特定のテンソルインデックスを更新し、私はTensorflowを使用していると私は私のtensorするには、以下の条件を適用する:Tensorflow:条件

if(value > 0): 
    value = log(value) 
else: 
    value = -log(-value) 

現在、私は次のことをやっています。

minone = tf.constant(-1, dtype=tf.float32) 
condition = tf.less(X, minone) 
idx = tf.where(condition) 
portion = tf.gather_nd(X, idx) 
log = -tf.log(-portion) 
X = tf.scatter_nd_update(X, idx, log) 

Xは正常Tensorタイプの種類tf.Variableはないのであるときは、こののみ動作します。

Tensorタイプの変数の作業条件はどのように達成できますか?

答えて

2
value = tf.sign(value) * tf.log(tf.abs(value))