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

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

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