标记 enable/disable numba JIT 编译?

Flag to enable/disable numba JIT compilation?

有谁知道是否有办法(在代码中)disable/enable numba JIT 标签用于调试目的?

目前,我正在使用 select 将它们全部注释掉并替换为我的 IDE 但是,必须有一种自动执行此操作的方法。

我已经尝试过为 nopython 使用标志,例如:

USE_NOPYTHON = False

@numba.jit(nopython=USE_NOPYTHON)
...

这不会禁用 jit...

目前正在手动执行此操作:

@numba.jit(nopython=True)
def foo():
    ...

# -->

# @numba.jit(nopython=True)
def foo():
    ...

但是,如果这样的事情是可能的(当然没有丑陋的 IF 语句),我会很高兴:

USE_JIT = False

if USE_JIT:
    @numba.jit(nopython=True)
    def foo():
        ...
else:
    def foo():
        ...

找到我的答案:

  1. pip 安装 pyyaml

  2. 您需要在通常调用脚本的目录中创建一个名为“.numba_config.yaml”的文件。

  3. 在 yaml 文件中,将键 "DISABLE_JIT" 设为您想要的值 (true/false)。

您可以使用许多其他标志,这里是我的参考:https://numba.pydata.org/numba-doc/dev/reference/envvars.html#environment-variables

注意:当您的 .yaml 文件被称为“.numba_config.yaml”时,如果您要离开参考文献 link.