def test_open_images_v4_object_detection(): batch_size = 1 image_size = [256, 256] dataset = OpenImagesV4BoundingBox( batch_size=batch_size, pre_processor=ResizeWithGtBoxes(image_size)) dataset = DatasetIterator(dataset) num_max_boxes = dataset.num_max_boxes assert dataset.num_max_boxes == OpenImagesV4BoundingBox.count_max_boxes() for _ in range(5): images, labels = dataset.feed() # _show_images_with_boxes(images, labels) assert isinstance(images, np.ndarray) assert images.shape[0] == batch_size assert images.shape[1] == image_size[0] assert images.shape[2] == image_size[1] assert images.shape[3] == 3 assert isinstance(labels, np.ndarray) assert labels.shape[0] == batch_size assert labels.shape[1] == num_max_boxes assert labels.shape[2] == 5
def test_bdd100k_seg(): batch_size = 1 train_dataset = DummyBDD100KSeg(subset="train", batch_size=batch_size) train_iterator = DatasetIterator(train_dataset) test_dataset = DummyBDD100KSeg(subset="validation", batch_size=batch_size) test_iterator = DatasetIterator(test_dataset) assert train_dataset.num_classes == 41 colors = train_dataset.label_colors assert len(colors) == 41 train_image_files, train_label_files = train_iterator.feed() assert train_image_files.shape[0] == batch_size assert train_label_files.shape[0] == batch_size test_image_files, test_label_files = test_iterator.feed() assert test_image_files.shape[0] == batch_size assert test_label_files.shape[0] == batch_size
def test_hue(): batch_size = 3 image_size = [256, 512] dataset = Pascalvoc2007( batch_size=batch_size, pre_processor=ResizeWithGtBoxes(image_size), augmentor=Hue((-10, 10)), ) dataset = DatasetIterator(dataset) for _ in range(5): images, labels = dataset.feed() _show_images_with_boxes(images, labels)
def test_filp_top_bottom(): batch_size = 3 image_size = [256, 512] dataset = Pascalvoc2007( batch_size=batch_size, pre_processor=ResizeWithGtBoxes(image_size), augmentor=FlipTopBottom(), ) dataset = DatasetIterator(dataset) for _ in range(5): images, labels = dataset.feed() _show_images_with_boxes(images, labels)
def test_ssd_random_crop(): batch_size = 3 image_size = [256, 512] dataset = Pascalvoc2007( batch_size=batch_size, pre_processor=ResizeWithGtBoxes(image_size), augmentor=SSDRandomCrop(), ) dataset = DatasetIterator(dataset) for _ in range(5): images, labels = dataset.feed() _show_images_with_boxes(images, labels) assert np.all(labels[:, :, 2] <= 512) assert np.all(labels[:, :, 3] <= 256)
def test_sequence(): batch_size = 3 image_size = [256, 512] augmentor = Sequence([ FlipLeftRight(), FlipTopBottom(), SSDRandomCrop(), ]) dataset = Pascalvoc2007( batch_size=batch_size, pre_processor=ResizeWithGtBoxes(image_size), augmentor=augmentor, ) dataset = DatasetIterator(dataset) for _ in range(5): images, labels = dataset.feed() _show_images_with_boxes(images, labels)
def test_can_iterate(set_test_environment, subset): batch_size = 1 image_size = (100, 100) dataset = Div2k(subset, batch_size=batch_size) iterator = DatasetIterator(dataset) for _ in range(len(dataset)): images, labels = iterator.feed() assert isinstance(images, np.ndarray) assert images.shape[0] == batch_size assert images.shape[1] == image_size[0] assert images.shape[2] == image_size[1] assert images.shape[3] == 3 assert isinstance(labels, np.ndarray) assert labels.shape[0] == batch_size assert labels[0] is None
def test_open_images_v4_classification(): batch_size = 1 image_size = [256, 256] dataset = OpenImagesV4Classification(batch_size=batch_size, pre_processor=Resize(image_size)) dataset = DatasetIterator(dataset) for _ in range(5): images, labels = dataset.feed() assert isinstance(images, np.ndarray) assert images.shape[0] == batch_size assert images.shape[1] == image_size[0] assert images.shape[2] == image_size[1] assert images.shape[3] == 3 assert isinstance(labels, np.ndarray) assert labels.shape[0] == batch_size assert labels.shape[1] == dataset.num_classes