如何解决我在这里用 Numba 做错了什么?
我正在尝试学习如何使用 Numba 模块。到目前为止,由于与 NumPy 接口的一些问题,我还没有任何工作。这是我正在运行的代码(来自 Numba 文档)和我得到的错误:
from numba import jit
import numpy as np
x = np.arange(100).reshape(10,10)
@jit(nopython=True) # Set "nopython" mode for best performance,equivalent to @njit
def go_fast(a): # Function is compiled to machine code when called the first time
trace = 0.0
for i in range(a.shape[0]): # Numba likes loops
trace += np.tanh(a[i,i]) # Numba likes NumPy functions
return a + trace # Numba likes NumPy broadcasting
print(go_fast(x))
Traceback (most recent call last):
File "C:/Users/JoHn/Documents/Current Classes/MEEN575_Optimization/HW6/Optimal_controller/angle_wrapping.py",line 84,in <module>
print(go_fast(x))
TypeError: expected dtype object,got 'numpy.dtype[float64]'
我从一些搜索中了解到,这在最近是一个已知错误,并且与 Numba 的新版本有关,需要较新的 NumPy 版本或类似的版本,但据我所知,我有最新的NumPy 构建,版本 1.20。关于我做错了什么的任何提示?需要明确的是,我从来没有很好地理解如何在 python 中干净地设置环境,所以很可能我只是在这里遗漏了一些明显的东西。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。