Python 移除numba.lowering.LoweringError:内部错误

Python 移除numba.lowering.LoweringError:内部错误,python,arrays,numpy,numba,numba-pro,Python,Arrays,Numpy,Numba,Numba Pro,我正在使用numba来加速我的代码,没有numba,代码运行得很好。但在使用@jit后,它会因以下错误而崩溃: Traceback (most recent call last): File "C:\work_asaaki\code\gbc_classifier_train_7.py", line 54, in <module> gentlebooster.train(X_train, y_train, boosting_rounds) File "C:\work_a

我正在使用numba来加速我的代码,没有numba,代码运行得很好。但在使用@jit后,它会因以下错误而崩溃:

Traceback (most recent call last):
  File "C:\work_asaaki\code\gbc_classifier_train_7.py", line 54, in <module>
    gentlebooster.train(X_train, y_train, boosting_rounds)
  File "C:\work_asaaki\code\gentleboost_c_class_jit_v7_nolimit.py", line 298, in train
    self.g_per_round, self.g = train_function(X, y, H)  
  File "C:\Anaconda\lib\site-packages\numba\dispatcher.py", line 152, in _compile_for_args
    return self.jit(sig)
  File "C:\Anaconda\lib\site-packages\numba\dispatcher.py", line 143, in jit
    return self.compile(sig, **kws)
  File "C:\Anaconda\lib\site-packages\numba\dispatcher.py", line 250, in compile
    locals=self.locals)
  File "C:\Anaconda\lib\site-packages\numba\compiler.py", line 183, in compile_bytecode
    flags.no_compile)
  File "C:\Anaconda\lib\site-packages\numba\compiler.py", line 323, in native_lowering_stage
    lower.lower()
  File "C:\Anaconda\lib\site-packages\numba\lowering.py", line 219, in lower
    self.lower_block(block)
  File "C:\Anaconda\lib\site-packages\numba\lowering.py", line 254, in lower_block
    raise LoweringError(msg, inst.loc)
numba.lowering.LoweringError: Internal error:
NotImplementedError: ('cast', <llvm.core.Instruction object at 0x000000001801D320>, slice3_type, int64)
File "gentleboost_c_class_jit_v7_nolimit.py", line 103
其中,
n
是一个常量,已在我的代码中定义

如何删除错误?“下降”是怎么回事?我正在64位机器上使用Anaconda 2.0.1和Numba 0.13.x以及Numpy 1.8.x

我想出了如何避免这个问题。我没有使用冒号
来引用任何行/列,而是将循环打开为两个循环,以显式引用数组每个维度中的索引:

weights = np.empty([n,m])
for curr_n in range(n):
    for curr_m in range (m):
        weights[curr_n,curr_m] = 1.0/(n)

在此之后,我的代码中还有其他使用冒号的实例,但它们并没有进一步导致错误,不确定原因

有同样的错误,我不知道是什么原因造成的!如果我使用numpy数组而不是列表,我没有错误!可能是个虫子?
weights = np.empty([n,m])
for curr_n in range(n):
    for curr_m in range (m):
        weights[curr_n,curr_m] = 1.0/(n)