Пример #1
0
def test_classification_datasets(basedir, img):
    # Create a classification dataset
    images_dir = os.path.join(basedir, "source-images")
    dataset = _make_classification_dataset(img, images_dir)

    # FiftyOneImageClassificationDataset
    export_dir = os.path.join(basedir, "fiftyone-image-classification")
    dataset_type = fo.types.FiftyOneImageClassificationDataset
    dataset.export(export_dir, dataset_type=dataset_type)
    dataset2 = fo.Dataset.from_dir(export_dir, dataset_type)

    # ImageClassificationDirectoryTree
    export_dir = os.path.join(basedir, "image-classification-dir-tree")
    dataset_type = fo.types.ImageClassificationDirectoryTree
    dataset.export(export_dir, dataset_type=dataset_type)
    dataset2 = fo.Dataset.from_dir(export_dir, dataset_type)

    # TFImageClassificationDataset
    export_dir = os.path.join(basedir, "tf-image-classification")
    dataset_type = fo.types.TFImageClassificationDataset
    tmp_dir = os.path.join(basedir, "tf-image-classification-tmp-images")
    dataset.export(export_dir, dataset_type=dataset_type, num_shards=2)
    dataset2 = fo.Dataset.from_dir(
        export_dir, dataset_type, images_dir=tmp_dir
    )

    # JSON
    json_path = os.path.join(basedir, "dataset.json")
    dataset.write_json(json_path, pretty_print=True)
    dataset2 = fo.Dataset.from_json(
        json_path, name=fod.get_default_dataset_name()
    )
Пример #2
0
def test_rel_filepaths(basedir, img):
    # Create a classification dataset
    images_dir = os.path.join(basedir, "source-images")
    dataset = _make_classification_dataset(img, images_dir)

    # Test `Dataset.to_dict` with and without relative paths
    rel_dir = basedir
    d_abs = dataset.to_dict()
    d_rel = dataset.to_dict(rel_dir=rel_dir)
    for sd_abs, sd_rel in zip(d_abs["samples"], d_rel["samples"]):
        assert sd_abs["filepath"] == os.path.join(rel_dir, sd_rel["filepath"])

    # Test `Dataset.from_dict` with and without relative paths
    dataset1 = fo.Dataset.from_dict(d_abs, name=fod.get_default_dataset_name())
    dataset2 = fo.Dataset.from_dict(
        d_rel, name=fod.get_default_dataset_name(), rel_dir=rel_dir
    )
    for s_abs, s_rel in zip(dataset1, dataset2):
        assert s_abs.filepath == s_rel.filepath
Пример #3
0
def test_detection_datasets(basedir, img):
    # Create a detection dataset
    images_dir = os.path.join(basedir, "source-images")
    dataset = _make_detection_dataset(img, images_dir)

    # FiftyOneImageDetectionDataset
    export_dir = os.path.join(basedir, "fiftyone-image-detection")
    dataset_type = fo.types.FiftyOneImageDetectionDataset
    dataset.export(export_dir, dataset_type=dataset_type)
    dataset2 = fo.Dataset.from_dir(export_dir, dataset_type)

    # COCODetectionDataset
    export_dir = os.path.join(basedir, "coco-detection")
    dataset_type = fo.types.COCODetectionDataset
    dataset.export(export_dir, dataset_type=dataset_type)
    dataset2 = fo.Dataset.from_dir(export_dir, dataset_type)

    # VOCDetectionDataset
    export_dir = os.path.join(basedir, "voc-detection")
    dataset_type = fo.types.VOCDetectionDataset
    dataset.export(export_dir, dataset_type=dataset_type)
    dataset2 = fo.Dataset.from_dir(export_dir, dataset_type)

    # KITTIDetectionDataset
    export_dir = os.path.join(basedir, "kitti-detection")
    dataset_type = fo.types.KITTIDetectionDataset
    dataset.export(export_dir, dataset_type=dataset_type)
    dataset2 = fo.Dataset.from_dir(export_dir, dataset_type)

    # YOLODataset
    export_dir = os.path.join(basedir, "yolo")
    dataset_type = fo.types.YOLODataset
    dataset.export(export_dir, dataset_type=dataset_type)
    dataset2 = fo.Dataset.from_dir(export_dir, dataset_type)

    # TFObjectDetectionDataset
    export_dir = os.path.join(basedir, "tf-object-detection")
    dataset_type = fo.types.TFObjectDetectionDataset
    tmp_dir = os.path.join(basedir, "tf-object-detection-tmp-images")
    dataset.export(export_dir, dataset_type=dataset_type, num_shards=2)
    dataset2 = fo.Dataset.from_dir(export_dir,
                                   dataset_type,
                                   images_dir=tmp_dir)

    # CVATImageDataset
    export_dir = os.path.join(basedir, "cvat-image")
    dataset_type = fo.types.CVATImageDataset
    dataset.export(export_dir, dataset_type=dataset_type)
    dataset2 = fo.Dataset.from_dir(export_dir, dataset_type)

    # JSON
    json_path = os.path.join(basedir, "dataset.json")
    dataset.write_json(json_path, pretty_print=True)
    dataset2 = fo.Dataset.from_json(json_path,
                                    name=fod.get_default_dataset_name())
Пример #4
0
def test_image_labels_datasets(basedir, img):
    # Create an image labels dataset
    images_dir = os.path.join(basedir, "source-images")
    dataset = _make_image_labels_dataset(img, images_dir)

    # FiftyOneImageLabelsDataset
    export_dir = os.path.join(basedir, "fiftyone-image-labels")
    dataset_type = fo.types.FiftyOneImageLabelsDataset
    dataset.export(export_dir, dataset_type=dataset_type)
    dataset2 = fo.Dataset.from_dir(export_dir, dataset_type)

    # BDDDataset
    export_dir = os.path.join(basedir, "bdd")
    dataset_type = fo.types.BDDDataset
    dataset.export(export_dir, dataset_type=dataset_type)
    dataset2 = fo.Dataset.from_dir(export_dir, dataset_type)

    # JSON
    json_path = os.path.join(basedir, "dataset.json")
    dataset.write_json(json_path, pretty_print=True)
    dataset2 = fo.Dataset.from_json(json_path,
                                    name=fod.get_default_dataset_name())