У меня есть три функции в файле fe_extraction.pyКак определить условие в тензорном потоке?
def rms_value(x):
return tf.sqrt(tf.reduce_mean(tf.square(x)))
def meanabs(x):
return tf.reduce_mean(tf.abs(x))
def req_value(x,y,Thersh):
z = tf.cond(y>Thersh,rms_freq(x),peak_value(x))
return z
Я хочу просто применить условие, если у> thershold выполнения rms_freq (х) или еще peak_value (х) и вернуть это значение. y - значение, полученное из другой функции.
# given values
# Thershold = 10.69
# x is defined as tf.Variable , dtype tf.float64
# y = 45.34 obtained from function
....
z = fe_extraction.req_value(x,y,Thershold)
Я получаю сообщение об ошибке как TypeError: fn1 должно быть вызвано.
это дает мне ошибку снова 'TypeError: před не должна быть Python BOOL' – RDK
'у> Thersh' является питоном булевым, это означает, что и' 'y' и Thersh' является питон переменным, поэтому tf.cond бесполезен в этом случае, вы можете просто использовать оператор python 'if'. Кстати, 'cond' должен быть логическим методом tensorflow, вы должны использовать tf-операции, такие как' tf.greater (y, Thersh, name = None) ' – nessuno
большое вам спасибо! – RDK