PaddlePaddle / PaddleDetection

Object Detection toolkit based on PaddlePaddle. It supports object detection, instance segmentation, multiple object tracking and real-time multi-person keypoint detection.
Apache License 2.0
12.75k stars 2.88k forks source link

评估时出现错误 #6980

Open rsj123 opened 2 years ago

rsj123 commented 2 years ago

问题确认 Search before asking

Bug组件 Bug Component

Validation

Bug描述 Describe the Bug

Traceback (most recent call last):
  File "/home/aistudio/PaddleDetection/tools/eval.py", line 193, in <module>
    main()
  File "/home/aistudio/PaddleDetection/tools/eval.py", line 189, in main
    run(FLAGS, cfg)
  File "/home/aistudio/PaddleDetection/tools/eval.py", line 154, in run
    trainer.evaluate()
  File "/home/aistudio/PaddleDetection/ppdet/engine/trainer.py", line 621, in evaluate
    self._eval_with_loader(self.loader)
  File "/home/aistudio/PaddleDetection/ppdet/engine/trainer.py", line 595, in _eval_with_loader
    outs = self.model(data)
  File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 930, in __call__
    return self._dygraph_call_func(*inputs, **kwargs)
  File "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py", line 915, in _dygraph_call_func
    outputs = self.forward(*inputs, **kwargs)
  File "/home/aistudio/PaddleDetection/ppdet/modeling/architectures/meta_arch.py", line 75, in forward
    outs.append(self.get_pred())
  File "/home/aistudio/PaddleDetection/ppdet/modeling/architectures/cascade_rcnn.py", line 136, in get_pred
    bbox_pred, bbox_num, mask_pred = self._forward()
  File "/home/aistudio/PaddleDetection/ppdet/modeling/architectures/cascade_rcnn.py", line 112, in _forward
    preds, (refined_rois, rois_num), im_shape, scale_factor)
  File "/home/aistudio/PaddleDetection/ppdet/modeling/post_process.py", line 68, in __call__
    bbox_pred, bbox_num, _ = self.nms(bboxes, score, self.num_classes)
TypeError: 'dict' object is not callable

复现环境 Environment

Bug描述确认 Bug description confirmation

是否愿意提交PR? Are you willing to submit a PR?

rsj123 commented 2 years ago

网络配置:

architecture: CascadeRCNN
pretrain_weights: https://paddledet.bj.bcebos.com/models/pretrained/ResNet50_cos_pretrained.pdparams

CascadeRCNN:
  backbone: ResNet
  neck: FPN
  rpn_head: RPNHead
  bbox_head: CascadeHead
  # post process
  bbox_post_process: BBoxPostProcess

ResNet:
  # index 0 stands for res2
  depth: 50
  norm_type: bn
  freeze_at: 0
  return_idx: [0,1,2,3]
  num_stages: 4

FPN:
  out_channel: 256

RPNHead:
  anchor_generator:
    aspect_ratios: [1.0, 1.4, 1.5]
    anchor_sizes: [[32], [64], [128], [256], [512]]
    strides: [4, 8, 16, 32, 64]
  rpn_target_assign:
    batch_size_per_im: 256
    fg_fraction: 0.5
    negative_overlap: 0.3
    positive_overlap: 0.7
    use_random: True
  train_proposal:
    min_size: 0.0
    nms_thresh: 0.7
    pre_nms_top_n: 2000
    post_nms_top_n: 2000
    topk_after_collect: True
  test_proposal:
    min_size: 0.0
    nms_thresh: 0.7
    pre_nms_top_n: 1000
    post_nms_top_n: 1000

CascadeHead:
  head: CascadeTwoFCHead
  roi_extractor:
    resolution: 7
    sampling_ratio: 0
    aligned: True
  bbox_assigner: BBoxAssigner

BBoxAssigner:
  batch_size_per_im: 512
  bg_thresh: 0.5
  fg_thresh: 0.5
  fg_fraction: 0.25
  cascade_iou: [0.5, 0.6, 0.7]
  use_random: True

CascadeTwoFCHead:
  out_channel: 1024

BBoxPostProcess:
  decode:
    name: RCNNBox
    prior_box_var: [30.0, 30.0, 15.0, 15.0]
  nms:
    score_threshold: 0.001
    keep_top_k: 300
    softnms_sigma: 0.15

评估配置

EvalReader:
  sample_transforms:
  - Decode: {}
  - MultiscaleTestResize: {origin_target_size: [800,2000], target_size: [500, 600, 700, 900, 1000, 1100, 1200, 1300]}
#  - Resize: {interp: 2, target_size: [800, 1333], keep_ratio: True}
  - NormalizeImage: {is_scale: true, mean: [0.485,0.456,0.406], std: [0.229, 0.224,0.225]}
  - Permute: {}
  batch_transforms:
  - PadBatch: {pad_to_stride: 32}
  batch_size: 1
  shuffle: false
  drop_last: false