def setup(self): to_uuid = lambda p: os.path.splitext(os.path.basename(p))[0] data_dir = os.path.join(self.dataset_dir, "data") if os.path.isdir(data_dir): self._uuids_to_image_paths = { to_uuid(p): p for p in etau.list_files(data_dir, abs_paths=True) } else: self._uuids_to_image_paths = {} labels_dir = os.path.join(self.dataset_dir, "labels") if os.path.isdir(labels_dir): self._uuids_to_labels_paths = { to_uuid(p): p for p in etau.list_files(labels_dir, abs_paths=True) } else: self._uuids_to_labels_paths = {} if self.skip_unlabeled: uuids = sorted(self._uuids_to_labels_paths.keys()) else: # Allow uuid to missing from `_uuids_to_image_paths` since we will # try to use filepath from labels, if present uuids = sorted( set(self._uuids_to_image_paths.keys()) | set(self._uuids_to_labels_paths.keys())) self._uuids = self._preprocess_list(uuids) self._num_samples = len(self._uuids)
def setup(self): to_uuid = lambda p: os.path.splitext(os.path.basename(p))[0] data_dir = os.path.join(self.dataset_dir, "data") if os.path.isdir(data_dir): self._uuids_to_video_paths = { to_uuid(p): p for p in etau.list_files(data_dir, abs_paths=True) } else: self._uuids_to_video_paths = {} labels_dir = os.path.join(self.dataset_dir, "labels") if os.path.isdir(labels_dir): self._uuids_to_labels_paths = { to_uuid(p): p for p in etau.list_files(labels_dir, abs_paths=True) } else: self._uuids_to_labels_paths = {} if self.skip_unlabeled: uuids = sorted(self._uuids_to_labels_paths.keys()) else: uuids = sorted(self._uuids_to_video_paths.keys()) self._info = None self._uuids = self._preprocess_list(uuids) self._num_samples = len(self._uuids) self._cvat_task_labels = CVATTaskLabels()
def setup(self): data_dir = os.path.join(self.dataset_dir, "data") labels_dir = os.path.join(self.dataset_dir, "labels") self._image_paths = etau.list_files(data_dir, abs_paths=True) self._anno_uuids_to_paths = { os.path.splitext(f)[0]: os.path.join(labels_dir, f) for f in etau.list_files(labels_dir, abs_paths=False) }
def setup(self): self._sample_parser = FiftyOneImageClassificationSampleParser() data_dir = os.path.join(self.dataset_dir, "data") self._image_paths_map = { os.path.splitext(os.path.basename(p))[0]: p for p in etau.list_files(data_dir, abs_paths=True) } labels_path = os.path.join(self.dataset_dir, "labels.json") if os.path.isfile(labels_path): labels = etas.load_json(labels_path) else: labels = {} self._classes = labels.get("classes", None) self._sample_parser.classes = self._classes self._labels_map = labels.get("labels", {}) if self.skip_unlabeled: self._labels_map = { k: v for k, v in self._labels_map.items() if v is not None } uuids = sorted(self._labels_map.keys()) self._uuids = self._preprocess_list(uuids) self._num_samples = len(self._uuids)
def setup(self): self._data_dir = os.path.join(self.dataset_dir, "data") labels_path = os.path.join(self.dataset_dir, "labels.json") if os.path.isfile(labels_path): ( info, classes, supercategory_map, images, annotations, ) = load_coco_detection_annotations(labels_path) else: info = {} classes = None supercategory_map = None images = {} annotations = None if classes is not None: info["classes"] = classes self._info = info self._classes = classes self._supercategory_map = supercategory_map self._images_map = {i["file_name"]: i for i in images.values()} self._annotations = annotations if self.skip_unlabeled: filenames = self._images_map.keys() else: filenames = etau.list_files(self._data_dir, abs_paths=False) self._filenames = self._preprocess_list(filenames)
def setup(self): filepaths = etau.list_files( self.dataset_dir, abs_paths=True, recursive=self.recursive ) filepaths = [p for p in filepaths if etav.is_video_mime_type(p)] self._filepaths = self._preprocess_list(filepaths) self._num_samples = len(self._filepaths)
def setup(self): self._data_dir = os.path.join(self.dataset_dir, "data") self._labels_path = os.path.join(self.dataset_dir, "labels.xml") _, cvat_images = load_cvat_image_annotations(self._labels_path) # Index by filename self._images_map = {i.name: i for i in cvat_images} self._filenames = etau.list_files(self._data_dir, abs_paths=False)
def setup(self): self._data_dir = os.path.join(self.dataset_dir, "data") labels_path = os.path.join(self.dataset_dir, "labels.json") classes, images, annotations = load_coco_detection_annotations( labels_path ) self._classes = classes self._images_map = {i["file_name"]: i for i in images.values()} self._annotations = annotations self._filenames = etau.list_files(self._data_dir, abs_paths=False)
def setup(self): self._sample_parser = FiftyOneImageClassificationSampleParser() data_dir = os.path.join(self.dataset_dir, "data") self._image_paths_map = { os.path.splitext(os.path.basename(p))[0]: p for p in etau.list_files(data_dir, abs_paths=True) } labels_path = os.path.join(self.dataset_dir, "labels.json") labels = etas.load_json(labels_path) self._sample_parser.classes = labels.get("classes", None) self._labels = labels.get("labels", {}) self._num_samples = len(self._labels)
def setup(self): self._data_dir = os.path.join(self.dataset_dir, "data") self._labels_path = os.path.join(self.dataset_dir, "labels.json") if os.path.isfile(self._labels_path): self._anno_dict_map = load_bdd_annotations(self._labels_path) else: self._anno_dict_map = {} filenames = etau.list_files(self._data_dir, abs_paths=False) if self.skip_unlabeled: filenames = [f for f in filenames if f in self._anno_dict_map] self._filenames = self._preprocess_list(filenames) self._num_samples = len(self._filenames)
def __init__(self, output_dir="", default_ext="", ignore_exts=False): self.output_dir = output_dir self.default_ext = default_ext self.ignore_exts = ignore_exts self._filename_counts = defaultdict(int) self._default_filename_patt = (fo.config.default_sequence_idx + default_ext) self._idx = 0 if output_dir: etau.ensure_dir(output_dir) filenames = etau.list_files(output_dir) self._idx = len(filenames) for filename in filenames: self._filename_counts[filename] += 1
def parse_images_dir(dataset_dir, recursive=True): """Parses the contents of the given directory of images. See :class:`fiftyone.types.dataset_types.ImageDirectory` for format details. In particular, note that files with non-image MIME types are omitted. Args: dataset_dir: the dataset directory recursive (True): whether to recursively traverse subdirectories Returns: a list of image paths """ filepaths = etau.list_files(dataset_dir, abs_paths=True, recursive=recursive) return [p for p in filepaths if etai.is_image_mime_type(p)]
def main(notebook_paths, skip_readme): if notebook_paths: notebook_paths = [ os.path.relpath(os.path.abspath(path), ROOT_DIR) for path in notebook_paths ] else: notebook_paths = [ os.path.join("examples", path) for path in etau.list_files(EXAMPLES_DIR, recursive=True) if path.endswith(".ipynb") and ".ipynb_checkpoints" not in path ] for notebook_path in notebook_paths: _add_notebook_links(notebook_path) if not skip_readme: _update_readme()
def setup(self): self._data_dir = os.path.join(self.dataset_dir, "data") self._labels_path = os.path.join(self.dataset_dir, "labels.xml") if os.path.isfile(self._labels_path): info, _, cvat_images = load_cvat_image_annotations( self._labels_path) else: info = {} cvat_images = [] self._info = info # Index by filename self._images_map = {i.name: i for i in cvat_images} filenames = etau.list_files(self._data_dir, abs_paths=False) if self.skip_unlabeled: filenames = [f for f in filenames if f in self._images_map] self._filenames = self._preprocess_list(filenames) self._num_samples = len(self._filenames)
def setup(self): self._data_dir = os.path.join(self.dataset_dir, "data") self._labels_path = os.path.join(self.dataset_dir, "labels.json") self._anno_dict_map = load_bdd_annotations(self._labels_path) self._filenames = etau.list_files(self._data_dir, abs_paths=False)
def setup(self): filepaths = etau.list_files(self.dataset_dir, abs_paths=True, recursive=self.recursive) self._filepaths = [p for p in filepaths if etai.is_image_mime_type(p)]
def get_num_samples(dataset_dir): data_dir = os.path.join(dataset_dir, "data") if not os.path.isdir(data_dir): return 0 return len(etau.list_files(data_dir))