Numba中无法识别的Numpy属性

计算科学 Python 麻木的
2021-12-02 16:50:34

Numba 为 Python 提供 JIT。在其文档中,它说“Numba 的一个目标是与 NumPy 无缝集成。”

那么为什么不能包含 numpy 中的一些最简单的功能:

import numpy as np
from numba import *

@jit(nopython=True)
def testfun(x):
     y = np.size(x)
     return y

x=np.array([1 ,2, 3],dtype=float)
testfun(x)

当我运行此代码时,我收到错误“模块类型的未知属性'大小'”。

Numba 理解对 NumPy ufunc 的调用。我假设简单的 numpy 函数,如大小、形状、总和、重塑等是 ufunc。

1个回答

不知道为什么不支持它,但这有效:

import numpy as np
from numba import *

@jit(nopython=True)
def testfun(x):
     y = x.size
     return y

x=np.array([1 ,2, 3],dtype=float)
testfun(x)

您可能想查看他们网站上支持的 NumPy 功能。