2017-10-15 79 views
0

我使用Tensorflow和我想申請以下條件我tensorTensorflow:更新某些張量指標的一個條件

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不是一個正常的Tensortf.Variable類型,並且這僅適用。

如何獲得Tensor類型變量的工作條件?

回答

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