bug描述 Describe the Bug
Environment
- PaddlePaddle version: 3.3.0 (just released on PyPI)
- Python version: 3.12
- OS: Ubuntu Linux (x86_64)
- Hardware: CPU with oneDNN (default configuration)
Issue Description
CPU inference using paddle.inference fails with NotImplementedError in PaddlePaddle 3.3.0. This regression breaks inference for models exported from frameworks like Ultralytics YOLO. The issue occurs in the PIR (Paddle Intermediate Representation) to oneDNN conversion layer.
This worked correctly in PaddlePaddle 3.2.x and earlier.
Steps to Reproduce
import paddle.inference as pdi
import numpy as np
# Load exported PaddlePaddle model
model_dir = "yolo11n_paddle_model"
config = pdi.Config(f"{model_dir}/model.pdmodel", f"{model_dir}/model.pdiparams")
predictor = pdi.create_predictor(config)
# Setup input
input_handle = predictor.get_input_handle(predictor.get_input_names()[0])
input_handle.copy_from_cpu(np.random.randn(1, 3, 640, 640).astype(np.float32))
# Run inference - FAILS in 3.3.0
predictor.run()
Error Message
NotImplementedError: (Unimplemented) ConvertPirAttribute2RuntimeAttribute not support [pir::ArrayAttribute<pir::DoubleAttribute>].
[Hint: Expected false, but it was true.] (at /paddle/paddle/fluid/pir/transforms/onednn/onednn_instruction.cc:116)
Expected vs Actual Behavior
- Expected: Inference completes successfully (as in 3.2.x)
- Actual: NotImplementedError raised during predictor.run()
Workaround
Downgrade to PaddlePaddle 3.2.2:
pip install paddlepaddle==3.2.2
Impact
This is a breaking change affecting:
- All CPU inference using oneDNN (default on Linux)
- Ultralytics YOLO PaddlePaddle export users
- Any application using paddle.inference on CPU
### 其他补充信息 Additional Supplementary Information
- Ultralytics CI failure: https://github.com/ultralytics/ultralytics/actions
- Affected code path: onednn_instruction.cc:116
bug描述 Describe the Bug
Environment
Issue Description
CPU inference using
paddle.inferencefails withNotImplementedErrorin PaddlePaddle 3.3.0. This regression breaks inference for models exported from frameworks like Ultralytics YOLO. The issue occurs in the PIR (Paddle Intermediate Representation) to oneDNN conversion layer.This worked correctly in PaddlePaddle 3.2.x and earlier.
Steps to Reproduce