问题标签 [numba]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1734 浏览

python - python函数的显式签名,参数包括二维numpy数组

我想使用@jit@autojit加速我的 python 代码,在这里解释:http: //nbviewer.ipython.org/gist/harrism/f5707335f40af9463c43

然而,该页面上的示例是针对纯 python 函数的,而我的函数在一个类中,并且基于更多的搜索,看来为了使用类函数,我必须提供函数的显式签名。

我以前没有使用过签名,但我现在了解如何将它们用于具有简单参数的函数。但是我陷入了如何为二维数组等复杂参数编写它们的问题上。

下面是我需要明确签名的函数。我真的不知道该写什么@void...

编辑

鉴于我的参数类型,我试过这个:

但出现以下错误:

编辑 2

我已将课程的开头更改为 add (object),所以现在看起来像这样:

但现在我收到了这个错误:

object 我不认为我有缩进错误......在添加到类之前,我对这个完全相同的代码没有任何问题。

0 投票
1 回答
416 浏览

python - 加速 Tornado 模板中的循环

是否可以使用 Cython、PyPy 或 Numba 加速模板中的循环?

我的意图是尝试循环是否可以更快地进行模板渲染。

Numba 中的一些东西可以尝试一下

如果尝试将模板作为函数传递,则会失败。

_compile_and_call assert not kws AssertionError 中的文件“C:\Python27\lib\site-packages\numba\dispatcher.py”,第 123 行;当我将模板调用为函数时抛出错误

0 投票
1 回答
348 浏览

python - 修复错误:jit 装饰器只接受一个参数,给定 4

我有以下类定义:

然后,在另一个文件中,我这样做:

但后来我得到这个错误:

我发现装饰器很混乱,直到这个错误我才意识到实现也jit使用了装饰器!或者至少我猜是这样。

0 投票
2 回答
2049 浏览

python - 从 Numba 检索生成的 LLVM

使用 Numba 编译 Python 函数后,例如:

如何检索已编译函数的生成 LLVM 代码(作为字符串)?

看起来这在 Numba 的先前版本中可以通过编译函数的 lfunc 属性使用,但这不起作用。

类似的功能似乎也以转储生成的 LLVM 程序集的形式存在(在编译期间)。然而,这似乎也不再起作用了——除非我做错了什么。无论如何,必须运行终端命令并不理想,因为我真的很喜欢 Python 中的代码,尽管我知道我可以使用子进程来做到这一点。

这是为了尝试在运行时创建 Python 代码的可移植版本,该版本将被翻译;我欢迎任何与此相关的建议。

谢谢

0 投票
1 回答
2422 浏览

python - 用 numba 计算内积的正确方法

我正在尝试计算两个大矩阵的内积。numpy尝试计算点积时似乎会创建矩阵副本,这会导致我出现一些内存问题。谷歌搜索后,我发现numba包裹很有希望。但是我不能让它正常工作。这是我的代码:

具有以下运行时间:

谁能告诉我我在这里缺少什么?

0 投票
1 回答
5267 浏览

python - 每当我尝试在我的类方法上使用 @jit 时,我都会收到 IndentationError: unexpected indent

我已经尝试了几天来@jit加快我的代码速度。最后我遇到了这个,描述添加@jit到对象方法: http ://williamjshipman.wordpress.com/2013/12/24/learning-python-eight-ways-to-filter-an-image

我有一个名为的类GentleBoostC,我想加快其中名为train. train接受三个参数(一个二维数组、一个一维数组和一个整数),并且不返回任何内容。

这就是我在代码中的内容:

但我不断收到缩进错误,指向定义 train 函数的行。我的缩进没有任何问题。我重新缩进了我的整个代码。如果我用 注释掉该行@jit,那么就没有问题。

这是确切的错误:

0 投票
1 回答
49 浏览

python - 将压缩迭代器分离成单个迭代器?

我的代码有两个 2D numpy 数组,zweights. 我正在像这样迭代它们(同时转置它们):

这很好,直到我开始使用 Numba 来加速我的代码。使用 Numba,我收到此错误:

为了解决这个问题,我想我可以简单地这样做:

但是我还不太擅长python,所以我只想知道这是否是最好的方法?或者如果有另一种更优化的方式?

0 投票
1 回答
770 浏览

python - Cannot coerce to or from object in nopython context: Error after python

Following up from here, Numba is finally working (after weeks) on my machine, without any weird indentation errors.

I've implemented it as in the solution to the linked question.

However, I now get this string of errors from Numba, the last line being that it can't coerce to or from object in nopython context:

What does this mean? I hope it doesn't mean I can't use objects!

Edit

I've edited all relevant code so that I'm no longer passing any objects around, and the definition now looks like this:

But I'm still getting that error, except now it's not Error:133:22, but:

0 投票
2 回答
87 浏览

python - TypeError:数组在赋值中必须具有一致的类型

这里跟进,我有如下代码:

现在我收到以下错误:

@jit在尝试添加以加速我的代码之前,我实际上对此没有任何问题。

0 投票
1 回答
839 浏览

python - NotImplementedError(dtype) 使用 numba 类方法

我正在使用 numpy 1.8.x 和 numba。我有一个名为 的函数train,它具有以下定义:

它返回一个 3D numpy 数组。

然后我有一个类,它调用这个函数,如下所示:

然后我实例化这个类并用它来训练一个对象。

但后来我得到这个错误:

这里出了什么问题?

编辑

查看文档,它说:

异常 NotImplementedError

此异常源自RuntimeError. 在用户定义的基类中,抽象方法在需要派生类覆盖方法时应该引发此异常。

这将如何转化为我的情况?

编辑

有关我如何调用 train 函数的更多详细信息: