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

Missing `init_anno_cropper` method in `COCODataSet` class #7097

Open derrkater opened 2 years ago

derrkater commented 2 years ago

问题确认 Search before asking

Bug组件 Bug Component

Training

Bug描述 Describe the Bug

I'm trying default training command for picodet model with a custom coco-format data. It doesn't let me run my data in COCODataSet object:

Traceback (most recent call last): File "tools/train.py", line 172, in <module> main() File "tools/train.py", line 168, in main run(FLAGS, cfg) File "tools/train.py", line 123, in run trainer = Trainer(cfg, mode='train') File "/home/PaddleDetection/ppdet/engine/trainer.py", line 191, in __init__ self._init_callbacks() File "/home/PaddleDetection/ppdet/engine/trainer.py", line 203, in _init_callbacks self._callbacks.append(SniperProposalsGenerator(self)) File "/home/PaddleDetection/ppdet/engine/callbacks.py", line 441, in __init__ self.dataset = self._create_new_dataset(ori_dataset) File "/home/PaddleDetection/ppdet/engine/callbacks.py", line 449, in _create_new_dataset dataset.init_anno_cropper() AttributeError: 'COCODataSet' object has no attribute 'init_anno_cropper'

复现环境 Environment

Docker image: registry.baidubce.com/paddlepaddle/paddle:2.3.2-gpu-cuda11.2-cudnn8 local cuda 11.4

Bug描述确认 Bug description confirmation

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

jerrywgz commented 2 years ago

The log shows that you used save_proposals in your config file, you could just modify the dataset config part based on https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.5/configs/picodet/picodet_l_320_coco_lcnet.yml

derrkater commented 2 years ago

@jerrywgz I've just modified config and used SniperCOCODataSet class to load the data but I'd think that proper behavior would be for COCODataSet to also work. Is it intended that it is missing the aforementioned method - init_anno_cropper?