-
Notifications
You must be signed in to change notification settings - Fork 110
Description
Hi AMD team,
I’m trying out RyzenAI 1.6 on Windows and I noticed that the built-in quicktest.py passes, but the YOLOv8 object detection tutorial sample fails on NPU with a graph error.
Below are the details.
Environment
[QUARK_INFO]: OS and CPU information:
system --- Windows
node --- DESKTOP-ONMJN7M
release --- 11
version --- 10.0.26100
machine --- AMD64
processor --- AMD64 Family 25 Model 117 Stepping 2, AuthenticAMD
[QUARK_INFO]: Tools version information:
python --- 3.12.11
onnx --- 1.18.0
onnxruntime --- 1.23.0.dev20250928
quark.onnx --- 0.10+db671e3+db671e3
Python: 3.12.11 (in conda/venv yolov8m_env)
RyzenAI SDK: 1.6.0
Other relevant packages (partial pip list):
ryzen-ai-lt 1.6.0
ryzenai_onnx_utils 1.6.0
onnx 1.18.0
onnxruntime-vitisai 1.23.0
ultralytics 8.3.155
torch 2.8.0
torchvision 0.23.0
- quicktest.py works
(yolov8m_env) C:\Users\POC-900\RyzenAI-SW\tutorial\object_detection>cd "C:\Program Files\RyzenAI\1.6.0\quicktest"
(yolov8m_env) C:\Program Files\RyzenAI\1.6.0\quicktest>python quicktest.py
Setting environment for PHX/HPT
WARNING: Logging before InitGoogleLogging() is written to STDERR
I20251126 02:53:34.774220 12624 register_ssmlp.cpp:124] Registering Custom Operator: com.amd:SSMLP
I20251126 02:53:34.774220 12624 register_matmulnbits.cpp:110] Registering Custom Operator: com.amd:MatMulNBits
I20251126 02:53:34.805635 12624 vitisai_compile_model.cpp:1266] Vitis AI EP Load ONNX Model Success
I20251126 02:53:34.805635 12624 vitisai_compile_model.cpp:1267] Graph Input Node Name/Shape (1)
I20251126 02:53:34.805635 12624 vitisai_compile_model.cpp:1271] input : [-1x3x32x32]
I20251126 02:53:34.805635 12624 vitisai_compile_model.cpp:1277] Graph Output Node Name/Shape (1)
I20251126 02:53:34.805635 12624 vitisai_compile_model.cpp:1281] output : [-1x10]
[Vitis AI EP] No. of Operators : NPU 398 VITIS_EP_CPU 2
[Vitis AI EP] No. of Subgraphs : NPU 1 Actually running on NPU 1
Test Passed
So the basic PHX/HPT quick test seems fine.
- YOLOv8 object_detection sample fails
Then I follow the tutorial object detection sample:
(yolov8m_env) C:\Users\POC-900\RyzenAI-SW\tutorial\object_detection>python run_inference.py --model_input models\yolov8m_BF16.onnx --input_image test_image.jpg --output_image test_output.jpg --device npu-bf16
Input model : models\yolov8m_BF16.onnx
Input image : test_image.jpg
Output file : test_output.jpg
Running BF16 on NPU
WARNING: Logging before InitGoogleLogging() is written to STDERR
I20251126 03:17:43.366060 6204 register_ssmlp.cpp:124] Registering Custom Operator: com.amd:SSMLP
I20251126 03:17:43.368171 6204 register_matmulnbits.cpp:110] Registering Custom Operator: com.amd:MatMulNBits
I20251126 03:17:43.573102 6204 vitisai_compile_model.cpp:1266] Vitis AI EP Load ONNX Model Success
I20251126 03:17:43.573102 6204 vitisai_compile_model.cpp:1267] Graph Input Node Name/Shape (1)
I20251126 03:17:43.573748 6204 vitisai_compile_model.cpp:1271] images : [1x3x640x640]
I20251126 03:17:43.573748 6204 vitisai_compile_model.cpp:1277] Graph Output Node Name/Shape (4)
I20251126 03:17:43.573748 6204 vitisai_compile_model.cpp:1281] output0 : [1x84x8400]
I20251126 03:17:43.573748 6204 vitisai_compile_model.cpp:1281] onnx::Reshape_905 : [1x144x80x80]
I20251126 03:17:43.573748 6204 vitisai_compile_model.cpp:1281] onnx::Reshape_924 : [1x144x40x40]
I20251126 03:17:43.573748 6204 vitisai_compile_model.cpp:1281] onnx::Reshape_943 : [1x144x20x20]
[Vitis AI EP] No. of Operators : CPU 923 VAIML 2
[Vitis AI EP] No. of Subgraphs : NPU 1 Actually running on NPU 1
check failure: node != nullptrcannot find producer. onnx_node_arg_name=split_with_sizes_24_split_0
So the ONNX model loads and gets partitioned, but then it fails with:
check failure: node != nullptrcannot find producer. onnx_node_arg_name=split_with_sizes_24_split_0
The same environment passes quicktest.py but the YOLOv8 BF16 object detection sample fails consistently with this error.
Questions
-
Is this a known issue with run_inference.py and YOLOv8 BF16 models on RyzenAI 1.6 (Windows)?
-
Does this error suggest there is something wrong with the generated yolov8m_BF16.onnx graph (e.g., missing producer for split_with_sizes_24_split_0), or is it expected to be handled inside the RyzenAI toolchain?
-
Are there recommended ONNX export settings / opset / ultralytics versions for YOLOv8 models to avoid this “cannot find producer” error?
Thanks in advance for your help!
Best regards,
Kevin Lin