【发布时间】:2017-07-10 19:45:26
【问题描述】:
这就是我的代码的样子:
@jit(nopython=True)
def sum_fn(arg1, arg2, ...argn):
.....
for i in xrange(len(arg2)): #For each bin
l, p = fn1(arg1, arg2...argn)
res = res + fn2(arg1, arg2, arg3)
return res
@jit(nopython=True)
def fn1(a1, a2,...an):
....
return r1, r2
def fn2(l_lk, l_pk, l_lvals):
f_i = interp1d(l_lk, l_pk,kind='linear') #Scipy.interpolate.interp1d
ftmp = fn3(f_i,l_lk,l_pk)
return 10**ftmp(l_lvals)
调用 fn2 似乎会出错,因为它没有被导入到 numba 编译过程中,这与 fn1 不同,它是 jitted。不幸的是,我不能 jit fn2 因为它使用了 Numba 无法识别的 scipy.interpolate.interp1d 函数。我该如何解决这个问题?
【问题讨论】: