问题标签 [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.
python - 为 python 安装 numba
我正在尝试为 python 安装numba,但是在按照主页的说明进行操作后,我收到了无法找到 extension_types 页面的错误。
如果有人知道我做错了什么或者我错过了应该安装的东西,我将不胜感激。
非常感谢您提前。
编辑:我通过以下方式安装了 numba:
当我尝试通过 pip 安装它时,出现以下错误:
python - 用于矢量化函数的 Python 和 Numba
美好的一天,我正在为一些数字工作编写一个 Python 模块。由于发生了很多事情,我最近几天一直在优化代码以缩短计算时间。但是,我有一个关于 Numba 的问题。基本上,我有一个包含一些字段的类,这些字段是 numpy 数组,我通过以下方式对其进行初始化:
因此,代码是矢量化的,并且使用 Numba 的 JIT 会带来一些改进。但是,有时我需要从类外部访问 calculate_vibr_energy 函数,并传递一个整数而不是数组来代替 i。据我了解,如果我在 calculate_vibr_energy 上使用 Numba 的 JIT,它必须始终将数组作为参数。
那么,以下哪个选项更好: 1) 创建一个新函数 calculate_vibr_energy_single(i),它只接受一个整数,并在其上使用 Numba 2) 替换与此类似的函数的所有用法:
有了这个:
还是有其他更有效(或至少更 Python-ic)的方法来做到这一点?
python - Anaconda 的 NumbaPro CUDA 断言错误
我正在尝试使用 NumbaPro 的 cuda 扩展来乘以大型数组矩阵。我最终想要的是将大小为 NxN 的矩阵乘以一个对角矩阵,该对角矩阵将作为一维矩阵输入(因此,a.dot(numpy.diagflat(b)) 我发现它是 a 的同义词* b)。但是,我收到一个不提供任何信息的断言错误。
如果我将两个一维数组矩阵相乘,我只能避免这个断言错误,但这不是我想要做的。
这是我的终端吐出的内容:
python-3.3 - Python 3.3 64 的 Numba 崩溃
我正在尝试复制此博客文章中的示例:
http://jakevdp.github.io/blog/2013/06/15/numba-vs-cython-take-2/
在我实现 Numba 后,我得到以下回溯:
我对python很陌生,所以我自己无法处理。在第一次运行中,我使用的是 scipy 包 + numba 和从此处下载的依赖项:http : //www.lfd.uci.edu/~gohlke/pythonlibs/,在 winpython 上尝试了相同的操作(完全重新安装了 python),结果仍然相同. Python版本是3.3 64
makefile - Numba 安装和“make check-all”
我一直在尝试在虚拟环境中安装 numba。Numba 需要 llvm 以及似乎是 llvmpy 的 Python 包装器。我使用以下步骤成功安装了它:
但是,我想知道正确的程序是什么。例如,在 and 行REQUIRES_RTTI=1 make
中sudo REQUIRES_RTTI=1 make install
,变量 REQUIRES_RTTI 被重复。有必要吗?
根据 numba 的文档,它建议执行REQUIRES_RTTI=1 make install
和 llvmpy 建议REQUIRES_RTTI=1 make
,所以略有不同。我真的不知道每个步骤在做什么,所以我希望能对正在发生的事情进行一般性解释,以及所有这些步骤是否都是绝对必要的。
此外,什么是make check-all
?我已经看到它在与 llvm 相关的问题中特别相关,但我不知道它的目的是什么。
llvmpy 文档中的另一个建议是使用不同的目录(--prefix)进行安装。为什么这是推荐的方法?
非常感谢
python - 无法导入 numba
好的,我正在使用 python 3.3。我安装了 numpy、llvm、llvmpy、llpyhton、llvm_array、llvm_cbuilder 和 llvmath。我也安装了numba。
但是,尝试通过 导入时import numba
,会出现以下错误。我不知道可能缺少什么:
有任何想法吗?
python - 分配给数组时Numba慢吗?
Numba 似乎是加速数字代码执行的绝佳解决方案。但是,当对数组进行赋值时,Numba 似乎比标准 Python 代码慢。考虑这个例子,比较四个替代方案,有/没有 Numba,写入一个数组/标量:
(计算故意保持非常简单,以关注问题,即分配给标量与分配给数组单元)
使用 IPython 的 %timeit 来评估我得到的四个备选方案:
未使用Numba编译的 sum_arr 比使用 Numba 编译的 fast_sum_arr 快两倍以上。另一方面,使用 Numba编译的 fast_sum_sclr 比未使用 Numba 编译的 sum_sclr 快两个数量级以上。
所以 Numba 在加速 sum_sclr 的任务上表现得非常好,但实际上使 sum_arr 执行得更慢。sum_sclr 和 sum_arr 之间的唯一区别是前者分配给标量,而后者分配给数组单元。
我不知道是否有任何关系,但我最近在博客http://www.phi-node.com/上阅读了以下内容:
“事实证明,当 Numba 遇到任何它不直接支持的构造时,它会切换到(非常)慢的代码路径。”
博客作者使用 if 语句而不是 Python 的 max() 让 Numba 执行得更快。
对此有何见解?
谢谢,
FS
python - 使用python模块numba时出错
我已经安装了LLVM 3.2和numba的所有依赖项(Meta 除外):
- LLVM 3.1 或 3.2
- llvmpy(来自 llvmpy/llvmpy fork)
- llvm数学
- numpy(1.6 或更高版本)
- Meta(来自 numba/Meta fork(可选))
- Cython(仅构建依赖项)
- 鼻子(用于单元测试)
- argparse(用于 pycc)
我根据此页面https://github.com/llvmpy/llvmpy上的说明安装了 LLVM 3.2 和 llvmpy 。所有其他 python 模块都是使用pip安装的:
接下来,我尝试了此页面上的 numba 示例:http: //jakevdp.github.io/blog/2012/08/24/numba-vs-cython/。我将两者都存储pairwise_python
在pairwise_numba
一个名为performance.py
. 然后当我跑
在 IPython 中,我收到以下错误:
而且我无法使用pairwise_python 或pairwise_numba。我怎样才能让它工作?
系统信息
- Linux Mint 13 KDE,64 位
- 默认 gcc 编译器版本:4.8
- Python 2.7.3(使用 gcc 4.6.3 编译)
- LLVM 3.2(使用 gcc 4.8 编译)
- llvmpy 0.11.2
- llvmth 0.1.1
- numpy 1.7.1
- 赛通 0.19.1
- 鼻子 1.3.0
- 参数解析 1.2.1
python - 尝试 numba 的巨大错误
我在使用 numba 时遇到了大量错误。具有讽刺意味的是,正确的结果是在错误之后打印出来的。我正在使用最新的 Anaconda python 并安装了 numba
conda install numba
一次在 Ubuntu 13、64 位和 anaconda 64 位上,在 Windows 64 位上使用 32 位版本的 anaconda。
我要执行的脚本是:
我得到的错误是:
如您所见,最后会显示正确的结果。
有人知道这是什么原因吗?
谢谢!约翰富兰克林爵士