【发布时间】:2018-07-10 11:16:52
【问题描述】:
我正在尝试在 Python 中创建一个 sigmoid 函数,但是,我收到以下错误:
RuntimeWarning: overflow encountered in exp
这是我的代码:
def sigmoid(self, value):
a = np.exp(-value)
return 1.0/ (1.0 + a)
我搜索了以前的答案,但没有解决我的问题。 问题在于计算 a 的值。 我也尝试过使用:
a = np.float128(np.exp(-value))
但我遇到了同样的错误,并且使用:
a = np.float256(np.exp(-value))
我收到以下错误:
AttributeError: 'module' object has no attribute 'float256'
我认为如果我有一个溢出我可以返回 0,如果我有一个下溢我可以返回 1
【问题讨论】:
-
print(sys.float_info)为您提供浮点数可以具有的最大值和最小值。您可能还想了解numpy data types 及其限制。 -
你的 python 和 numpy 版本是什么?
标签: python python-2.7 numpy floating-point