小编Nin*_*n17的帖子

使用 numba 迭代多个 2d numpy 数组的最快方法

当使用 numba 并访问多个 2d numpy 数组中的元素时,使用索引还是直接迭代数组更好,因为我发现两者的组合是最快的,这对我来说似乎违反直觉?或者还有其他更好的方法吗?

\n

对于上下文,我试图加快本文中光线追踪方法的实现https://iopscience.iop.org/article/10.1088/1361-6560/ac1f38/pdf

\n

我有一个函数,它获取传播前的强度和传播产生的位移图。所得强度则为由位移图逐像素位移的原始强度,其中子像素位移在各个相邻像素之间按比例共享。顺便说一句,这可以直接在 numpy 或另一个库中实现吗,因为我注意到它类似于 opencv 的重映射函数。

\n
import numpy as np\nfrom numba import njit\n\n@njit\ndef raytrace_range(intensity_0, d_y, d_x):\n    """\n\n    Args:\n\n        intensity_0 (2d numpy array): intensity before propagation\n        d_y (2d numpy array): Displacement along y in pixels\n        d_x (2d numpy array): Displacement along x in pixels\n\n    Returns:\n        intensity_z (2d numpy array): intensity after propagation \n\n    """\n    n_y, n_x = intensity_0.shape\n    intensity_z = np.zeros((n_y, n_x), dtype=np.float64)\n    for i in range(n_x):\n        for j in …
Run Code Online (Sandbox Code Playgroud)

python opencv numpy numba

7
推荐指数
1
解决办法
1672
查看次数

标签 统计

numba ×1

numpy ×1

opencv ×1

python ×1