gpt4 book ai didi

python - 为什么 numba 在 (nopython=True) 时抛出有关 numpy 方法的错误?

转载 作者:太空狗 更新时间:2023-10-30 02:57:26 24 4
gpt4 key购买 nike

我正在尝试使用 numba 来提高我编写的一些相当慢的代码的速度。大部分时间花在一个函数上。首先我尝试使用

@jit 

在我的函数定义之前,这稍微改进了计时。然后,我尝试使用

@jit(nopython=True) 

相反。根据我在文档中阅读的内容,应该支持我在函数中使用的 numpy 方法(例如转置)。但是,我收到一个错误

Failed at nopython (nopython frontend)
Untyped global name 'transpose'

最佳答案

为了使用 transpose,您需要以 numpy 数组方法的形式调用它(如文档 describe )。所以以下工作:

import numpy as np
import numba as nb

@nb.jit(nopython=True)
def func(x):
y = x.transpose() # or x.T
return y

x = np.random.normal(size=(4,4))
x_t = func(x)

但是在函数中调用 y = np.transpose(x) 不会。我假设你正在做后者。请注意,我使用的是 Numba 0.25.0 作为引用。

关于python - 为什么 numba 在 (nopython=True) 时抛出有关 numpy 方法的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37197341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com