- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我使用这个函数
import numpy as np
from numba import jit
@jit(nopython=True)
def diss_matrix(data):
n = data.shape[0]
diss = np.empty((n, n))
for i in range(n):
for j in range(i):
dist = np.absolute(data[i] - data[j]).sum()
diss[i, j] = dist
diss[j, i] = dist
return diss
x = np.random.randn(100)
print(diss_matrix(x))
我收到这个错误
numba.errors.UntypedAttributeError: Failed at nopython (nopython frontend)
Unknown attribute 'sum' of type float64
File "test_numba.py", line 11
[1] During: typing of get attribute at
c:/Users/matte/Dropbox/Università/SDS/Thesis/source/test_numba.py (11)
我一直在努力理解这意味着什么。事实是,触发错误的指令如下
dist = np.absolute(data[i] - data[j]).sum()
但我认为问题在于,numba
假设 data[i]
和 data[j]
是 float64
而不是数组。其实就是下面的代码
@jit(nopython=True)
def diss_matrix3():
vec1 = np.array([1, 2, 3])
vec2 = np.array([2, 3, 4])
dist = np.absolute(vec1 - vec2).sum()
return dist
完美运行。
我正在使用 numba 0.35
并且我正在尝试找到一种方法来使该功能正常工作。我知道 scipy.spatial.distance.pdist
的存在,但我需要自己实现。此外,将来可能会出现同样的错误。
有什么建议吗?
最佳答案
如果您查看 np.random.randn(100)
的形状,它是 (100,)
,所以 data[i]
确实是标量,而不是数组。如果您使用 np.random.randn(100,100)
它应该可以工作。看看 docs for randn
有关该功能如何工作的更详细说明。
关于python - np.sum 的 Numba nopython 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46619855/
我正在尝试使用 numba jit 编写我的第一个函数,我有一个 Pandas 数据框,我需要遍历它并找到每 350 个点的均方根,因为 python 的 for 循环非常慢,我决定尝试使用 numb
我想使用 numba 加速我的 python 代码,如下所示: import numpy as np from numba import njit, jit import time @njit def
有没有办法将Numba np.newaxis与nopython一起使用?为了应用广播功能而不回退python? 例如 @jit(nopython=True) def toto(): a = n
我正在尝试写一个TDMA algorithm在 nopython 模式下使用 numba。这是我的代码: @jit(nopython=True) def TDMA(a,b,c,d): n = le
首先在这里使用 Numba。我读到 nopython 模式应该产生更快的代码,但是这个: @jit(float64[:](int64[:], int64, float64), nopython=Tru
我想澄清一下,这是我第一次使用 Numba,所以我离专家还很远。我正在尝试手动实现一个简单的 KNN,代码如下: @jit(nopython=True) def knn(training_set, t
我想使用 nopython 模式在 Numba 中运行递归函数。到目前为止我只收到错误。这是一个非常简单的代码,用户给出一个少于五个元素的元组,然后该函数创建另一个元组,并向该元组添加一个新值(在本例
我正在尝试使用 numba.jit 加速一个简单的 Python 循环。但似乎 jit 无法处理基本的数组索引和切片?我能做些什么来使这成为可能吗?如果 jit 不能处理基本的 numpy 数组,我不
我有一个想要用 numba 编译的函数,但是我需要计算该函数内的阶乘。不幸的是 numba 不支持 math.factorial: import math import numba as nb @nb
我使用的是 pandas 0.16.2、numpy 1.9.2 和 numba 0.20。 有没有办法让 numba 在 nopython 模式下支持字符串数组?或者,我能否以某种方式将字符串转换为
尝试找出如何在使用 jitclass 时跳过类方法。 有一个相当大的递归模型(几乎是一个巨大的 for 循环),在给定路径相关计算的情况下,无法使用直接 Numpy 进行矢量化。 该类运行一系列 nu
我正在 njit 中编写一个函数来加速非常慢的水库操作优化代码。该函数根据水库水位和闸门可用性返回泄漏释放的最大值。我传入一个参数大小,指定要计算的流数(在某些调用中它是一个,在某些调用中它是多个)。
我一直在尝试使用 numba 自动生成/jit 函数。 您可以从一个 jit 函数中调用其他 jit 函数,因此如果您有一组特定的函数,就很容易在我想要的功能中进行硬编码: from numba im
我正在尝试使用 numba 加速代码(目前我正在使用 numba 0.45.1)并遇到 bool 索引问题。代码如下: from numba import njit import numpy as n
是否可以在 @jit(nopython=True) 函数中创建 NPDatetime 对象?据我所知,初始化这些对象需要使用字符串对象,这似乎阻止了 nopython 函数的编译。 最佳答案 您当然可
我在使用 @jit(nopython=True) 解决(可能是基本的)Numba 错误时遇到了问题。它归结为下面的最小示例,它会产生一个 TypingError(下面是完整的日志)。如果相关,我使用的
如果我使用这个函数 import numpy as np from numba import jit @jit(nopython=True) def diss_matrix(data): n
我正在尝试使用 numpy fill 函数来填充 ndarray 中的值。我在使用 Numba 的函数下有这个,但出现属性错误。这是我的代码示例: @jit(nopython=True) def co
我正在将一个(数学复杂/涉及但操作很少)自制经验分布类从 C++/MATLAB(我都有)移植到 Python。 该文件有大约 1100 行代码,包括注释和测试数据,其中包括 if __name__ =
我正在尝试使用 numba 来提高我编写的一些相当慢的代码的速度。大部分时间花在一个函数上。首先我尝试使用 @jit 在我的函数定义之前,这稍微改进了计时。然后,我尝试使用 @jit(nopython
我是一名优秀的程序员,十分优秀!