【问题标题】:Use Python's Numba library to calculate and iterate over the itertools.product of an array使用 Python 的 Numba 库计算和迭代数组的 itertools.product
【发布时间】:2022-11-01 23:30:15
【问题描述】:

我该怎么做呢?我希望能够做到这一点,但 itertools 库不适用于 Numba 的 njit。

我从网上尝试了很多答案,但它们都抛出了我似乎无法弄清楚的错误(我对 Python 比较陌生)。

感谢所有帮助,谢谢! :)

【问题讨论】:

  • 请提供足够的代码,以便其他人可以更好地理解或重现该问题。

标签: python numba cartesian-product


【解决方案1】:

为什么需要将 itertools.product() 与 numba 一起使用? 您没有报告拥有大型数据集,因此似乎不需要加速。

如果您使用 numba njit,通常只使用数字数据,例如numpy 数组或做 for 循环,效果最好。如果您遇到这种情况,请将 itertools 解决方案替换为例如 numpy 解决方案。

但是,由于您使用 itertools 解决方案,我假设您使用带有非数字数据的 python 列表。由于不支持 itertools,您可以自己实现它,例如在 this post 中,但可能不是您想要的。

长话短说:当不一定需要时,不要尝试使用 numba njit 编译 itertools。我怀疑只使用 itertools 是你最好的选择。

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 2016-02-24
    • 2021-05-11
    • 2021-04-15
    • 2021-05-15
    • 2014-11-10
    • 1970-01-01
    • 2013-10-11
    相关资源
    最近更新 更多