0
私は、Y> thershold(x)はrms_freq(x)のか、他peak_valueを実行し、その値を返す場合は、単純に条件を適用するファイル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
を持っています。 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:predはは、Pythonブール値でなければなりません' – RDK
'をy> Thersh'はPythonのブールである、これは' y'と 'Thersh'両方がPythonの変数であることを意味し、この場合、tf.condは役に立たないので、Pythonの 'if'文を使うことができます。ところで、 'cond'はテンソルフローでなければなりません。' tf.greater(y、Thersh、name = None) 'のようなtf演算を使わなければなりません。 – nessuno
ありがとう! – RDK