PaddleDetection icon indicating copy to clipboard operation
PaddleDetection copied to clipboard

KeyError: 'x2paddle_images'

Open EveningLin opened this issue 2 years ago • 4 comments

问题确认 Search before asking

  • [X] 我已经搜索过问题,但是没有找到解答。I have searched the question and found no related answer.

请提出你的问题 Please ask your question

使用yolov5 转化为paddle格式进行推理使用的yml文件直接参考ppyoloe_crn_l_300e_coco,这个感觉是个bug 报错内容是KeyError: 'x2paddle_images' 我猜想应该是进入第一个?但是实际上进入了第二个 ` if input_names[i] == 'x': input_tensor.copy_from_cpu(inputs['image']) else:

            input_tensor.copy_from_cpu(inputs[input_names[i]])`

配置文件是: `mode: paddle draw_threshold: 0.5 metric: VOC use_dynamic_shape: false arch: YOLO min_subgraph_size: 3 Preprocess:

  • interp: 2 keep_ratio: false target_size:
    • 640
    • 640 type: Resize
  • is_scale: true mean:
    • 0.485
    • 0.456
    • 0.406 std:
    • 0.229
    • 0.224
    • 0.225 type: NormalizeImage
  • type: Permute label_list:
  • serial_num ` 为了便于你们复现错误,我把onnx文件也提供给你们 链接:https://pan.baidu.com/s/1Tjmz0aKwh7e4s4XNchocYg?pwd=vzzo 提取码:vzzo --来自百度网盘超级会员V1的分享

EveningLin avatar Mar 22 '23 17:03 EveningLin

运行的是哪一个命令啊?可以发下代码看下

wangxinxin08 avatar Mar 23 '23 05:03 wangxinxin08

参考你们这条命令 python deploy/python/infer.py --model_dir=./output_inference/yolov3_darknet53_270e_coco --image_file=./demo/000000014439.jpg --device=GPU 写了一条命令

EveningLin avatar Mar 23 '23 06:03 EveningLin

报错的意思应该是说inputs里面没有 'x2paddle_images'这个字段,inputs中包含的字段为'images', 'scale_fcator', 'im_shape'这三个,我看你的onnx model里面只有images一个输入,但是转换成的paddle格式中却包含x2paddle_images这个名字的输入,你可以用netron可视化一下model.pdmodel看一下转换成的paddle模型中输入的名字

wangxinxin08 avatar Mar 23 '23 06:03 wangxinxin08

报错的意思应该是说inputs里面没有 'x2paddle_images'这个字段,inputs中包含的字段为'images', 'scale_fcator', 'im_shape'这三个,我看你的onnx model里面只有images一个输入,但是转换成的paddle格式中却包含x2paddle_images这个名字的输入,你可以用netron可视化一下model.pdmodel看一下转换成的paddle模型中输入的名字 我也是先把yolov8的模型转化为onnx格式,然后用x2paddle将模型转化为paddle格式,也出现了KeyError: 'x2paddle_images'这个错误 import paddle from paddle.inference import Config, create_predictor

config = Config("weights/yolov8/model.pdmodel", "weights/yolov8/model.pdiparams") predictor = create_predictor(config) input_names = predictor.get_input_names() print("Model Input Names:", input_names) 这是我用来测试模型的,其结果为Model Input Names: ['x2paddle_images'],但是正常的检测模型输出的结果为Model Input Names: ['image', 'scale_factor']

cskkx1 avatar Mar 05 '25 07:03 cskkx1