Tensorflow 错误:不允许将 `tf.Tensor` 用作 Python 的 `bool` 类型

我在 Python 中使用 实现激活函数时遇到了困难。

我的代码如下:

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))

然而,请注意这种激活函数的梯度在所有地方都是零,因此神经网络将无法通过它进行学习。

Related Posts

Flatten and back keras

我正在尝试使用自编码器获取简单向量中的值 这是我的代码…

如何按索引访问PyTorch模型参数

如果我的网络有10层,包括偏置项,如何仅通过索引访问第…

Python中多元逻辑回归显示错误

我试图使用逻辑回归进行预测,并使用Python和skl…

在MACOS上安装NLTK

我在我的2015款Mac Pro上尝试安装NLTK,操…

如何在R中将通过RFE选择的变量插入到机器学习模型中?

我想使用递归特征消除方法来选择最重要的特征,然后将这些…

CountVectorizer 错误:ValueError: setting an array element with a sequence

我有一个包含144条学生反馈的数据集,其中有72条正面…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注