123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # Copyright (c) OpenMMLab. All rights reserved.
- import unittest
- from mmdet.datasets import CocoDataset
- class TestCocoDataset(unittest.TestCase):
- def test_coco_dataset(self):
- # test CocoDataset
- metainfo = dict(classes=('bus', 'car'), task_name='new_task')
- dataset = CocoDataset(
- data_prefix=dict(img='imgs'),
- ann_file='tests/data/coco_sample.json',
- metainfo=metainfo,
- filter_cfg=dict(filter_empty_gt=True, min_size=32),
- pipeline=[],
- serialize_data=False,
- lazy_init=False)
- self.assertEqual(dataset.metainfo['classes'], ('bus', 'car'))
- self.assertEqual(dataset.metainfo['task_name'], 'new_task')
- self.assertListEqual(dataset.get_cat_ids(0), [0, 1])
- def test_coco_dataset_without_filter_cfg(self):
- # test CocoDataset without filter_cfg
- dataset = CocoDataset(
- data_prefix=dict(img='imgs'),
- ann_file='tests/data/coco_sample.json',
- pipeline=[])
- self.assertEqual(len(dataset), 4)
- # test with test_mode = True
- dataset = CocoDataset(
- data_prefix=dict(img='imgs'),
- ann_file='tests/data/coco_sample.json',
- test_mode=True,
- pipeline=[])
- self.assertEqual(len(dataset), 4)
- def test_coco_annotation_ids_unique(self):
- # test annotation ids not unique error
- metainfo = dict(classes=('car', ), task_name='new_task')
- with self.assertRaisesRegex(AssertionError, 'are not unique!'):
- CocoDataset(
- data_prefix=dict(img='imgs'),
- ann_file='tests/data/coco_wrong_format_sample.json',
- metainfo=metainfo,
- pipeline=[])
|