我正在使用Numba加速功能,但遇到了以下问题。 使用装饰器@njit(或@jit)时,某些numpy函数的行为已更改。 例如,如果我使用以下函数来计算tanh
from numba import njit
import numpy as np
@njit
def check_tanh(z):
return np.tanh(z)
,然后将其用于z的实际值,我应该得到与np.tanh(z)相同的结果。 如果我改为平行于实轴但具有虚部移动,例如z = x + 1.j,并增加x,则numpy tanh将收敛至1. + 0.j,而check_tanh(z)将返回一个nan (在我的计算机上,这是x> 360时发生的情况。)
有人知道发生了什么,如何解决? 预先感谢!