根据我从文档中看到的内容,您 无法 将装饰器应用到方法。您看到的错误是由于JIT解析器不在class
语句上下文中时未处理源代码缩进。
如果要编译该方法的主体,则需要将其分解为一个单独的函数,然后从该方法中调用该函数:
@jit(void(object_, float_[:,:], int_[:], int_))
def train_function(instance, X, y, H):
# do stuff
class GentleBoostC(object):
def train(self, X, y, H):
train_function(self, X, y, H)