Skip to content

Commit 9c25057

Browse files
Nioolekhanrui1sensetimetriple-MuRunningLeonhhaAndroid
committed
[Fix] concatdatasets for voc train (open-mmlab#228)
* add yolov5 voc training * format code * [Feature] Support VOC Dataset in YOLOv5 (open-mmlab#134) * add yolov5 voc training * fix mosaic bug * fix mosaic bug and temp config * fix mosaic bug * update config * support training on voc dataset * format code * format code * Optimize Code. Change `RandomTransform` to `OneOf` * Change `OneOf` to `mmcv.RandomChoice` * fix yolov5coco dataset * fix yolov5coco dataset * fix bug, format code * format config * format code * add yolov5 voc training * rebase * fix mosaic bug * update config * support training on voc dataset * format code * format code * Optimize Code. Change `RandomTransform` to `OneOf` * Change `OneOf` to `mmcv.RandomChoice` * fix yolov5coco dataset * fix yolov5coco dataset * fix bug, format code * format code * add yolov5 voc training * fix mosaic bug and temp config * fix mosaic bug * update config * support training on voc dataset * format code * format code * Optimize Code. Change `RandomTransform` to `OneOf` * Change `OneOf` to `mmcv.RandomChoice` * fix yolov5coco dataset * fix yolov5coco dataset * fix bug, format code * format code * add yolov5 voc training * rebase * fix mosaic bug * update config * support training on voc dataset * format code * format code * Optimize Code. Change `RandomTransform` to `OneOf` * Change `OneOf` to `mmcv.RandomChoice` * fix yolov5coco dataset * fix yolov5coco dataset * fix bug, format code * format code * format code * fix lint * add unittest * add auto loss_weight * add doc; add model log url * add doc; add model log url * add doc; add model log url * [Feature] support mmyolo deployment (open-mmlab#79) * support mmyolo deployment * mv deploy place * remove unused configs * add deploy code * fix new register * fix comments * fix dependent codebase register * remove unused initialize * refact deploy config * credit return to triplemu * Add yolov5 head rewrite * refactor deploy * refactor deploy * Add yolov5 head rewrite * fix configs * refact config * fix comment * sync name after mmdeploy 1088 * fix mmyolo * fix yapf * fix deploy config * try to fix flake8 importlib-metadata * add mmyolo models ut * add deploy uts * add deploy uts * fix trt dynamic error * fix multi-batch for dynamic batch value * fix mode * fix lint * sync model.py * add ci for deploy test * fix ci * fix ci * fix ci * extract script to command for fixing CI * fix cmake for CI * sudo ln * move ort position * remove unused sdk compile * cd mmdeploy * simplify build * add missing make * change order * add -v * add setuptools * get locate * get locate * upgrade torch * change torchvision version * fix config * fix ci * fix ci * fix lint Co-authored-by: tripleMu <[email protected]> Co-authored-by: RunningLeon <[email protected]> * [Feature] Support YOLOv5 YOLOv6 YOLOX Deploy in mmdeploy (open-mmlab#199) * Support YOLOv5 YOLOv6 YOLOX Deploy in mmdeploy * Fix lint * Rename _class to detector_type * Add some common * fix lint Co-authored-by: huanghaian <[email protected]> * fix vocdatasets * fix vocdatasets Co-authored-by: hanrui1sensetime <[email protected]> Co-authored-by: tripleMu <[email protected]> Co-authored-by: RunningLeon <[email protected]> Co-authored-by: huanghaian <[email protected]>
1 parent e6e6f73 commit 9c25057

File tree

4 files changed

+28
-27
lines changed

4 files changed

+28
-27
lines changed

.dev_scripts/gather_models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ def get_dataset_name(config):
114114
LVISV05Dataset='LVIS v0.5',
115115
LVISV1Dataset='LVIS v1',
116116
VOCDataset='Pascal VOC',
117+
YOLOv5VOCDataset='Pascal VOC',
117118
WIDERFaceDataset='WIDER Face',
118119
OpenImagesDataset='OpenImagesDataset',
119120
OpenImagesChallengeDataset='OpenImagesChallengeDataset')

configs/yolov5/voc/yolov5_s-v61_fast_1xb64-50e_voc.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,10 @@
157157
data_prefix=dict(sub_data_root='VOC2012/'),
158158
filter_cfg=dict(filter_empty_gt=False, min_size=32),
159159
pipeline=train_pipeline)
160-
]),
160+
],
161+
# Use ignore_keys to avoid judging metainfo is
162+
# not equal in `ConcatDataset`.
163+
ignore_keys='DATASET_TYPE'),
161164
collate_fn=dict(type='yolov5_collate'))
162165

163166
test_pipeline = [

mmyolo/datasets/yolov5_voc.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,9 @@
77

88
@DATASETS.register_module()
99
class YOLOv5VOCDataset(BatchShapePolicyDataset, VOCDataset):
10+
"""Dataset for YOLOv5 VOC Dataset.
1011
11-
def __init__(self, *args, **kwargs):
12-
super().__init__(*args, **kwargs)
13-
# TODO: Because of the bug in mmengine `ConcatDataset`
14-
# add this to avoid ValueError
15-
if 'VOC2007' in self.sub_data_root:
16-
self._metainfo['DATASET_TYPE'] = 'VOC'
17-
elif 'VOC2012' in self.sub_data_root:
18-
self._metainfo['DATASET_TYPE'] = 'VOC'
19-
else:
20-
self._metainfo['DATASET_TYPE'] = None
12+
We only add `BatchShapePolicy` function compared with VOCDataset. See
13+
`mmyolo/datasets/utils.py#BatchShapePolicy` for details
14+
"""
15+
pass

tests/test_datasets/test_yolov5_voc.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -63,21 +63,23 @@ def test_prepare_data(self):
6363
assert 'dataset' not in data
6464

6565
def test_concat_dataset(self):
66-
dataset = ConcatDataset(datasets=[
67-
dict(
68-
type='YOLOv5VOCDataset',
69-
data_root='tests/data/VOCdevkit/',
70-
ann_file='VOC2007/ImageSets/Main/trainval.txt',
71-
data_prefix=dict(sub_data_root='VOC2007/'),
72-
filter_cfg=dict(filter_empty_gt=False, min_size=32),
73-
pipeline=[]),
74-
dict(
75-
type='YOLOv5VOCDataset',
76-
data_root='tests/data/VOCdevkit/',
77-
ann_file='VOC2012/ImageSets/Main/trainval.txt',
78-
data_prefix=dict(sub_data_root='VOC2012/'),
79-
filter_cfg=dict(filter_empty_gt=False, min_size=32),
80-
pipeline=[])
81-
])
66+
dataset = ConcatDataset(
67+
datasets=[
68+
dict(
69+
type='YOLOv5VOCDataset',
70+
data_root='tests/data/VOCdevkit/',
71+
ann_file='VOC2007/ImageSets/Main/trainval.txt',
72+
data_prefix=dict(sub_data_root='VOC2007/'),
73+
filter_cfg=dict(filter_empty_gt=False, min_size=32),
74+
pipeline=[]),
75+
dict(
76+
type='YOLOv5VOCDataset',
77+
data_root='tests/data/VOCdevkit/',
78+
ann_file='VOC2012/ImageSets/Main/trainval.txt',
79+
data_prefix=dict(sub_data_root='VOC2012/'),
80+
filter_cfg=dict(filter_empty_gt=False, min_size=32),
81+
pipeline=[])
82+
],
83+
ignore_keys='DATASET_TYPE')
8284
dataset.full_init()
8385
self.assertEqual(len(dataset), 2)

0 commit comments

Comments
 (0)