mindspore.graph.register_custom_pass

查看源文件
mindspore.graph.register_custom_pass(pass_name, plugin_so_path, device='all', pass_type=CustomPassType.PATTERN)[源代码]

注册自定义pass,使用pass对图结构进行修改,仅对默认的 "ms_backend" 后端生效。

说明

暂不支持Windows和MacOS系统。

警告

实验性接口,未来可能变更或移除。

参数:
  • pass_name (str) - 自定义pass名称。

  • plugin_so_path (str) - 自定义pass插件的绝对路径,以 .so 结尾。

  • device (str,可选) - pass生效的硬件设备,支持的值: "cpu""gpu""ascend""all" 。默认值:"all"

  • pass_type (CustomPassType, 可选) - 自定义pass类型。默认值: CustomPassType.PATTERN 。 可以是 CustomPassType.PATTERNCustomPassType.FULL_GRAPH

    • CustomPassType.PATTERN:根据用户想要匹配的图结构修改图结构,如 Add 算子和 Neg 算子替换为一个 Sub 算子,应用于后端优化流程。

    • CustomPassType.FULL_GRAPH:基于整图信息修改图结构,应用于前端优化流程。

返回:

bool。若自定义pass注册成功则返回 True ,否则返回 False

异常:

样例:

>>> import mindspore.graph as graph
>>> # Register a custom optimization pass
>>> success = graph.register_custom_pass(
...     pass_name="my_fusion_pass",
...     plugin_so_path="/path/to/my_plugin.so",
...     device="ascend"
... )
>>> print(f"Registration successful: {success}")