试图简单地苹果numba @njit (没有Python模式)的速度在numba,但遇到错误,我不明白。
要声明大小为n =100的数组,在循环中要设置索引i在范围(0,100)等于r**2+5的每个数组成员
为什么numba会有这么多错误?
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
import numpy as np
from numba import njit
n=100
r=.5
Values=np.zeros(n, dtype=np.float64)
@njit
def func(n):
for i in range(0,n):
Values[i]=r**2+5
return(Values)
print(func(n))发布于 2022-05-29 12:01:59
您可以对代码做一些修改,如下所示:
import numpy as np
from numba import njit
@njit
def func(n):
r = .5
Values = np.zeros(n, dtype=np.float64)
for i in range(0, n):
Values[i] = r ** 2 + 5
return (Values)或者,你可以用更干净、更通俗的方式来理解清单。即按你所说的批量分配。
@njit
def func1(n):
vals = np.array([(0.5**2 + 5) for r in range(n)])
return valshttps://stackoverflow.com/questions/64978557
复制相似问题