使用paddlepaddle 训练,部署和推理,在最后一步的时候出错。
代码在这里,点进去可以运行查看过程
麻烦帮我看看,哪里出了问题。
代码:
import numpy as np
from PIL import Image
import paddle.inference as paddle_infer
# 加载模型配置和参数
model_dir = 'PaddleDetection/model_output/ppyoloe_plus_crn_s_80e_coco_distill_work'
model_config = f'{model_dir}/model.pdmodel'
model_params = f'{model_dir}/model.pdiparams'
# 创建 config
config = paddle_infer.Config(model_config, model_params)
# 根据 config 创建 predictor
predictor = paddle_infer.create_predictor(config)
# 准备输入图像
image_path = "I:/work_images/images/0000.jpg"
img = Image.open(image_path)
img_np = np.array(img)
img_np = img_np.transpose((2, 0, 1)) # 转换为 CHW 格式
img_np = np.expand_dims(img_np, axis=0) # 0 是第1位 在第一位增加一个维度
img_np = img_np.astype(np.float32)
# 获取输入和输出句柄
input_names = predictor.get_input_names()
input_handle = predictor.get_input_handle(input_names[0])
input_handle.copy_from_cpu(img_np.copy())
predictor.run()
output_names = predictor.get_output_names()
output_handle = predictor.get_output_handle(output_names[1])
output = output_handle.copy_to_cpu()
print(output)
错误提示:
ValueError: (InvalidArgument) The 2-th dimension of input[0] and input[1] is expected to be equal.But received input[0]'s shape = [1, 512, 94, 54], input[1]'s shape = [1, 256, 93, 53].
[Hint: Expected inputs_dims[0][j] == inputs_dims[i][j], but received inputs_dims[0][j]:94 != inputs_dims[i][j]:93.] (at ..\paddle/phi/kernels/funcs/concat_funcs.h:83)
[operator < concat > error]