Flowers¶
- class paddle.vision.datasets. Flowers ( data_file=None, label_file=None, setid_file=None, mode='train', transform=None, download=True, backend=None ) [source]
-
Implementation of Flowers102 dataset.
- Parameters
-
data_file (str, optional) – Path to data file, can be set None if
download
is True. Default: None, default data path: ~/.cache/paddle/dataset/flowers/.label_file (str, optional) – Path to label file, can be set None if
download
is True. Default: None, default data path: ~/.cache/paddle/dataset/flowers/.setid_file (str, optional) – Path to subset index file, can be set None if
download
is True. Default: None, default data path: ~/.cache/paddle/dataset/flowers/.mode (str, optional) – Either train or test mode. Default ‘train’.
transform (Callable, optional) – transform to perform on image, None for no transform. Default: None.
download (bool, optional) – download dataset automatically if
data_file
is None. Default: True.backend (str, optional) – Specifies which type of image to be returned: PIL.Image or numpy.ndarray. Should be one of {‘pil’, ‘cv2’}. If this option is not set, will get backend from paddle.vision.get_image_backend, default backend is ‘pil’. Default: None.
- Returns
-
Dataset. An instance of Flowers dataset.
Examples
>>> >>> import itertools >>> import paddle.vision.transforms as T >>> from paddle.vision.datasets import Flowers >>> flowers = Flowers() >>> print(len(flowers)) 6149 >>> for i in range(5): # only show first 5 images ... img, label = flowers[i] ... # do something with img and label ... print(type(img), img.size, label) ... # <class 'PIL.JpegImagePlugin.JpegImageFile'> (523, 500) [1] >>> transform = T.Compose( ... [ ... T.Resize(64), ... T.ToTensor(), ... T.Normalize( ... mean=[0.5, 0.5, 0.5], ... std=[0.5, 0.5, 0.5], ... to_rgb=True, ... ), ... ] ... ) >>> flowers_test = Flowers( ... mode="test", ... transform=transform, # apply transform to every image ... backend="cv2", # use OpenCV as image transform backend ... ) >>> print(len(flowers_test)) 1020 >>> for img, label in itertools.islice(iter(flowers_test), 5): # only show first 5 images ... # do something with img and label ... print(type(img), img.shape, label) ... # <class 'paddle.Tensor'> [3, 64, 96] [1]