我使用穩定版的Numba 0.30.1。如何在一個類的成員函數上使用numba?
我可以這樣做:
import numba as nb
@nb.jit("void(f8[:])",nopython=True)
def complicated(x):
for a in x:
b = a**2.+a**3.
的測試案例,並且增速是巨大的。但是如果我需要加快班級內部的功能,我不知道該怎麼做。
import numba as nb
def myClass(object):
def __init__(self):
self.k = 1
#@nb.jit(???,nopython=True)
def complicated(self,x):
for a in x:
b = a**2.+a**3.+self.k
對於self
對象,我使用哪種numba類型?我需要在類內部有這個函數,因爲它需要訪問一個成員變量。
什麼有關['jitclass'](http://numba.pydata.org/numba-doc/dev/user /jitclass.html)?考慮到'self'的定義是_object_,我認爲它不可能避免「object-fallback」。 – MSeifert
又是什麼'b = a ** 2. + a ** 3. + self.k'要實現,因爲你在下一個循環中立即覆蓋它? – MSeifert
'self.k'只是示意性地表明我需要調用成員變量,並且不能只在類之外具有該功能 – dbrane