为什么numba.prange函数不能与元组参数一起正常工作?

问题描述

我正在尝试在Visual Studio代码上运行以下代码

from numba import njit,prange
import numpy as np

@njit(parallel = True)

def parallel_sum(A):
   sum = 0.0
   for j in prange(A.shape[0]):
      sum += A[j]
   return sum

X = np.random.normal(size=(10,3))
F = np.zeros(X.shape[0])
for i in range(X.shape[0]):
    F[i] = parallel_sum(X[i,:])
    print(F[i])

我收到一条错误消息

不可迭代的值prange(A.shape [0])用于迭代上下文中

我知道A.shape [0]返回一个元组值。因此,我尝试了以下代码

    def parallel_sum(A):
       sum = 0.0
       k = int(A.shape[0])
       for j in prange(k):
          sum += A[j]
       return sum 

但是问题仍然存在。 stackoverflow.com where中有一个类似的问题,讨论了一种解决方案。但是,此解决方案也不起作用。我也没有在互联网上找到任何其他资源。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)