PythonのTensorFlowでアクティベーション関数を実装するのに苦労しています。
コードは次のとおりです。
def myfunc(x):
if (x > 0):
return 1
return 0
しかし、私は常にエラーが発生しています:
tf.Tensor
をPythonbool
として使用することは許可されていません。if t is not None:
を使用してください
使用する - tf.cond
:
tf.cond(tf.greater(x, 0), lambda: 1, lambda: 0)
さらに多次元テンソルをサポートする別のソリューション:
tf.sign(tf.maximum(x, 0))
ただし、このアクティベーションの勾配はどこでもゼロであるため、ニューラルネットワークはそれを使用して何も学習しないことに注意してください。
次のコードを使おうとしたときに、似たような問題が発生しました
if tf.math.equal(a,b):
break
変数aとbはテンソル変数です
1.14バージョンのtensorflowを使用していますが、次のエラーが発生していました
Using a tf.Tensor as a Python bool is not allowed. Use if t is not None:
解決策
if tf.math.equal(a,b) is not None:
break
これは私のために働いた。うまくいけば、これはここの誰かを助けます。