我正在努力在 Python的tensorflow中实现激活函数。
代码如下:
def myfunc(x):
if (x > 0):
return 1
return 0
但我总是收到错误:
不允许将 a
tf.Tensor
用作 Python 。bool
利用if t is not None:
我正在努力在 Python的tensorflow中实现激活函数。
代码如下:
def myfunc(x):
if (x > 0):
return 1
return 0
但我总是收到错误:
不允许将 a
tf.Tensor
用作 Python 。bool
利用if t is not None:
使用tf.cond
:
tf.cond(tf.greater(x, 0), lambda: 1, lambda: 0)
另一种解决方案,它还支持多维张量:
tf.sign(tf.maximum(x, 0))
但是请注意,这个激活的梯度在任何地方都是零,所以神经网络不会用它学习任何东西。
在TF2中,您可以使用以下内容装饰myfunc()
函数@tf.function
:
@tf.function
def myfunc(x):
if (x > 0):
return 1
return 0