【TorchAir】遇到ERR03001 GRAPH invalid parameter问题怎么解决?
在测试TorchAir的图结构dump功能的时候,通过其举例的demo,编写脚本,遇到。首先,疑惑的是,如果不配置graph_dump的功能,以下代码是能够跑通的,参考。通过与社区同学沟通,怀疑是TorchAir的版本安装不对。发现是torch和torch_npu安装的就是2.1.0的版本,没问题。应该是dump的配置,存在不能配置的key,而可以选择配置的key是。有种懵懵的感觉,到底前面安装环
背景
在测试昇腾(Ascend)TorchAir的图结构dump功能的时候,通过其举例的demo,编写脚本,遇到ERR03001 GRAPH invalid parameter
。
昇腾社区文档参考如下:https://www.hiascend.com/document/detail/zh/Pytorch/710/modthirdparty/torchairuseguide/torchair_00012.html
完整代码:
# 导包(必须先导torch_npu再导torchair)
import torch
import torch_npu
import torchair
# Patch方式实现集合通信入图(可选)
from torchair import patch_for_hcom
patch_for_hcom()
# 自定义Model
class Model(torch.nn.Module):
def __init__(self):
super().__init__()
def forward(self, x, y):
return torch.add(x, y)
model = Model().npu()
# 配置图模式config
config = torchair.CompilerConfig()
config.debug.graph_dump.type = "pbtxt"
config.debug.graph_dump.path = "./test"
npu_backend = torchair.get_npu_backend(compiler_config=config)
# 基于NPU backend进行compile
opt_model = torch.compile(model, backend=npu_backend)
# 执行编译后的Model
x = torch.randn(2, 2).npu()
y = torch.randn(2, 2).npu()
opt_model(x, y)
报错的信息如下:
Traceback (most recent call last):
File "/usr/local/lib64/python3.11/site-packages/torch_npu/dynamo/torchair/_utils/error_code.py", line 43, in wapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/torch_npu/dynamo/torchair/configs/_option_base.py", line 133, in __setattr__
raise ValueError(self.__class__.__name__ + " has no option " + key + ", all options " +
ValueError: _Dump has no option path, all options ['type', '_path']
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/torchair/test.py", line 21, in <module>
config.debug.graph_dump.path = "./test"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/torch_npu/dynamo/torchair/_utils/error_code.py", line 46, in wapper
raise type(e)("\n".join(msg))
ValueError: _Dump has no option path, all options ['type', '_path']
Traceback (most recent call last):
File "/usr/local/lib64/python3.11/site-packages/torch_npu/dynamo/torchair/_utils/error_code.py", line 43, in wapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib64/python3.11/site-packages/torch_npu/dynamo/torchair/configs/_option_base.py", line 133, in __setattr__
raise ValueError(self.__class__.__name__ + " has no option " + key + ", all options " +
ValueError: _Dump has no option path, all options ['type', '_path']
[ERROR] 2025-08-27-10:28:33 (PID:644285, Device:0, RankID:-1) ERR03001 GRAPH invalid parameter
分析
首先,疑惑的是,如果不配置graph_dump的功能,以下代码是能够跑通的,参考快速上手
完整代码:
# 导包(必须先导torch_npu再导torchair)
import torch
import torch_npu
import torchair
# Patch方式实现集合通信入图(可选)
from torchair import patch_for_hcom
patch_for_hcom()
# 自定义Model
class Model(torch.nn.Module):
def __init__(self):
super().__init__()
def forward(self, x, y):
return torch.add(x, y)
model = Model().npu()
# 配置图模式config
config = torchair.CompilerConfig()
# 配置图执行模式,默认max-autotune,还支持reduce-overhead
# config.mode = "reduce-overhead"
npu_backend = torchair.get_npu_backend(compiler_config=config)
# 基于NPU backend进行compile
opt_model = torch.compile(model, backend=npu_backend)
# 执行编译后的Model
x = torch.randn(2, 2).npu()
y = torch.randn(2, 2).npu()
opt_model(x, y)
为什么配置graph_dump的功能就跑不通了呢,通过报错信息分析:
ValueError: _Dump has no option path, all options ['type', '_path']
应该是dump的配置,存在不能配置的key,而可以选择配置的key是['type', '_path']
,这是有什么配置不对吗?
带着这个疑问,给昇腾社区提了工单。
通过与社区同学沟通,怀疑是TorchAir的版本安装不对。通过自查环境上的版本:
zjun2025/08/27 11:42:34
root@hostname-bnq0f:/home/torchair# pip list | grep torch
mindietorch 2.0rc2+torch2.1.0.abi0
torch 2.1.0
torch-npu 2.1.0.post12
torchvision 0.16.0
发现是torch和torch_npu安装的就是2.1.0的版本,没问题。
问题陷入了停滞。
通过卸载torch和torch_npu并且重新安装,问题解决了。
有种懵懵的感觉,到底前面安装环境的时候,是哪一步错了,毕竟基础用例能跑啊。
更多推荐
所有评论(0)