Skip to content

Conversation

@fangfangssj
Copy link
Contributor

PR Category

Bug Fix

Description

运行extractor的时候,可能会因为dynamo的原因(dynamo遇到了不支持的算子,模型包含复杂的控制流,模型的输出包含标量等),捕捉到的整张图被打断,分成了很多很多的子图。
在extractor的时候,log信息多次打印出successfully的时,代表着extractor被拆分成了对应的子图,这时候,只保存了最后一个子图在文件里。
在validate的时候,也会导致对应的报错,甚至还会因为第一次被打断的地方比较靠前,导致只有打断前的一小部分用来计算hash值,导致hash值重复。

本PR增加了torch.dynamo config的来避免模型的输出包含标量时,图被打断。

Testing model: yolov8n on cuda:0
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
Graph and tensors for 'yolov8n' extracted successfully to: /root/graphnet_workspace/yolov8n
[OK] yolov8n
Check extractability ...
model_path='/root/graphnet_workspace/yolov8n/'
tensor(201762, device='cuda:0') tensor(14720, device='cuda:0')
torch.Size([1, 84, 8400])
model_path='/root/graphnet_workspace/yolov8n/'
Graph and tensors for 'temp' extracted successfully to: /tmp/tmp8k5ab9ef/temp
Graph and tensors for 'temp' extracted successfully to: /tmp/tmp8k5ab9ef/temp
Graph and tensors for 'temp' extracted successfully to: /tmp/tmp8k5ab9ef/temp
Graph and tensors for 'temp' extracted successfully to: /tmp/tmp8k5ab9ef/temp
tensor(526962, device='cuda:0') tensor(239, device='cuda:0')
torch.Size([1, 84, 8400])
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/root/GraphNet/graph_net/torch/single_device_runner.py", line 103, in <module>
    main(args=args)
  File "/root/GraphNet/graph_net/torch/single_device_runner.py", line 51, in main
    with _dump_graph_hash_key_ctx(args) as dump_graph_options:
  File "/root/miniconda3/lib/python3.12/contextlib.py", line 144, in __exit__
    next(self.gen)
  File "/root/GraphNet/graph_net/torch/single_device_runner.py", line 46, in _dump_graph_hash_key_ctx
    assert len(mut_graph_codes) == 1, f"{len(mut_graph_codes)=}"
           ^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: len(mut_graph_codes)=4

@paddle-bot
Copy link

paddle-bot bot commented Aug 7, 2025

Thanks for your contribution!

@paddle-bot paddle-bot bot added the contributor External developers label Aug 7, 2025
@lixinqi lixinqi merged commit 2b241f0 into PaddlePaddle:develop Aug 7, 2025
3 checks passed
JewelRoam pushed a commit to JewelRoam/GraphNet that referenced this pull request Oct 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor External developers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants