2017-08-19 5 views
0

アクティブな関数の形式は次のとおりです。TensorFlowでPythonを使用して区分的起動関数を作成するにはどうすればよいですか?私のCNNで

abs(X)< tou f = 1.716tanh(0.667x) 
x >= tou  f = 1.716[tanh(2tou/3)+tanh'(2tou/3)(x-tou)] 
x <= -tou f = 1.716[tanh(-2tou/3)+tanh'(-2tou/3)(x+tou)] 

touは一定です。

したがって、TensorFlowでは、独自のアクティベーション機能を作成することができます。私はC++で記述し、TensorFlow全体を再コンパイルしたくありません。

TensorFlowで使用できる機能をどのように使用して達成できますか?それが既に含まれますならば、あなた自身の活性化関数を書くのは簡単ですtensorflowで

+0

を使用することができますあなたのケースのために、OPSが存在していました。たとえば、x == touのときはどうなりますか? –

+0

第3の条件が間違っています。私は再びそれを編集しました。試してみてください。ありがとう〜 –

答えて

0

は、次の3つの条件が矛盾しているようだtf.case

f = tf.case({tf.less(tf.abs(x), tou): lambda: 7.716 * tf.tanh(0.667 * x), 
     tf.greater_equal(x, tou): lambda: 1.716 * tf.tanh(2 * tou/3) + 1.716 * tf.tanh(2 * tou/3) * (x - tou)}, 
     default=lambda: 1.716 * tf.tanh(-2 * tou/3) + 1.716 * tf.tanh(-2 * tou/3) * (x + tou), exclusive=True) 
+0

3番目の条件が間違っています。私は再びそれを編集しました。見てください。ありがとう〜 –

+0

新しい条件ごとに私の答えを編集しました。 –

関連する問題