Skip to content

[RyzenAI 1.6][Windows] quicktest.py passes but YOLOv8 object_detection sample fails with "cannot find producer" error #305

@keabcya

Description

@keabcya

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

  1. 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.

  1. 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

  1. Is this a known issue with run_inference.py and YOLOv8 BF16 models on RyzenAI 1.6 (Windows)?

  2. 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?

  3. 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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions