gpt4 book ai didi

python - TensorFlow 中的硬限制/阈值激活函数

转载 作者:行者123 更新时间:2023-12-04 16:33:28 25 4
gpt4 key购买 nike

我正在尝试实现一个基本的二进制 Hopfield Network在 TensorFlow 0.9 中。不幸的是,我很难让激活功能正常工作。我正在寻找非常简单的 If net[i] < 0, output[i] = 0, else output[i] = 1但是我尝试过的一切似乎都消除了梯度,即在尝试实现训练操作时,我得到了“没有为任何变量提供梯度”的异常。

例如,我尝试类型转换 tf.less()float ,我尝试做一些类似的事情

tf.maximum(tf.minimum(net, 0) + 1, 0)

但我忘记了小十进制值。最后我做到了
tf.maximum(tf.floor(tf.minimum(net, 0) + 1), 0)

但是 tf.floor不注册渐变。我还尝试将地板替换为转换为 int 的转换,然后转换回 float 但同样的操作。

关于我可以做什么的任何建议?

最佳答案

有点晚了,但如果有人需要它,我使用了这个定义

def binary_activation(x):

cond = tf.less(x, tf.zeros(tf.shape(x)))
out = tf.where(cond, tf.zeros(tf.shape(x)), tf.ones(tf.shape(x)))

return out

x 是张量

关于python - TensorFlow 中的硬限制/阈值激活函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37743574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com