从 Numba 0.19 开始,可以在 nopython 模式下显式创建 numpy 数组。如何创建给定类型的数组?

from numba import jit
import numpy as np

@jit(nopython=True)
def f():
    a = np.zeros(5, dtype = np.int)

上面的代码失败并出现以下错误
TypingError: Failed at nopython (nopython frontend)
Undeclared Function(<built-in function zeros>)(int32, Function(<class 'int'>))
File "<ipython-input-4-3169be7a8201>", line 6

最佳答案

您应该使用 numba dtypes 而不是 numpy

import numba
import numpy as np

@numba.njit
def f():
    a = np.zeros(5, dtype=numba.int32)
    return a

In [8]: f()
Out[8]: array([0, 0, 0, 0, 0], dtype=int32)

关于python - 如何使用 numba 创建给定类型的 numpy 数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31266046/

10-16 16:27