问题标签 [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 投票
2 回答
2869 浏览

python-3.x - Numba:如何抑制

我不断在我的 numba 代码中收到此错误:

我的 numba 代码如下。如何抑制错误消息?

0 投票
0 回答
62 浏览

python - 防止 Numba 将 @autojit 函数打印到标准输出?

我有一个五个嵌套的 for 循环函数(通过 3d 过滤器对图像进行卷积),我迫切需要加速并非常高兴地使用了 numba 的 @autojit 装饰器。我唯一的抱怨是,当第一次调用该函数时,numba 会执行它的 autojit,但会将我认为是 jitted 函数的内部表示打印到标准输出,这可能需要几秒钟才能滚动,即像这样的东西:

有谁知道如何禁用它?它工作正常,速度很快,并且不会抛出错误,但有点烦人。

0 投票
2 回答
1898 浏览

python - AttributeError:“str”对象在 Numba @autojit 函数中没有属性“_ptr”

我正在尝试开始使用 Numba,安装它后,我的第一次体验是使用以下代码:

我收到以下错误,它告诉我 autojit 误解了变量类型,但没有告诉我更多信息。(包装函数的其他方式也会发生同样的情况,@jit(...)例如。)问题与this类似,但不是特定于操作的:无论函数在做什么或它有多简单(如示例所示),它都会发生)。关于问题可能是什么的任何建议?在 Ubuntu 12.04 上运行并根据Github上的说明安装。

编辑:作为对@JoshAdel 的回应,我在 Github 页面上使用了“自定义 Python 环境”的说明,我的LLVM_BUILD_DIR=/opt/. 从 repo 中的 CHANGE_LOG 中,我将安装的版本设为 0.11。如果我运行您提供的示例,我会得到

对哪个

如果我删除@autojit它就可以了。它抛出一个SyntaxErrorwith @autojitinvoked 肯定是一个线索,但我对此很陌生,我不能说什么......

另外,如果它很重要,我会在 IPython Notebook 中运行它,以便在启动时自动加载 numpy、scipy 和 matplotlib。

0 投票
1 回答
3153 浏览

python - Numba Prange 示例不起作用

我正在从这里测试 prange 示例:

http://numba.pydata.org/numba-doc/0.11/prange.html

我有 numba 版本 0.11.1

不幸的是,它给了我这个错误:

这是我正在使用的代码:

0 投票
1 回答
293 浏览

python - 我可以在单元测试的设置阶段编译 numba 吗?

我使用 numba 使用 autojit 装饰器来加速我的部分 Python 代码。测试通过并且 %timeit 表明代码确实被加速了。

第一次执行很慢,因为我认为 numba 正在编译代码。说得通。但是当我运行一组测试时,它们运行得非常慢,从我更改前大约 10 秒内的 10 次测试到 117 秒内的相同测试。似乎 numba 必须一次又一次地为每个测试单独编译。

我可以避免这种情况吗?我尝试在setUp函数中运行一个简单的测试,认为可能会为所有测试编译一次函数,但这并没有显着改变运行时间。

0 投票
1 回答
809 浏览

python - 尝试实例化 NumPy RandomState 时出现 Numba 错误

我有一门课,我想用 Numba 加快速度。该类通过简单地创建具有特定种子的 NumPy 的 RandomState 实例来为每个实例使用“随机数生成器”(因此我可以稍后复制我的工作)。当我使用 Numba 的 autojit 时,我得到一个奇怪的错误,它不会出现在“常规”Python 中。

幸运的是,这种行为非常容易复制。这是一个说明错误的简单示例:

我在 Ubuntu 13.10 上使用 Anaconda 发行版。

有什么想法吗?

编辑:我找到了一种解决方法,即简单地使用 Python 的标准“random.Random”而不是 NumPys 的“numpy.random.RandomState”

例子:

这适用于我的直接应用程序(尽管其他问题立即出现,万岁)。

但是,此修复不适用于我知道我需要使用 numpy.random.RandomState 的未来算法。所以我的问题仍然存在——是否有人对在 Numba 中使用 numy.random.RandomState 的原始错误和/或解决方法有任何见解?

0 投票
1 回答
248 浏览

python - 尝试 numba 的包装器

我编写了这个包装器以根据可用性(“可以numba导入吗?”)和用户设置(“是否numba_enabled()返回 True?”)来使用 numba。

这对于测试特别有用,我想在有和没有 numba 的情况下运行测试。

问题:包装器导致原本可以抛出此错误的函数:

如果我设置try_numba_autojit = numba.autojit,覆盖包装器,则没有错误。我的结论是 *args 可能正在做一些 numba 不喜欢的事情。

在 pdb 中,我尝试手动解压缩 args:

这给出了同样的错误。

是否有推荐的定义一个函数try_numba_autojit来避免让 numba 不安?

0 投票
1 回答
4761 浏览

python - Numba 矩阵向量乘法

我正在尝试使用 numbapro 在下面编写一个简单的矩阵向量乘法:

但我收到以下错误:

numbapro.cudadrv.error.CudaDriverError: CUDA_ERROR_LAUNCH_FAILED 无法复制内存 D->H

我不明白为什么托管副本的设备失败了。请帮忙

0 投票
2 回答
11766 浏览

python - Numba 代码比纯 python 慢

我一直在努力加快粒子滤波器的重采样计算。由于 python 有很多方法可以加快速度,所以我会尝试所有方法。不幸的是,numba 版本非常慢。由于 Numba 应该会导致加速,我认为这是我的错误。

我尝试了 4 个不同的版本:

  1. 努巴
  2. Python
  3. 麻木的
  4. 赛通

每个代码如下:

这将产生以下输出:

知道为什么 numba 代码这么慢吗?我认为它至少可以与 Numpy 相媲美。

注意:如果有人对如何加速 Numpy 或 Cython 代码示例有任何想法,那也很好:) 我的主要问题是关于 Numba。

0 投票
1 回答
351 浏览

python - 在 Python/Numba 中访问数组会产生奇怪的结果

我正在尝试将 numpy 与 numba 一起使用,但是在尝试使用转换为 int 的浮点索引访问或设置一些值到浮点数组时,我得到了奇怪的结果。检查这个基本功能。

结果:

为什么我的表中得到 1.875 而不是 1.0?这是一个基本示例,但我正在使用大数组,它给了我很多错误。我知道我可以将索引转换为np.int32并将@numba.jit("void(f8[:,::1],f8[:,::1])")更改为@numba.jit("void(f8 [:,::1],i4[:,::1])")并且工作正常,但我想你明白为什么这不起作用。将类型从 python 解析为 c++ 时是否有问题?

谢谢你的帮助