10

我正在努力在 Python的

代码如下:

def myfunc(x):
    if (x > 0):
        return 1
    return 0

但我总是收到错误:

不允许将 atf.Tensor用作 Python 。bool利用if t is not None:

4

2 回答 2

15

使用tf.cond

tf.cond(tf.greater(x, 0), lambda: 1, lambda: 0)

另一种解决方案,它还支持多维张量

tf.sign(tf.maximum(x, 0))

但是请注意,这个激活的梯度在任何地方都是零,所以神经网络不会用它学习任何东西。

于 2018-02-01T20:53:43.540 回答
2

TF2中,您可以使用以下内容装饰myfunc()函数@tf.function

@tf.function
def myfunc(x):
    if (x > 0):
        return 1
    return 0
于 2020-09-22T09:13:09.953 回答