mindspore.JitConfig

查看源文件
class mindspore.JitConfig(jit_level='O1', exc_mode='auto', jit_syntax_level='', **kwargs)[源代码]

编译时所使用的JitConfig配置项。

警告

这是一个实验性API,后续可能修改或删除。

参数:
  • jit_level (str, 可选) - 用于控制编译优化等级,支持[“O0”, “O1”, “O2”]。默认值: "O1"

    • "O0": 除必要影响功能的优化外,其他优化均关闭。

    • "O1": 使能常用优化,推荐设置O1级别。

    • "O2": 开启一些实验等级的优化。

  • exc_mode (str, 可选) - 用于控制模型的执行方式,目前仅支持 "auto"。默认值: "auto"

    • "auto": 框架自动选择执行方式。

    • "sink": 支持网络整体一次下发加载到device上,后续由输入驱动执行,无需逐个算子遍历下发,以便取得更好的执行性能,该模式仅在昇腾后端支持。

    • "no_sink": 网络模型按照单算子逐个异步下发的方式执行。

  • jit_syntax_level (str, 可选) - 设置JIT语法支持级别,其值必须为 "STRICT", "LAX""" 。 默认是空字符串,表示忽略该项JitConfig配置,将使用ms.context的jit_syntax_level,ms.context请参考 set_context 。 默认值: ""

    • "STRICT": 仅支持基础语法,且执行性能最佳。可用于MindIR导入导出。

    • "LAX": 最大程度地兼容Python所有语法。执行性能可能会受影响,不是最佳。由于存在可能无法导出的语法,不能用于MindIR导入导出。

  • kwargs (dict) - 关键字参数字典。

样例:

>>> from mindspore import JitConfig
>>>
>>> jitconfig = JitConfig(jit_level="O1")
>>>
>>> # Define the network structure of LeNet5. Refer to
>>> # https://gitee.com/mindspore/docs/blob/r2.2/docs/mindspore/code/lenet.py
>>> net = LeNet5()
>>>
>>> net.set_jit_config(jitconfig)