python - 在exp中遇到numpy溢出

时间:2017-09-04 07:46:43

标签: python numpy

我正在使用numpy进行一些计算,np.exp(1000)不断出现RuntimeWarning: overflow encountered in exp错误。我想这是因为exp^1000太大而无法存储在float64中,但我似乎无法找到它。我尝试了long double和floa128(我在stackoverflow上找到的一些答案提示,但它似乎不起作用,因为它一直说没有np.float128 ??)

1 个答案:

答案 0 :(得分:0)

如果用于softmax计算,你可以减去所有输出的最大值,而不改变softmax值,这样你就不会有疯狂的大数字,事实上只有小于1的值。 / p>

示例:

SM(1000,1001)= SM(0,1)= 1 /(1 + e),e /(1 + e)