chi*_*hia 6 python numpy numba
我正在尝试使用 numba 来提高我编写的一些相当慢的代码的速度。大部分时间花在单个函数上。首先我尝试使用
@jit
Run Code Online (Sandbox Code Playgroud)
在我的函数定义之前,这稍微改进了计时。然后,我尝试使用
@jit(nopython=True)
Run Code Online (Sandbox Code Playgroud)
反而。从我在文档中读到的内容来看,应该支持我在函数中使用的 numpy 方法(例如转置)。但是,我收到一个错误
Failed at nopython (nopython frontend)
Untyped global name 'transpose'
Run Code Online (Sandbox Code Playgroud)
为了使用transpose,您需要以numpy 数组的方法的形式调用它(如文档所述)。所以以下工作:
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)
Run Code Online (Sandbox Code Playgroud)
但是y = np.transpose(x)在函数中调用没有。我假设你正在做后者。请注意,我使用 Numba 0.25.0 作为参考。
| 归档时间: |
|
| 查看次数: |
2170 次 |
| 最近记录: |