Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在`for`循环中的空列表上使用`numba`时出错_Python_Numpy_Numba - Fatal编程技术网

Python 在`for`循环中的空列表上使用`numba`时出错

Python 在`for`循环中的空列表上使用`numba`时出错,python,numpy,numba,Python,Numpy,Numba,我正在使用python 2.7和numbaversion0.24.0 我正试图用numba加速我的代码。在我的代码中,我创建了一个空的列表,我创建了一堆numpy数组,我在创建它们时将它们附加到列表,最后我将它们组合在一起,形成一个大的numpy.array 然而,当我尝试这样做时,我得到了一个错误。我已经创建了以下问题的可复制片段: from numba.decorators import autojit import numpy as np def mult(x): y = []

我正在使用python 2.7和
numba
version
0.24.0

我正试图用numba加速我的代码。在我的代码中,我创建了一个空的
列表
,我创建了一堆
numpy
数组,我在创建它们时将它们附加到
列表
,最后我将它们组合在一起,形成一个大的
numpy.array

然而,当我尝试这样做时,我得到了一个错误。我已经创建了以下问题的可复制片段:

from numba.decorators import autojit
import numpy as np

def mult(x):
    y = []
    for _ in range(4):
        y.append(x)
    return np.vstack(y)

jit_mult = autojit(mult)
foo = jit_mult(np.random.randn(2, 2))

>> ValueError: Cannot type empty list
然而,只要稍作更改,就会消除错误:

from numba.decorators import autojit
import numpy as np

def mult(x):
    y = []
    y.append(x) # This line was added
    for _ in range(3):
        y.append(x)
    return np.vstack(y)

jit_mult = autojit(mult)
foo = jit_mult(np.random.randn(2, 2))

这是为什么?

对于较新的版本来说效果很好,更新numba不是一个选项?numba的当前版本是0.33,0.34可能很快就会发布。如果可能的话,我会更新,因为这是一个快速发展的项目。更新numba解决了我的问题。请把它作为一个答案贴出来,这样我就可以为解决这个问题而表扬。我现在使用的是版本
0.34.0