我一直在尝试优化类中的某些函数,但是当我这样做时,遇到了“无法推断全局值%r的类型”的错误。不幸的是,我找不到任何关于此错误的信息。当我单独运行该类时,不会出现此错误,只有当我从另一个类中调用它时才会出现。
我已经实现了我的想法作为示例,并且可行,这确实使我很烦。我真的以为可以从另一个类中调用一个类,但是该示例仍然有效,这对我来说很困惑!
有人知道错误可能来自何处吗?
预先感谢!
import numba as nb
import numpy as np
@nb.jit
def c(nbr):
return nbr
class Axon:
def __init__(self):
self.c = Fifo()
print self.c.res
class Fifo:
def __init__(self):
fifos = []
for i in range(3):
fifos.append(BinaryFifo(i))
res = 0
for j in range(3):
res += fifos[j].bb
self.res = res
class BinaryFifo:
def __init__(self,nbr):
self.bb = c(nbr)
if __name__ == "__main__":
Axon()
我正在尝试实现的当前方法如下:
@jit
def get_post_spike_energy_jit(positive_weight,negative_weight,eligibility,betas):
pos_w_energy = np.dot(positive_weight,eligibility)
neg_w_energy = np.dot(negative_weight,betas)
tot_energy = neg_w_energy - pos_w_energy
return tot_energy