class COCO2017Dataset(FiftyOneDataset): (source)
Constructor: COCO2017Dataset(label_types, classes, image_ids, num_workers, ...)
COCO is a large-scale object detection, segmentation, and captioning dataset.
This version contains images, bounding boxes, segmentations, and keypoints for the 2017 version of the dataset.
This dataset supports partial downloads:
- You can specify subsets of data to download via the label_types, classes, and max_samples parameters
- You can specify specific images to load via the image_ids parameter
See :ref:`this page <dataset-zoo-coco-2017>` for more information about partial downloads of this dataset.
Full split stats:
- Train split: 118,287 images
- Test split: 40,670 images
- Validation split: 5,000 images
Notes:
- COCO defines 91 classes but the data only uses 80 classes
- Some images from the train and validation sets don't have annotations
- The test set does not have annotations
- COCO 2014 and 2017 use the same images, but the splits are different
Example usage:
import fiftyone as fo import fiftyone.zoo as foz # # Load 50 random samples from the validation split # # By default, only detections are loaded # dataset = foz.load_zoo_dataset( "coco-2017", split="validation", max_samples=50, shuffle=True, ) session = fo.launch_app(dataset) # # Load segmentations for 25 samples from the validation split that # contain cats and dogs # # Images that contain all `classes` will be prioritized first, followed # by images that contain at least one of the required `classes`. If # there are not enough images matching `classes` in the split to meet # `max_samples`, only the available images will be loaded. # # Images will only be downloaded if necessary # dataset = foz.load_zoo_dataset( "coco-2017", split="validation", label_types=["segmentations"], classes=["cat", "dog"], max_samples=25, ) session.dataset = dataset # # Download the entire validation split and load both detections and # segmentations # # Subsequent partial loads of the validation split will never require # downloading any images # dataset = foz.load_zoo_dataset( "coco-2017", split="validation", label_types=["detections", "segmentations"], ) session.dataset = dataset
- Dataset size
- 25.20 GB
- Source
- http://cocodataset.org/#home
Parameters | |
label | a label type or list of label types to load. The supported values are ("detections", "segmentations"). By default, only "detections" are loaded |
classes | a string or list of strings specifying required classes to load. If provided, only samples containing at least one instance of a specified class will be loaded |
image | an optional list of specific image IDs to load. Can be provided in any of the following formats:
|
num | a suggested number of threads to use when downloading individual images |
shuffle | whether to randomly shuffle the order in which samples are chosen for partial downloads |
seed | a random seed to use when shuffling |
max | a maximum number of samples to load per split. If label_types and/or classes are also specified, first priority will be given to samples that contain all of the specified label types and/or classes, followed by samples that contain at least one of the specified labels types or classes. The actual number of samples loaded may be less than this maximum value if the dataset does not contain sufficient samples matching your requirements. By default, all matching samples are loaded |
Method | __init__ |
Undocumented |
Instance Variable | classes |
Undocumented |
Instance Variable | image |
Undocumented |
Instance Variable | label |
Undocumented |
Instance Variable | max |
Undocumented |
Instance Variable | num |
Undocumented |
Instance Variable | seed |
Undocumented |
Instance Variable | shuffle |
Undocumented |
Property | importer |
A dict of default kwargs to pass to this dataset's fiftyone.utils.data.importers.DatasetImporter . |
Property | name |
The name of the dataset. |
Property | supported |
A tuple of supported splits for the dataset, or None if the dataset does not have splits. |
Property | supports |
Whether the dataset supports downloading partial subsets of its splits. |
Property | tags |
A tuple of tags for the dataset. |
Method | _download |
Internal implementation of downloading the dataset and preparing it for use in the given directory. |
Method | _get |
Undocumented |
Inherited from ZooDataset
(via FiftyOneDataset
):
Static Method | get |
Returns the path to the ZooDatasetInfo for the dataset. |
Static Method | has |
Determines whether the directory contains ZooDatasetInfo . |
Static Method | load |
Loads the ZooDatasetInfo from the given dataset directory. |
Method | download |
Downloads the dataset and prepares it for use. |
Method | get |
Returns the directory for the given split of the dataset. |
Method | has |
Whether the dataset has the given split. |
Method | has |
Whether the dataset has the given tag. |
Property | has |
Whether the dataset has patches that may need to be applied to already downloaded files. |
Property | has |
Whether the dataset has splits. |
Property | has |
Whether the dataset has tags. |
Property | is |
Whether the dataset is remotely-sourced. |
Property | parameters |
An optional dict of parameters describing the configuration of the zoo dataset when it was downloaded. |
Property | requires |
Whether this dataset requires some files to be manually downloaded by the user before the dataset can be loaded. |
Method | _get |
Undocumented |
Method | _is |
Undocumented |
Method | _is |
Undocumented |
Method | _patch |
Internal method called when an already downloaded dataset may need to be patched. |
Undocumented
Internal implementation of downloading the dataset and preparing it for use in the given directory.
Parameters | |
dataset | the directory in which to construct the dataset. If a split is provided, this is the directory for the split |
scratch | a scratch directory to use to download and prepare any required intermediate files |
split | the split to download, or None if the dataset does not have splits |
Returns | |
tuple of |
|