def __init__(self, **kwargs): """Construct the Imagenet class.""" Dataset.__init__(self, **kwargs) split = 'train' if self.train else 'val' local_data_path = FileOps.join_path(self.args.data_path, split) ImageFolder.__init__(self, root=local_data_path, transform=Compose(self.transforms.__transform__))
def __init__(self, root, transform=None, target_transform=None, download=False, **kwargs): self.root = root if download: self.download() if not self._check_integrity(): raise RuntimeError('Dataset not found or corrupted.' + ' You can use download=True to download it') ImageFolder.__init__(self, os.path.join(root, self.base_folder), transform = transform, target_transform = target_transform, **kwargs)
def __init__(self, root, train=False, transform=None, target_transform=None, download=False, **kwargs): self.root = root self.transform = transform self.target_transform = target_transform self.loader = default_loader if download: download_url(self.url, self.root, self.filename, self.zip_md5) if not self._check_integrity(): # extract file cwd = os.getcwd() os.chdir(root) with zipfile.ZipFile(self.filename, "r") as zip: zip.extractall() os.chdir(cwd) if not self._check_integrity(): raise RuntimeError('Dataset not found or corrupted.' + ' You can use download=True to download it') ImageFolder.__init__(self, os.path.join(root, self.base_folder), transform=transform, target_transform=target_transform, **kwargs) self.super_classes = self.classes samples = [] classes = set() f = open( os.path.join(root, self.base_folder, 'Ebay_{}.txt'.format('train' if train else 'test'))) f.readline() for (image_id, class_id, super_class_id, path) in map(str.split, f): samples.append((os.path.join(root, self.base_folder, path), int(class_id) - 1)) classes.add( "%s.%s" % (class_id, self.super_classes[int(super_class_id) - 1])) self.samples = samples self.classes = list(classes) self.classes.sort(key=lambda x: int(x.split(".")[0])) self.class_to_idx = {cls: i for i, cls in enumerate(self.classes)} self.imgs = self.samples
def __init__(self, root, train=False, transform=None, target_transform=None, download=False, **kwargs): self.root = root + "/Cars196" self.transform = transform self.target_transform = target_transform self.loader = default_loader if download: download_url(self.img_url, self.root, self.img_filename, self.img_md5) download_url(self.anno_url, self.root, self.anno_filename, self.anno_md5) if not self._check_integrity(): cwd = os.getcwd() tar = tarfile.open(os.path.join(self.root, self.img_filename), "r:gz") os.chdir(self.root) tar.extractall() tar.close() os.chdir(cwd) if not self._check_integrity() or \ not check_integrity(os.path.join(self.root, self.anno_filename), self.anno_md5): raise RuntimeError('Dataset not found or corrupted.' + ' You can use download=True to download it') ImageFolder.__init__(self, os.path.join(self.root), transform=transform, target_transform=target_transform, **kwargs) self.root = root + "/Cars196" labels = io.loadmat(os.path.join(self.root, self.anno_filename))['annotations'][0] class_names = io.loadmat(os.path.join(self.root, self.anno_filename))['class_names'][0] if train: self.classes = [str(c[0]) for c in class_names[:98]] self.class_to_idx = {cls: i for i, cls in enumerate(self.classes)} else: self.classes = [str(c[0]) for c in class_names[98:]] self.class_to_idx = {cls: i+98 for i, cls in enumerate(self.classes)} class_idx = list(self.class_to_idx.values()) samples = [] for l in labels: cls = int(l[5][0, 0]) - 1 p = l[0][0] if cls in class_idx: samples.append((os.path.join(self.root, p), int(cls))) self.samples = samples self.imgs = self.samples
def __init__( self, root: str = default_dataset_path("imagenette"), train: bool = True, rand_trans: bool = False, dataset_size: ImagenetteSize = ImagenetteSize.s160, image_size: Union[int, None] = None, download: bool = True, ): if torchvision_import_error is not None: raise torchvision_import_error ImagenetteDownloader.__init__(self, root, dataset_size, download) if image_size is None: image_size = 160 if dataset_size == ImagenetteSize.s160 else 224 if rand_trans: trans = [ transforms.RandomResizedCrop(image_size), transforms.RandomHorizontalFlip(), ] else: resize_scale = 256.0 / 224.0 # standard used trans = [ transforms.Resize(round(resize_scale * image_size)), transforms.CenterCrop(image_size), ] trans.extend([ transforms.ToTensor(), transforms.Normalize(mean=IMAGENET_RGB_MEANS, std=IMAGENET_RGB_STDS), ]) ImageFolder.__init__(self, self.split_root(train), transforms.Compose(trans)) # make sure we don't preserve the folder structure class order random.shuffle(self.samples)