我在 Python 中使用 tensorflow 实现激活函数时遇到了困难。
我的代码如下:
def myfunc(x): if (x > 0): return 1 return 0
但我总是得到如下错误:
不允许将
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))
然而,请注意这种激活函数的梯度在所有地方都是零,因此神经网络将无法通过它进行学习。