fiftyone.zoo¶
Module contents¶
The FiftyOne Zoo.
Copyright 2017-2024, Voxel51, Inc. voxel51.com
Classes:
Dictionary that remembers insertion order |
|
|
Class for interacting with a GitHub repository. |
|
Class containing info about a dataset in the FiftyOne Dataset Zoo. |
|
Class containing info about a split of a dataset in the FiftyOne Dataset Zoo. |
Base class for datasets made available in the FiftyOne Dataset Zoo. |
|
|
Class for working with remotely-sourced datasets that are compatible with the FiftyOne Dataset Zoo. |
Class representing a zoo dataset that no longer exists in the FiftyOne Dataset Zoo. |
|
defaultdict(default_factory=None, /, […]) –> dict with default factory |
|
Mixin class for Config classes of |
|
|
Class describing a model in the FiftyOne Model Zoo. |
|
|
|
|
|
Class that describes the collection of models in the FiftyOne Model Zoo. |
|
Class that describes the collection of remotely-sourced models in the FiftyOne Model Zoo. |
Functions:
|
Lists the available datasets in the FiftyOne Dataset Zoo. |
Returns the list of available zoo dataset sources. |
|
Returns information about the zoo datasets that have been downloaded. |
|
|
Downloads the specified dataset from the FiftyOne Dataset Zoo. |
|
Loads the specified dataset from the FiftyOne Dataset Zoo. |
|
Returns the directory containing the given zoo dataset. |
|
Loads the |
|
Returns the |
|
Deletes the zoo dataset from local disk, if necessary. |
|
Deep copy operation on arbitrary Python objects. |
|
Returns the list of available models in the FiftyOne Model Zoo. |
Returns information about the zoo models that have been downloaded. |
|
|
Determines whether the zoo model of the given name is downloaded. |
|
Downloads the specified model from the FiftyOne Model Zoo. |
|
Installs any package requirements for the specified zoo model. |
|
Ensures that the package requirements for the specified zoo model are satisfied. |
|
Loads the specified model from the FiftyOne Model Zoo. |
|
Returns the path to the zoo model on disk. |
|
Returns the |
|
Deletes the zoo model from local disk, if necessary. |
Returns the list of remote model sources that are registered locally. |
|
|
Registers a remote source of models, if necessary. |
|
Deletes the specified remote source and all downloaded models associated with it. |
Exceptions:
Exception raised when an invalid Config instance is encountered. |
-
class
fiftyone.zoo.
OrderedDict
¶ Bases:
dict
Dictionary that remembers insertion order
Methods:
clear
()popitem
([last])Remove and return a (key, value) pair from the dictionary.
move_to_end
(key[, last])Move an existing element to the end (or beginning if last is false).
update
([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
keys
()items
()values
()pop
(k[,d])value.
setdefault
(key[, default])Insert key with a value of default if key is not in the dictionary.
copy
()fromkeys
([value])Create a new ordered dictionary with keys from iterable and values set to value.
get
(key[, default])Return the value for key if key is in the dictionary, else default.
-
clear
() → None. Remove all items from od.¶
-
popitem
(last=True)¶ Remove and return a (key, value) pair from the dictionary.
Pairs are returned in LIFO order if last is true or FIFO order if false.
-
move_to_end
(key, last=True)¶ Move an existing element to the end (or beginning if last is false).
Raise KeyError if the element does not exist.
-
update
([E, ]**F) → None. Update D from dict/iterable E and F.¶ If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
-
keys
() → a set-like object providing a view on D’s keys¶
-
items
() → a set-like object providing a view on D’s items¶
-
values
() → an object providing a view on D’s values¶
-
pop
(k[, d]) → v, remove specified key and return the corresponding¶ value. If key is not found, d is returned if given, otherwise KeyError is raised.
-
setdefault
(key, default=None)¶ Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
-
copy
() → a shallow copy of od¶
-
fromkeys
(value=None)¶ Create a new ordered dictionary with keys from iterable and values set to value.
-
get
(key, default=None, /)¶ Return the value for key if key is in the dictionary, else default.
-
-
class
fiftyone.zoo.
GitHubRepository
(repo)¶ Bases:
object
Class for interacting with a GitHub repository.
Note
To interact with private GitHub repositories that you have access to, provide your GitHub personal access token by setting the
GITHUB_TOKEN
environment variable.- Parameters
repo –
the GitHub repository or identifier, which can be:
a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
Attributes:
The username of the repo.
The name of the repo.
The ref (e.g.
The repository identifier string.
Methods:
Returns a dict of info about the repository.
get_file
(path[, outpath])Downloads the file at the given path.
list_path_contents
([path])Returns the contents of the repo rooted at the given path.
list_repo_contents
([recursive])Returns a flat list of the repository’s contents.
download
(outdir)Downloads the repository to the specified root directory.
parse_url
(url)parse_identifier
(identifier)-
property
user
¶ The username of the repo.
-
property
repo
¶ The name of the repo.
-
property
ref
¶ The ref (e.g. branch, tag, commit hash), if any.
-
property
identifier
¶ The repository identifier string.
-
get_repo_info
()¶ Returns a dict of info about the repository.
- Returns
an info dict
-
get_file
(path, outpath=None)¶ Downloads the file at the given path.
- Parameters
path – the filepath in the repository
outpath (None) – a path on disk to write the file
- Returns
the file bytes, if no
outpath
is provided
-
list_path_contents
(path=None)¶ Returns the contents of the repo rooted at the given path.
Note
This method has a limit of 1,000 files. Documentation.
- Parameters
path (None) – an optional root path to start the search from
- Returns
a list of file info dicts
-
list_repo_contents
(recursive=True)¶ Returns a flat list of the repository’s contents.
Note
This method has a limit of 100,000 entries and 7MB response size. Documentation.
- Parameters
recursive (True) – whether to recursively traverse subdirectories
- Returns
a list of file info dicts
-
download
(outdir)¶ Downloads the repository to the specified root directory.
- Parameters
outdir – the output directory
-
static
parse_url
(url)¶
-
static
parse_identifier
(identifier)¶
-
fiftyone.zoo.
list_zoo_datasets
(tags=None, source=None)¶ Lists the available datasets in the FiftyOne Dataset Zoo.
Also includes any remotely-sourced zoo datasets that you’ve downloaded.
Example usage:
import fiftyone as fo import fiftyone.zoo as foz # # List all zoo datasets # names = foz.list_zoo_datasets() print(names) # # List all zoo datasets with (both of) the specified tags # names = foz.list_zoo_datasets(tags=["image", "detection"]) print(names) # # List all zoo datasets available via the given source # names = foz.list_zoo_datasets(source="torch") print(names)
- Parameters
tags (None) – only include datasets that have the specified tag or list of tags
source (None) – only include datasets available via the given source or list of sources
- Returns
a sorted list of dataset names
-
fiftyone.zoo.
list_zoo_dataset_sources
()¶ Returns the list of available zoo dataset sources.
- Returns
a list of sources
-
fiftyone.zoo.
list_downloaded_zoo_datasets
()¶ Returns information about the zoo datasets that have been downloaded.
- Returns
a dict mapping dataset names to (
dataset_dir
,ZooDatasetInfo
) tuples
-
fiftyone.zoo.
download_zoo_dataset
(name_or_url, split=None, splits=None, overwrite=False, cleanup=True, **kwargs)¶ Downloads the specified dataset from the FiftyOne Dataset Zoo.
Any dataset splits that have already been downloaded are not re-downloaded, unless
overwrite == True
is specified.Note
To download from a private GitHub repository that you have access to, provide your GitHub personal access token by setting the
GITHUB_TOKEN
environment variable.- Parameters
name_or_url –
the name of the zoo dataset to download, or the remote source to download it from, which can be:
a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
split (None) –
("train", "validation", "test")
. If neithersplit
norsplits
are provided, all available splits are downloaded. Consult the documentation for theZooDataset
you specified to see the supported splitssplits (None) – a list of splits to download, if applicable. Typical values are
("train", "validation", "test")
. If neithersplit
norsplits
are provided, all available splits are downloaded. Consult the documentation for theZooDataset
you specified to see the supported splitsoverwrite (False) – whether to overwrite any existing files
cleanup (True) – whether to cleanup any temporary files generated during download
**kwargs – optional arguments for the
ZooDataset
constructor or the remote dataset’sdownload_and_prepare()
method
- Returns
a tuple of
info: the
ZooDatasetInfo
for the datasetdataset_dir: the directory containing the dataset
-
fiftyone.zoo.
load_zoo_dataset
(name_or_url, split=None, splits=None, label_field=None, dataset_name=None, download_if_necessary=True, drop_existing_dataset=False, persistent=False, overwrite=False, cleanup=True, progress=None, **kwargs)¶ Loads the specified dataset from the FiftyOne Dataset Zoo.
By default, the dataset will be downloaded if necessary.
Note
To download from a private GitHub repository that you have access to, provide your GitHub personal access token by setting the
GITHUB_TOKEN
environment variable.If you do not specify a custom
dataset_name
and you have previously loaded the same zoo dataset and split(s) into FiftyOne, the existing dataset will be returned.- Parameters
name_or_url –
the name of the zoo dataset to load, or the remote source to load it from, which can be:
a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
split (None) –
("train", "validation", "test")
. If neithersplit
norsplits
are provided, all available splits are loaded. Consult the documentation for theZooDataset
you specified to see the supported splitssplits (None) – a list of splits to load, if applicable. Typical values are
("train", "validation", "test")
. If neithersplit
norsplits
are provided, all available splits are loaded. Consult the documentation for theZooDataset
you specified to see the supported splitslabel_field (None) – the label field (or prefix, if the dataset contains multiple label fields) in which to store the dataset’s labels. By default, this is
"ground_truth"
if the dataset contains a single label field. If the dataset contains multiple label fields and this value is not provided, the labels will be stored under dataset-specific field namesdataset_name (None) – an optional name to give the returned
fiftyone.core.dataset.Dataset
. By default, a name will be constructed based on the dataset and split(s) you are loadingdownload_if_necessary (True) – whether to download the dataset if it is not found in the specified dataset directory
drop_existing_dataset (False) – whether to drop an existing dataset with the same name if it exists
persistent (False) – whether the dataset should persist in the database after the session terminates
overwrite (False) – whether to overwrite any existing files if the dataset is to be downloaded
cleanup (True) – whether to cleanup any temporary files generated during download
progress (None) – whether to render a progress bar (True/False), use the default value
fiftyone.config.show_progress_bars
(None), or a progress callback function to invoke instead**kwargs – optional arguments to pass to the
fiftyone.utils.data.importers.DatasetImporter
constructor or the remote dataset’sload_dataset()` method. If ``download_if_necessary == True
, thenkwargs
can also contain arguments fordownload_zoo_dataset()
- Returns
-
fiftyone.zoo.
find_zoo_dataset
(name_or_url, split=None)¶ Returns the directory containing the given zoo dataset.
If a
split
is provided, the path to the dataset split is returned; otherwise, the path to the root directory is returned.The dataset must be downloaded. Use
download_zoo_dataset()
to download datasets.- Parameters
name_or_url –
the name of the zoo dataset or its remote source, which can be:
a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
split (None) – a specific split to locate
- Returns
the directory containing the dataset or split
- Raises
ValueError – if the dataset or split does not exist or has not been downloaded
-
fiftyone.zoo.
load_zoo_dataset_info
(name_or_url)¶ Loads the
ZooDatasetInfo
for the specified zoo dataset.The dataset must be downloaded. Use
download_zoo_dataset()
to download datasets.- Parameters
name_or_url –
the name of the zoo dataset or its remote source, which can be:
a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
- Returns
the
ZooDatasetInfo
for the dataset- Raises
ValueError – if the dataset has not been downloaded
-
fiftyone.zoo.
get_zoo_dataset
(name_or_url, overwrite=False, **kwargs)¶ Returns the
ZooDataset
instance for the given dataset.If the dataset is available from multiple sources, the default source is used.
- Parameters
name_or_url –
the name of the zoo dataset, or its remote source, which can be:
a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
overwrite (False) – whether to overwrite existing metadata if it has already been downloaded. Only applicable when
name_or_url
is a remote source**kwargs – optional arguments for
ZooDataset
- Returns
the
ZooDataset
instance
-
fiftyone.zoo.
delete_zoo_dataset
(name_or_url, split=None)¶ Deletes the zoo dataset from local disk, if necessary.
If a
split
is provided, only that split is deleted.- Parameters
name_or_url –
the name of the zoo dataset, or its remote source, which can be:
a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
split (None) –
-
class
fiftyone.zoo.
ZooDatasetInfo
(zoo_dataset, dataset_type, num_samples, downloaded_splits=None, parameters=None, classes=None)¶ Bases:
eta.core.serial.Serializable
Class containing info about a dataset in the FiftyOne Dataset Zoo.
- Parameters
zoo_dataset – the
ZooDataset
instance for the datasetdataset_type – the
fiftyone.types.Dataset
type of the datasetnum_samples – the total number of samples in all downloaded splits of the dataset
downloaded_splits (None) – a dict of
ZooDatasetSplitInfo
instances describing the downloaded splits of the dataset, if applicableparameters (None) – a dict of parameters for the dataset
classes (None) – a list of class label strings
Attributes:
The name of the dataset.
The fully-qualified class string for the
ZooDataset
of the dataset.The fully-qualified class string of the
fiftyone.types.Dataset
type, if any.A tuple of supported splits for the dataset, or None if the dataset does not have splits.
The dataset’s URL, or None if it is not remotely-sourced.
Methods:
Returns the
ZooDataset
instance for the dataset.Returns the
fiftyone.types.Dataset
type instance for the dataset.is_split_downloaded
(split)Whether the given dataset split is downloaded.
add_split
(split_info)Adds the split to the dataset.
remove_split
(split)Removes the split from the dataset.
Returns a list of class attributes to be serialized.
from_dict
(d)Loads a
ZooDatasetInfo
from a JSON dictionary.from_json
(json_path[, zoo_dataset, upgrade, …])Loads a
ZooDatasetInfo
from a JSON file on disk.copy
()Returns a deep copy of the object.
custom_attributes
([dynamic, private])Returns a customizable list of class attributes.
from_str
(s, *args, **kwargs)Constructs a Serializable object from a JSON string.
Returns the fully-qualified class name string of this object.
serialize
([reflective])Serializes the object into a dictionary.
to_str
([pretty_print])Returns a string representation of this object.
write_json
(path[, pretty_print])Serializes the object and writes it to disk.
-
property
name
¶ The name of the dataset.
-
property
zoo_dataset
¶ The fully-qualified class string for the
ZooDataset
of the dataset.
-
property
dataset_type
¶ The fully-qualified class string of the
fiftyone.types.Dataset
type, if any.
-
property
supported_splits
¶ A tuple of supported splits for the dataset, or None if the dataset does not have splits.
-
property
url
¶ The dataset’s URL, or None if it is not remotely-sourced.
-
get_zoo_dataset
()¶ Returns the
ZooDataset
instance for the dataset.- Returns
a
ZooDataset
instance
-
get_dataset_type
()¶ Returns the
fiftyone.types.Dataset
type instance for the dataset.- Returns
a
fiftyone.types.Dataset
instance
-
is_split_downloaded
(split)¶ Whether the given dataset split is downloaded.
- Parameters
split – the dataset split
- Returns
True/False
-
add_split
(split_info)¶ Adds the split to the dataset.
- Parameters
split_info – a
ZooDatasetSplitInfo
-
remove_split
(split)¶ Removes the split from the dataset.
- Parameters
split – the name of the split
-
attributes
()¶ Returns a list of class attributes to be serialized.
- Returns
a list of class attributes
-
classmethod
from_dict
(d)¶ Loads a
ZooDatasetInfo
from a JSON dictionary.- Parameters
d – a JSON dictionary
- Returns
-
classmethod
from_json
(json_path, zoo_dataset=None, upgrade=False, warn_deprecated=False)¶ Loads a
ZooDatasetInfo
from a JSON file on disk.- Parameters
json_path – path to JSON file
zoo_dataset (None) – an existing
ZooDataset
instanceupgrade (False) – whether to upgrade the JSON file on disk if any migrations were necessary
warn_deprecated (False) – whether to issue a warning if the dataset has a deprecated format
- Returns
-
copy
()¶ Returns a deep copy of the object.
- Returns
a Serializable instance
-
custom_attributes
(dynamic=False, private=False)¶ Returns a customizable list of class attributes.
By default, all attributes in vars(self) are returned, minus private attributes (those starting with “_”).
- Parameters
dynamic – whether to include dynamic properties, e.g., those defined by getter/setter methods or the @property decorator. By default, this is False
private – whether to include private properties, i.e., those starting with “_”. By default, this is False
- Returns
a list of class attributes
-
classmethod
from_str
(s, *args, **kwargs)¶ Constructs a Serializable object from a JSON string.
Subclasses may override this method, but, by default, this method simply parses the string and calls from_dict(), which subclasses must implement.
- Parameters
s – a JSON string representation of a Serializable object
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
get_class_name
()¶ Returns the fully-qualified class name string of this object.
-
serialize
(reflective=False)¶ Serializes the object into a dictionary.
Serialization is applied recursively to all attributes in the object, including element-wise serialization of lists and dictionary values.
- Parameters
reflective – whether to include reflective attributes when serializing the object. By default, this is False
- Returns
a JSON dictionary representation of the object
-
to_str
(pretty_print=True, **kwargs)¶ Returns a string representation of this object.
- Parameters
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is True
**kwargs – optional keyword arguments for self.serialize()
- Returns
a string representation of the object
-
write_json
(path, pretty_print=False, **kwargs)¶ Serializes the object and writes it to disk.
- Parameters
path – the output path
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is False
**kwargs – optional keyword arguments for self.serialize()
-
class
fiftyone.zoo.
ZooDatasetSplitInfo
(split, num_samples)¶ Bases:
eta.core.serial.Serializable
Class containing info about a split of a dataset in the FiftyOne Dataset Zoo.
- Parameters
split – the name of the split
num_samples – the number of samples in the split
Methods:
Returns a list of class attributes to be serialized.
from_dict
(d)Loads a
ZooDatasetSplitInfo
from a JSON dictionary.copy
()Returns a deep copy of the object.
custom_attributes
([dynamic, private])Returns a customizable list of class attributes.
from_json
(path, *args, **kwargs)Constructs a Serializable object from a JSON file.
from_str
(s, *args, **kwargs)Constructs a Serializable object from a JSON string.
Returns the fully-qualified class name string of this object.
serialize
([reflective])Serializes the object into a dictionary.
to_str
([pretty_print])Returns a string representation of this object.
write_json
(path[, pretty_print])Serializes the object and writes it to disk.
-
attributes
()¶ Returns a list of class attributes to be serialized.
- Returns
a list of class attributes
-
classmethod
from_dict
(d)¶ Loads a
ZooDatasetSplitInfo
from a JSON dictionary.- Parameters
d – a JSON dictionary
- Returns
-
copy
()¶ Returns a deep copy of the object.
- Returns
a Serializable instance
-
custom_attributes
(dynamic=False, private=False)¶ Returns a customizable list of class attributes.
By default, all attributes in vars(self) are returned, minus private attributes (those starting with “_”).
- Parameters
dynamic – whether to include dynamic properties, e.g., those defined by getter/setter methods or the @property decorator. By default, this is False
private – whether to include private properties, i.e., those starting with “_”. By default, this is False
- Returns
a list of class attributes
-
classmethod
from_json
(path, *args, **kwargs)¶ Constructs a Serializable object from a JSON file.
Subclasses may override this method, but, by default, this method simply reads the JSON and calls from_dict(), which subclasses must implement.
- Parameters
path – the path to the JSON file on disk
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
from_str
(s, *args, **kwargs)¶ Constructs a Serializable object from a JSON string.
Subclasses may override this method, but, by default, this method simply parses the string and calls from_dict(), which subclasses must implement.
- Parameters
s – a JSON string representation of a Serializable object
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
get_class_name
()¶ Returns the fully-qualified class name string of this object.
-
serialize
(reflective=False)¶ Serializes the object into a dictionary.
Serialization is applied recursively to all attributes in the object, including element-wise serialization of lists and dictionary values.
- Parameters
reflective – whether to include reflective attributes when serializing the object. By default, this is False
- Returns
a JSON dictionary representation of the object
-
to_str
(pretty_print=True, **kwargs)¶ Returns a string representation of this object.
- Parameters
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is True
**kwargs – optional keyword arguments for self.serialize()
- Returns
a string representation of the object
-
write_json
(path, pretty_print=False, **kwargs)¶ Serializes the object and writes it to disk.
- Parameters
path – the output path
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is False
**kwargs – optional keyword arguments for self.serialize()
-
class
fiftyone.zoo.
ZooDataset
¶ Bases:
object
Base class for datasets made available in the FiftyOne Dataset Zoo.
Attributes:
The name of the dataset.
Whether the dataset is remotely-sourced.
A tuple of tags for the dataset.
Whether the dataset has tags.
An optional dict of parameters describing the configuration of the zoo dataset when it was downloaded.
A tuple of supported splits for the dataset, or None if the dataset does not have splits.
Whether the dataset has splits.
Whether the dataset has patches that may need to be applied to already downloaded files.
Whether the dataset supports downloading partial subsets of its splits.
Whether this dataset requires some files to be manually downloaded by the user before the dataset can be loaded.
A dict of default kwargs to pass to this dataset’s
fiftyone.utils.data.importers.DatasetImporter
.Methods:
has_tag
(tag)Whether the dataset has the given tag.
has_split
(split)Whether the dataset has the given split.
get_split_dir
(dataset_dir, split)Returns the directory for the given split of the dataset.
has_info
(dataset_dir)Determines whether the directory contains
ZooDatasetInfo
.load_info
(dataset_dir[, upgrade, …])Loads the
ZooDatasetInfo
from the given dataset directory.get_info_path
(dataset_dir)Returns the path to the
ZooDatasetInfo
for the dataset.download_and_prepare
(dataset_dir[, split, …])Downloads the dataset and prepares it for use.
-
property
name
¶ The name of the dataset.
-
property
is_remote
¶ Whether the dataset is remotely-sourced.
A tuple of tags for the dataset.
Whether the dataset has tags.
-
property
parameters
¶ An optional dict of parameters describing the configuration of the zoo dataset when it was downloaded.
-
property
supported_splits
¶ A tuple of supported splits for the dataset, or None if the dataset does not have splits.
-
property
has_splits
¶ Whether the dataset has splits.
-
property
has_patches
¶ Whether the dataset has patches that may need to be applied to already downloaded files.
-
property
supports_partial_downloads
¶ Whether the dataset supports downloading partial subsets of its splits.
-
property
requires_manual_download
¶ Whether this dataset requires some files to be manually downloaded by the user before the dataset can be loaded.
-
property
importer_kwargs
¶ A dict of default kwargs to pass to this dataset’s
fiftyone.utils.data.importers.DatasetImporter
.
-
has_tag
(tag)¶ Whether the dataset has the given tag.
- Parameters
tag – the tag
- Returns
True/False
-
has_split
(split)¶ Whether the dataset has the given split.
- Parameters
split – the dataset split
- Returns
True/False
-
get_split_dir
(dataset_dir, split)¶ Returns the directory for the given split of the dataset.
- Parameters
dataset_dir – the dataset directory
split – the dataset split
- Returns
the directory that will/does hold the specified split
-
static
has_info
(dataset_dir)¶ Determines whether the directory contains
ZooDatasetInfo
.- Parameters
dataset_dir – the dataset directory
- Returns
True/False
-
static
load_info
(dataset_dir, upgrade=True, warn_deprecated=False)¶ Loads the
ZooDatasetInfo
from the given dataset directory.- Parameters
dataset_dir – the directory in which to construct the dataset
upgrade (True) – whether to upgrade the JSON file on disk if any migrations were necessary
warn_deprecated (False) – whether to issue a warning if the dataset has a deprecated format
- Returns
the
ZooDatasetInfo
for the dataset
-
static
get_info_path
(dataset_dir)¶ Returns the path to the
ZooDatasetInfo
for the dataset.- Parameters
dataset_dir – the dataset directory
- Returns
the path to the
ZooDatasetInfo
-
download_and_prepare
(dataset_dir, split=None, splits=None, cleanup=True)¶ Downloads the dataset and prepares it for use.
If the requested splits have already been downloaded, they are not re-downloaded.
- Parameters
dataset_dir – the directory in which to construct the dataset
split (None) –
split
norsplits
are provided, the full dataset is downloadedsplits (None) – a list of splits to download, if applicable. If neither
split
norsplits
are provided, the full dataset is downloadedcleanup (True) – whether to cleanup any temporary files generated during download
- Returns
the
ZooDatasetInfo
for the dataset
-
property
-
class
fiftyone.zoo.
RemoteZooDataset
(dataset_dir, url=None, **kwargs)¶ Bases:
fiftyone.zoo.datasets.ZooDataset
Class for working with remotely-sourced datasets that are compatible with the FiftyOne Dataset Zoo.
- Parameters
dataset_dir – the dataset’s local directory, which must contain a valid dataset YAML file
url (None) –
the dataset’s remote source, which can be:
a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
This is explicitly provided rather than relying on the YAML file’s
url
property in case the caller has specified a particular branch or commit**kwargs – optional keyword arguments for the dataset’s download_and_prepare() and/or load_dataset() methods
Attributes:
The name of the dataset.
Whether the dataset is remotely-sourced.
A tuple of tags for the dataset.
A tuple of supported splits for the dataset, or None if the dataset does not have splits.
Whether the dataset supports downloading partial subsets of its splits.
Whether the dataset has patches that may need to be applied to already downloaded files.
Whether the dataset has splits.
Whether the dataset has tags.
A dict of default kwargs to pass to this dataset’s
fiftyone.utils.data.importers.DatasetImporter
.An optional dict of parameters describing the configuration of the zoo dataset when it was downloaded.
Whether this dataset requires some files to be manually downloaded by the user before the dataset can be loaded.
Methods:
download_and_prepare
(dataset_dir[, split, …])Downloads the dataset and prepares it for use.
get_info_path
(dataset_dir)Returns the path to the
ZooDatasetInfo
for the dataset.get_split_dir
(dataset_dir, split)Returns the directory for the given split of the dataset.
has_info
(dataset_dir)Determines whether the directory contains
ZooDatasetInfo
.has_split
(split)Whether the dataset has the given split.
has_tag
(tag)Whether the dataset has the given tag.
load_info
(dataset_dir[, upgrade, …])Loads the
ZooDatasetInfo
from the given dataset directory.-
property
metadata
¶
-
property
name
¶ The name of the dataset.
-
property
url
¶
-
property
is_remote
¶ Whether the dataset is remotely-sourced.
-
property
version
¶
-
property
source
¶
-
property
license
¶
-
property
description
¶
-
property
fiftyone_version
¶
A tuple of tags for the dataset.
-
property
supported_splits
¶ A tuple of supported splits for the dataset, or None if the dataset does not have splits.
-
property
supports_partial_downloads
¶ Whether the dataset supports downloading partial subsets of its splits.
-
property
size_samples
¶
-
download_and_prepare
(dataset_dir, split=None, splits=None, cleanup=True)¶ Downloads the dataset and prepares it for use.
If the requested splits have already been downloaded, they are not re-downloaded.
- Parameters
dataset_dir – the directory in which to construct the dataset
split (None) –
split
norsplits
are provided, the full dataset is downloadedsplits (None) – a list of splits to download, if applicable. If neither
split
norsplits
are provided, the full dataset is downloadedcleanup (True) – whether to cleanup any temporary files generated during download
- Returns
the
ZooDatasetInfo
for the dataset
-
static
get_info_path
(dataset_dir)¶ Returns the path to the
ZooDatasetInfo
for the dataset.- Parameters
dataset_dir – the dataset directory
- Returns
the path to the
ZooDatasetInfo
-
get_split_dir
(dataset_dir, split)¶ Returns the directory for the given split of the dataset.
- Parameters
dataset_dir – the dataset directory
split – the dataset split
- Returns
the directory that will/does hold the specified split
-
static
has_info
(dataset_dir)¶ Determines whether the directory contains
ZooDatasetInfo
.- Parameters
dataset_dir – the dataset directory
- Returns
True/False
-
property
has_patches
¶ Whether the dataset has patches that may need to be applied to already downloaded files.
-
has_split
(split)¶ Whether the dataset has the given split.
- Parameters
split – the dataset split
- Returns
True/False
-
property
has_splits
¶ Whether the dataset has splits.
-
has_tag
(tag)¶ Whether the dataset has the given tag.
- Parameters
tag – the tag
- Returns
True/False
Whether the dataset has tags.
-
property
importer_kwargs
¶ A dict of default kwargs to pass to this dataset’s
fiftyone.utils.data.importers.DatasetImporter
.
-
static
load_info
(dataset_dir, upgrade=True, warn_deprecated=False)¶ Loads the
ZooDatasetInfo
from the given dataset directory.- Parameters
dataset_dir – the directory in which to construct the dataset
upgrade (True) – whether to upgrade the JSON file on disk if any migrations were necessary
warn_deprecated (False) – whether to issue a warning if the dataset has a deprecated format
- Returns
the
ZooDatasetInfo
for the dataset
-
property
parameters
¶ An optional dict of parameters describing the configuration of the zoo dataset when it was downloaded.
-
property
requires_manual_download
¶ Whether this dataset requires some files to be manually downloaded by the user before the dataset can be loaded.
-
class
fiftyone.zoo.
DeprecatedZooDataset
¶ Bases:
fiftyone.zoo.datasets.ZooDataset
Class representing a zoo dataset that no longer exists in the FiftyOne Dataset Zoo.
Attributes:
The name of the dataset.
A tuple of supported splits for the dataset, or None if the dataset does not have splits.
Whether the dataset has patches that may need to be applied to already downloaded files.
Whether the dataset has splits.
Whether the dataset has tags.
A dict of default kwargs to pass to this dataset’s
fiftyone.utils.data.importers.DatasetImporter
.Whether the dataset is remotely-sourced.
An optional dict of parameters describing the configuration of the zoo dataset when it was downloaded.
Whether this dataset requires some files to be manually downloaded by the user before the dataset can be loaded.
Whether the dataset supports downloading partial subsets of its splits.
A tuple of tags for the dataset.
Methods:
download_and_prepare
(dataset_dir[, split, …])Downloads the dataset and prepares it for use.
get_info_path
(dataset_dir)Returns the path to the
ZooDatasetInfo
for the dataset.get_split_dir
(dataset_dir, split)Returns the directory for the given split of the dataset.
has_info
(dataset_dir)Determines whether the directory contains
ZooDatasetInfo
.has_split
(split)Whether the dataset has the given split.
has_tag
(tag)Whether the dataset has the given tag.
load_info
(dataset_dir[, upgrade, …])Loads the
ZooDatasetInfo
from the given dataset directory.-
property
name
¶ The name of the dataset.
-
property
supported_splits
¶ A tuple of supported splits for the dataset, or None if the dataset does not have splits.
-
download_and_prepare
(dataset_dir, split=None, splits=None, cleanup=True)¶ Downloads the dataset and prepares it for use.
If the requested splits have already been downloaded, they are not re-downloaded.
- Parameters
dataset_dir – the directory in which to construct the dataset
split (None) –
split
norsplits
are provided, the full dataset is downloadedsplits (None) – a list of splits to download, if applicable. If neither
split
norsplits
are provided, the full dataset is downloadedcleanup (True) – whether to cleanup any temporary files generated during download
- Returns
the
ZooDatasetInfo
for the dataset
-
static
get_info_path
(dataset_dir)¶ Returns the path to the
ZooDatasetInfo
for the dataset.- Parameters
dataset_dir – the dataset directory
- Returns
the path to the
ZooDatasetInfo
-
get_split_dir
(dataset_dir, split)¶ Returns the directory for the given split of the dataset.
- Parameters
dataset_dir – the dataset directory
split – the dataset split
- Returns
the directory that will/does hold the specified split
-
static
has_info
(dataset_dir)¶ Determines whether the directory contains
ZooDatasetInfo
.- Parameters
dataset_dir – the dataset directory
- Returns
True/False
-
property
has_patches
¶ Whether the dataset has patches that may need to be applied to already downloaded files.
-
has_split
(split)¶ Whether the dataset has the given split.
- Parameters
split – the dataset split
- Returns
True/False
-
property
has_splits
¶ Whether the dataset has splits.
-
has_tag
(tag)¶ Whether the dataset has the given tag.
- Parameters
tag – the tag
- Returns
True/False
Whether the dataset has tags.
-
property
importer_kwargs
¶ A dict of default kwargs to pass to this dataset’s
fiftyone.utils.data.importers.DatasetImporter
.
-
property
is_remote
¶ Whether the dataset is remotely-sourced.
-
static
load_info
(dataset_dir, upgrade=True, warn_deprecated=False)¶ Loads the
ZooDatasetInfo
from the given dataset directory.- Parameters
dataset_dir – the directory in which to construct the dataset
upgrade (True) – whether to upgrade the JSON file on disk if any migrations were necessary
warn_deprecated (False) – whether to issue a warning if the dataset has a deprecated format
- Returns
the
ZooDatasetInfo
for the dataset
-
property
parameters
¶ An optional dict of parameters describing the configuration of the zoo dataset when it was downloaded.
-
property
requires_manual_download
¶ Whether this dataset requires some files to be manually downloaded by the user before the dataset can be loaded.
-
property
supports_partial_downloads
¶ Whether the dataset supports downloading partial subsets of its splits.
A tuple of tags for the dataset.
-
property
-
class
fiftyone.zoo.
defaultdict
¶ Bases:
dict
defaultdict(default_factory=None, /, […]) –> dict with default factory
The default factory is called without arguments to produce a new value when a key is not present, in __getitem__ only. A defaultdict compares equal to a dict with the same items. All remaining arguments are treated the same as if they were passed to the dict constructor, including keyword arguments.
Methods:
clear
()copy
()fromkeys
([value])Create a new dictionary with keys from iterable and values set to value.
get
(key[, default])Return the value for key if key is in the dictionary, else default.
items
()keys
()pop
(k[,d])If key is not found, default is returned if given, otherwise KeyError is raised
popitem
()Remove and return a (key, value) pair as a 2-tuple.
setdefault
(key[, default])Insert key with a value of default if key is not in the dictionary.
update
([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values
()Attributes:
Factory for default value called by __missing__().
-
clear
() → None. Remove all items from D.¶
-
copy
() → a shallow copy of D.¶
-
default_factory
¶ Factory for default value called by __missing__().
-
fromkeys
(value=None, /)¶ Create a new dictionary with keys from iterable and values set to value.
-
get
(key, default=None, /)¶ Return the value for key if key is in the dictionary, else default.
-
items
() → a set-like object providing a view on D’s items¶
-
keys
() → a set-like object providing a view on D’s keys¶
-
pop
(k[, d]) → v, remove specified key and return the corresponding value.¶ If key is not found, default is returned if given, otherwise KeyError is raised
-
popitem
()¶ Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.
-
setdefault
(key, default=None, /)¶ Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
-
update
([E, ]**F) → None. Update D from dict/iterable E and F.¶ If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
-
values
() → an object providing a view on D’s values¶
-
-
fiftyone.zoo.
deepcopy
(x, memo=None, _nil=[])¶ Deep copy operation on arbitrary Python objects.
See the module’s __doc__ string for more info.
-
exception
fiftyone.zoo.
ConfigError
¶ Bases:
Exception
Exception raised when an invalid Config instance is encountered.
-
args
¶
-
with_traceback
()¶ Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.
-
-
fiftyone.zoo.
list_zoo_models
(tags=None, source=None)¶ Returns the list of available models in the FiftyOne Model Zoo.
Also includes models from any remote sources that you’ve registered.
Example usage:
import fiftyone as fo import fiftyone.zoo as foz # # List all zoo models # names = foz.list_zoo_models() print(names) # # List all zoo models with the specified tag(s) # names = foz.list_zoo_models(tags="torch") print(names)
- Parameters
tags (None) – only include models that have the specified tag or list of tags
source (None) – only include models available via the given remote source
- Returns
a list of model names
-
fiftyone.zoo.
list_downloaded_zoo_models
()¶ Returns information about the zoo models that have been downloaded.
- Returns
a dict mapping model names to (model path,
ZooModel
) tuples
-
fiftyone.zoo.
is_zoo_model_downloaded
(name)¶ Determines whether the zoo model of the given name is downloaded.
- Parameters
name – the name of the zoo model, which can have
@<ver>
appended to refer to a specific version of the model- Returns
True/False
-
fiftyone.zoo.
download_zoo_model
(name_or_url, model_name=None, overwrite=False)¶ Downloads the specified model from the FiftyOne Model Zoo.
If the model is already downloaded, it is not re-downloaded unless
overwrite == True
is specified.Note
To download from a private GitHub repository that you have access to, provide your GitHub personal access token by setting the
GITHUB_TOKEN
environment variable.- Parameters
name_or_url –
the name of the zoo model to download, which can have
@<ver>
appended to refer to a specific version of the model, or the remote source to download it from, which can be:a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
model_name (None) – the specific model to download, if
name_or_url
is a remote sourceoverwrite (False) – whether to overwrite any existing files
- Returns
tuple of
model: the
ZooModel
for the modelmodel_path: the path to the downloaded model on disk
-
fiftyone.zoo.
install_zoo_model_requirements
(name, error_level=None)¶ Installs any package requirements for the specified zoo model.
- Parameters
name – the name of the zoo model, which can have
@<ver>
appended to refer to a specific version of the modelerror_level (None) –
the error level to use, defined as:
0: raise error if a requirement install fails
1: log warning if a requirement install fails
2: ignore install fails requirements
By default,
fo.config.requirement_error_level
is used
-
fiftyone.zoo.
ensure_zoo_model_requirements
(name, error_level=None, log_success=True)¶ Ensures that the package requirements for the specified zoo model are satisfied.
- Parameters
name – the name of the zoo model, which can have
@<ver>
appended to refer to a specific version of the modelerror_level (None) –
the error level to use when installing/ensuring requirements, defined as:
0: raise error if a requirement is not satisfied
1: log warning if a requirement is not satisfied
2: ignore unsatisfied requirements
By default,
fo.config.requirement_error_level
is usedlog_success (True) – whether to generate a log message when a requirement is satisfied
-
fiftyone.zoo.
load_zoo_model
(name_or_url, model_name=None, download_if_necessary=True, ensure_requirements=True, install_requirements=False, error_level=None, cache=True, **kwargs)¶ Loads the specified model from the FiftyOne Model Zoo.
By default, the model will be downloaded if necessary, and any documented package requirements will be checked to ensure that they are installed.
Note
To download from a private GitHub repository that you have access to, provide your GitHub personal access token by setting the
GITHUB_TOKEN
environment variable.- Parameters
name_or_url –
the name of the zoo model to load, which can have
@<ver>
appended to refer to a specific version of the model, or the remote source to load it from, which can be:a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
model_name (None) – the specific model to load, if
name_or_url
is a remote sourcedownload_if_necessary (True) – whether to download the model if necessary
ensure_requirements (True) – whether to ensure any requirements are installed before loading the model
install_requirements (False) – whether to install any requirements before loading the model
error_level (None) –
the error level to use when installing/ensuring requirements, defined as:
0: raise error if a requirement is not satisfied
1: log warning if a requirement is not satisfied
2: ignore unsatisfied requirements
By default,
fo.config.requirement_error_level
is usedcache (True) – whether to store a weak reference to the model so that running this method again will return the same instance while the model is still in use
**kwargs – keyword arguments to inject into the model’s
Config
instance
- Returns
-
fiftyone.zoo.
find_zoo_model
(name)¶ Returns the path to the zoo model on disk.
The model must be downloaded. Use
download_zoo_model()
to download models.- Parameters
name – the name of the zoo model, which can have
@<ver>
appended to refer to a specific version of the model- Returns
the path to the model on disk
- Raises
ValueError – if the model does not exist or has not been downloaded
-
fiftyone.zoo.
get_zoo_model
(name)¶ Returns the
ZooModel
instance for the specified zoo model.- Parameters
name – the name of the zoo model, which can have
@<ver>
appended to refer to a specific version of the model- Returns
a
ZooModel
-
fiftyone.zoo.
delete_zoo_model
(name)¶ Deletes the zoo model from local disk, if necessary.
- Parameters
name – the name of the zoo model, which can have
@<ver>
appended to refer to a specific version of the model
-
fiftyone.zoo.
list_zoo_model_sources
()¶ Returns the list of remote model sources that are registered locally.
- Returns
the list of remote sources
-
fiftyone.zoo.
register_zoo_model_source
(url_or_gh_repo, overwrite=False)¶ Registers a remote source of models, if necessary.
Note
To download from a private GitHub repository that you have access to, provide your GitHub personal access token by setting the
GITHUB_TOKEN
environment variable.- Parameters
url_or_gh_repo –
the remote source to register, which can be:
a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
overwrite (False) – whether to overwrite any existing files
-
fiftyone.zoo.
delete_zoo_model_source
(url_or_gh_repo)¶ Deletes the specified remote source and all downloaded models associated with it.
- Parameters
url_or_gh_repo –
the remote source to delete, which can be:
a GitHub repo URL like
https://github.com/<user>/<repo>
a GitHub ref like
https://github.com/<user>/<repo>/tree/<branch>
orhttps://github.com/<user>/<repo>/commit/<commit>
a GitHub ref string like
<user>/<repo>[/<ref>]
a publicly accessible URL of an archive (eg zip or tar) file
-
class
fiftyone.zoo.
HasZooModel
¶ Bases:
eta.core.learning.HasPublishedModel
Mixin class for Config classes of
fiftyone.core.models.Model
instances whose models are stored in the FiftyOne Model Zoo.This class provides the following functionality:
The model to load can be specified either by:
providing a model_name, which specifies the zoo model to load. The model will be downloaded, if necessary
providing a model_path, which directly specifies the path to the model to load
fiftyone.core.models.ModelConfig
definitions that use zoo models with default deployments will have default values for any unspecified parameters loaded and applied at runtime
- Parameters
model_name – the name of the zoo model to load. If this value is provided, model_path does not need to be
model_path – the path to an already downloaded zoo model on disk to load. If this value is provided, model_name does not need to be
Methods:
Downloads the published model specified by the config, if necessary.
init
(d)Initializes the published model config.
-
download_model_if_necessary
()¶ Downloads the published model specified by the config, if necessary.
After this method is called, the model_path attribute will always contain the path to the model on disk.
-
init
(d)¶ Initializes the published model config.
This method should be called by ModelConfig.__init__(), and it performs the following tasks:
Parses the model_name and model_path parameters
Populates any default parameters in the provided ModelConfig dict
- Parameters
d – a ModelConfig dict
- Returns
a ModelConfig dict with any default parameters populated
-
class
fiftyone.zoo.
ZooModel
(base_name, base_filename=None, subdir=None, manager=None, author=None, version=None, url=None, source=None, license=None, description=None, size_bytes=None, default_deployment_config_dict=None, requirements=None, tags=None, date_added=None)¶ Bases:
eta.core.models.Model
Class describing a model in the FiftyOne Model Zoo.
- Parameters
base_name – the base name of the model (no version info)
base_filename (None) – the base filename or directory of the model (no version info), if applicable
author (None) – the author of the model
version (None) – the version of the model
url (None) – the URL at which the model is hosted
license (None) – the license under which the model is distributed
source (None) – the source of the model
description (None) – the description of the model
tags (None) – a list of tags for the model
size_bytes (None) – the size of the model on disk
date_added (None) – the datetime that the model was added to the zoo
requirements (None) – the
eta.core.models.ModelRequirements
for the modelmanager (None) – the
fiftyone.core.models.ModelManager
instance that describes the remote storage location of the model, if applicabledefault_deployment_config_dict (None) – a
fiftyone.core.models.ModelConfig
dict describing the recommended settings for deploying the model
Methods:
Returns a list of class attributes to be serialized.
copy
()Returns a deep copy of the object.
custom_attributes
([dynamic, private])Returns a customizable list of class attributes.
download_model
(model_path[, force])Downloads the model to the given local path.
ensure_requirements
([error_level, log_success])Ensures that any requirement(s) for this model are satisfied.
flush_model
(model_path)Flushes the copy of the model at the given local path, if necessary.
flush_model_from_dir
(models_dir)Flushes the copy of the model in the given models directory, if necessary.
from_dict
(d[, subdir])Constructs a Model from a JSON dictionary.
from_json
(path, *args, **kwargs)Constructs a Serializable object from a JSON file.
from_str
(s, *args, **kwargs)Constructs a Serializable object from a JSON string.
Returns the fully-qualified class name string of this object.
get_path_in_dir
(models_dir)Gets the model path for the model in the given models directory.
has_tag
(tag)Whether this model has the given tag.
has_version_str
(name)Determines whether the given model name has a version string.
install_requirements
([error_level])Installs any necessary requirement(s) for this model.
is_in_dir
(models_dir)Determines whether a copy of the model exists in the given models directory.
is_model_downloaded
(model_path)Determines whether the model is downloaded to the given location.
parse_name
(name)Parses the model name, returning the base name and the version, if any.
serialize
([reflective])Serializes the object into a dictionary.
to_str
([pretty_print])Returns a string representation of this object.
write_json
(path[, pretty_print])Serializes the object and writes it to disk.
Attributes:
The version of this model expressed as a distutils.version.LooseVersion intended for comparison operations.
The version-aware filename of the model.
Whether this model has a manager instance.
Whether this model has requirements in order to be used.
Whether this model has tags.
Determines whether the model has a version.
The version-aware name of the model.
Whether the model supports CPU (True), or not (False), or unknown (None).
Whether the model supports GPU (True), or not (False), or unknown (None).
-
attributes
()¶ Returns a list of class attributes to be serialized.
- Returns
a list of class attributes
-
property
comp_version
¶ The version of this model expressed as a distutils.version.LooseVersion intended for comparison operations.
Models with no version are given a version of 0.0.0.
-
copy
()¶ Returns a deep copy of the object.
- Returns
a Serializable instance
-
custom_attributes
(dynamic=False, private=False)¶ Returns a customizable list of class attributes.
By default, all attributes in vars(self) are returned, minus private attributes (those starting with “_”).
- Parameters
dynamic – whether to include dynamic properties, e.g., those defined by getter/setter methods or the @property decorator. By default, this is False
private – whether to include private properties, i.e., those starting with “_”. By default, this is False
- Returns
a list of class attributes
-
download_model
(model_path, force=False)¶ Downloads the model to the given local path.
If the download is forced, any existing model is overwritten. If the download is not forced, the model will only be downloaded if it does not already exist locally.
If the model has no manager, nothing is downloaded.
- Parameters
model_path – the path to which to download the model
force – whether to force download the model. If True, the model is always downloaded. If False, the model is only downloaded if necessary. The default is False
- Raises
ModelError – if model downloading is not currently allowed
-
ensure_requirements
(error_level=0, log_success=False)¶ Ensures that any requirement(s) for this model are satisfied.
- Parameters
error_level –
the error level to use, defined as:
0: raise error if a requirement is not satisfied 1: log warning if a requirement is not satisifed 2: ignore unsatisifed requirements
log_success – whether to generate a log message when a requirement is satisifed
-
property
filename
¶ The version-aware filename of the model.
-
flush_model
(model_path)¶ Flushes the copy of the model at the given local path, if necessary.
- Parameters
model_path – the path on disk for the model
-
flush_model_from_dir
(models_dir)¶ Flushes the copy of the model in the given models directory, if necessary.
- Parameters
models_dir – the models directory
-
classmethod
from_dict
(d, subdir=None)¶ Constructs a Model from a JSON dictionary.
- Parameters
d – a JSON dictionary
subdir (optional) – a subdirectory for the model
- Returns
a Model instance
-
classmethod
from_json
(path, *args, **kwargs)¶ Constructs a Serializable object from a JSON file.
Subclasses may override this method, but, by default, this method simply reads the JSON and calls from_dict(), which subclasses must implement.
- Parameters
path – the path to the JSON file on disk
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
from_str
(s, *args, **kwargs)¶ Constructs a Serializable object from a JSON string.
Subclasses may override this method, but, by default, this method simply parses the string and calls from_dict(), which subclasses must implement.
- Parameters
s – a JSON string representation of a Serializable object
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
get_class_name
()¶ Returns the fully-qualified class name string of this object.
-
get_path_in_dir
(models_dir)¶ Gets the model path for the model in the given models directory.
- Parameters
models_dir – the models directory
- Returns
the model path, or None if the model has no manager
-
property
has_manager
¶ Whether this model has a manager instance.
-
property
has_requirements
¶ Whether this model has requirements in order to be used.
-
has_tag
(tag)¶ Whether this model has the given tag.
- Parameters
tag – a tag
- Returns
True/False
Whether this model has tags.
-
property
has_version
¶ Determines whether the model has a version.
-
static
has_version_str
(name)¶ Determines whether the given model name has a version string.
- Parameters
name – the model name
- Returns
True/False
-
install_requirements
(error_level=0)¶ Installs any necessary requirement(s) for this model.
- Parameters
error_level –
the error level to use, defined as:
0: raise error if an install fails 1: log warning if an install fails 2: ignore install fails
-
is_in_dir
(models_dir)¶ Determines whether a copy of the model exists in the given models directory.
- Parameters
models_dir – the models directory
- Returns
True/False, or None if the model has no manager
-
is_model_downloaded
(model_path)¶ Determines whether the model is downloaded to the given location.
If model_path is an archive, this method will also return True if a directory with the same basename as model_path exists.
- Parameters
model_path – the path on disk for the model
- Returns
True/False, or None if the model has no manager
-
property
name
¶ The version-aware name of the model.
-
static
parse_name
(name)¶ Parses the model name, returning the base name and the version, if any.
- Parameters
name – the name of the model, which can have “@<ver>” appended to refer to a specific version of the model
- Returns
the base name of the model version: the version of the model, or None if no version was found
- Return type
base_name
-
serialize
(reflective=False)¶ Serializes the object into a dictionary.
Serialization is applied recursively to all attributes in the object, including element-wise serialization of lists and dictionary values.
- Parameters
reflective – whether to include reflective attributes when serializing the object. By default, this is False
- Returns
a JSON dictionary representation of the object
-
property
supports_cpu
¶ Whether the model supports CPU (True), or not (False), or unknown (None).
-
property
supports_gpu
¶ Whether the model supports GPU (True), or not (False), or unknown (None).
-
to_str
(pretty_print=True, **kwargs)¶ Returns a string representation of this object.
- Parameters
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is True
**kwargs – optional keyword arguments for self.serialize()
- Returns
a string representation of the object
-
write_json
(path, pretty_print=False, **kwargs)¶ Serializes the object and writes it to disk.
- Parameters
path – the output path
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is False
**kwargs – optional keyword arguments for self.serialize()
-
class
fiftyone.zoo.
RemoteZooModel
(*args, **kwargs)¶ Bases:
fiftyone.zoo.models.ZooModel
Methods:
Returns a list of class attributes to be serialized.
copy
()Returns a deep copy of the object.
custom_attributes
([dynamic, private])Returns a customizable list of class attributes.
download_model
(model_path[, force])Downloads the model to the given local path.
ensure_requirements
([error_level, log_success])Ensures that any requirement(s) for this model are satisfied.
flush_model
(model_path)Flushes the copy of the model at the given local path, if necessary.
flush_model_from_dir
(models_dir)Flushes the copy of the model in the given models directory, if necessary.
from_dict
(d[, subdir])Constructs a Model from a JSON dictionary.
from_json
(path, *args, **kwargs)Constructs a Serializable object from a JSON file.
from_str
(s, *args, **kwargs)Constructs a Serializable object from a JSON string.
Returns the fully-qualified class name string of this object.
get_path_in_dir
(models_dir)Gets the model path for the model in the given models directory.
has_tag
(tag)Whether this model has the given tag.
has_version_str
(name)Determines whether the given model name has a version string.
install_requirements
([error_level])Installs any necessary requirement(s) for this model.
is_in_dir
(models_dir)Determines whether a copy of the model exists in the given models directory.
is_model_downloaded
(model_path)Determines whether the model is downloaded to the given location.
parse_name
(name)Parses the model name, returning the base name and the version, if any.
serialize
([reflective])Serializes the object into a dictionary.
to_str
([pretty_print])Returns a string representation of this object.
write_json
(path[, pretty_print])Serializes the object and writes it to disk.
Attributes:
The version of this model expressed as a distutils.version.LooseVersion intended for comparison operations.
The version-aware filename of the model.
Whether this model has a manager instance.
Whether this model has requirements in order to be used.
Whether this model has tags.
Determines whether the model has a version.
The version-aware name of the model.
Whether the model supports CPU (True), or not (False), or unknown (None).
Whether the model supports GPU (True), or not (False), or unknown (None).
-
attributes
()¶ Returns a list of class attributes to be serialized.
- Returns
a list of class attributes
-
property
comp_version
¶ The version of this model expressed as a distutils.version.LooseVersion intended for comparison operations.
Models with no version are given a version of 0.0.0.
-
copy
()¶ Returns a deep copy of the object.
- Returns
a Serializable instance
-
custom_attributes
(dynamic=False, private=False)¶ Returns a customizable list of class attributes.
By default, all attributes in vars(self) are returned, minus private attributes (those starting with “_”).
- Parameters
dynamic – whether to include dynamic properties, e.g., those defined by getter/setter methods or the @property decorator. By default, this is False
private – whether to include private properties, i.e., those starting with “_”. By default, this is False
- Returns
a list of class attributes
-
download_model
(model_path, force=False)¶ Downloads the model to the given local path.
If the download is forced, any existing model is overwritten. If the download is not forced, the model will only be downloaded if it does not already exist locally.
If the model has no manager, nothing is downloaded.
- Parameters
model_path – the path to which to download the model
force – whether to force download the model. If True, the model is always downloaded. If False, the model is only downloaded if necessary. The default is False
- Raises
ModelError – if model downloading is not currently allowed
-
ensure_requirements
(error_level=0, log_success=False)¶ Ensures that any requirement(s) for this model are satisfied.
- Parameters
error_level –
the error level to use, defined as:
0: raise error if a requirement is not satisfied 1: log warning if a requirement is not satisifed 2: ignore unsatisifed requirements
log_success – whether to generate a log message when a requirement is satisifed
-
property
filename
¶ The version-aware filename of the model.
-
flush_model
(model_path)¶ Flushes the copy of the model at the given local path, if necessary.
- Parameters
model_path – the path on disk for the model
-
flush_model_from_dir
(models_dir)¶ Flushes the copy of the model in the given models directory, if necessary.
- Parameters
models_dir – the models directory
-
classmethod
from_dict
(d, subdir=None)¶ Constructs a Model from a JSON dictionary.
- Parameters
d – a JSON dictionary
subdir (optional) – a subdirectory for the model
- Returns
a Model instance
-
classmethod
from_json
(path, *args, **kwargs)¶ Constructs a Serializable object from a JSON file.
Subclasses may override this method, but, by default, this method simply reads the JSON and calls from_dict(), which subclasses must implement.
- Parameters
path – the path to the JSON file on disk
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
from_str
(s, *args, **kwargs)¶ Constructs a Serializable object from a JSON string.
Subclasses may override this method, but, by default, this method simply parses the string and calls from_dict(), which subclasses must implement.
- Parameters
s – a JSON string representation of a Serializable object
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
get_class_name
()¶ Returns the fully-qualified class name string of this object.
-
get_path_in_dir
(models_dir)¶ Gets the model path for the model in the given models directory.
- Parameters
models_dir – the models directory
- Returns
the model path, or None if the model has no manager
-
property
has_manager
¶ Whether this model has a manager instance.
-
property
has_requirements
¶ Whether this model has requirements in order to be used.
-
has_tag
(tag)¶ Whether this model has the given tag.
- Parameters
tag – a tag
- Returns
True/False
Whether this model has tags.
-
property
has_version
¶ Determines whether the model has a version.
-
static
has_version_str
(name)¶ Determines whether the given model name has a version string.
- Parameters
name – the model name
- Returns
True/False
-
install_requirements
(error_level=0)¶ Installs any necessary requirement(s) for this model.
- Parameters
error_level –
the error level to use, defined as:
0: raise error if an install fails 1: log warning if an install fails 2: ignore install fails
-
is_in_dir
(models_dir)¶ Determines whether a copy of the model exists in the given models directory.
- Parameters
models_dir – the models directory
- Returns
True/False, or None if the model has no manager
-
is_model_downloaded
(model_path)¶ Determines whether the model is downloaded to the given location.
If model_path is an archive, this method will also return True if a directory with the same basename as model_path exists.
- Parameters
model_path – the path on disk for the model
- Returns
True/False, or None if the model has no manager
-
property
name
¶ The version-aware name of the model.
-
static
parse_name
(name)¶ Parses the model name, returning the base name and the version, if any.
- Parameters
name – the name of the model, which can have “@<ver>” appended to refer to a specific version of the model
- Returns
the base name of the model version: the version of the model, or None if no version was found
- Return type
base_name
-
serialize
(reflective=False)¶ Serializes the object into a dictionary.
Serialization is applied recursively to all attributes in the object, including element-wise serialization of lists and dictionary values.
- Parameters
reflective – whether to include reflective attributes when serializing the object. By default, this is False
- Returns
a JSON dictionary representation of the object
-
property
supports_cpu
¶ Whether the model supports CPU (True), or not (False), or unknown (None).
-
property
supports_gpu
¶ Whether the model supports GPU (True), or not (False), or unknown (None).
-
to_str
(pretty_print=True, **kwargs)¶ Returns a string representation of this object.
- Parameters
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is True
**kwargs – optional keyword arguments for self.serialize()
- Returns
a string representation of the object
-
write_json
(path, pretty_print=False, **kwargs)¶ Serializes the object and writes it to disk.
- Parameters
path – the output path
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is False
**kwargs – optional keyword arguments for self.serialize()
-
-
class
fiftyone.zoo.
RemoteModelManagerConfig
(d)¶ Bases:
eta.core.models.ModelManagerConfig
Methods:
Returns a list of attributes to be serialized.
builder
()Returns a ConfigBuilder instance for this class.
copy
()Returns a deep copy of the object.
custom_attributes
([dynamic, private])Returns a customizable list of class attributes.
default
()Returns the default config instance.
from_dict
(d)Constructs a Config object from a JSON dictionary.
from_json
(path, *args, **kwargs)Constructs a Serializable object from a JSON file.
from_kwargs
(**kwargs)Constructs a Config object from keyword arguments.
from_str
(s, *args, **kwargs)Constructs a Serializable object from a JSON string.
Returns the fully-qualified class name string of this object.
Loads the default config instance from file.
parse_array
(d, key[, default])Parses a raw array attribute.
parse_bool
(d, key[, default])Parses a boolean value.
parse_categorical
(d, key, choices[, default])Parses a categorical JSON field, which must take a value from among the given choices.
parse_dict
(d, key[, default])Parses a dictionary attribute.
parse_int
(d, key[, default])Parses an integer attribute.
parse_mutually_exclusive_fields
(fields)Parses a mutually exclusive dictionary of pre-parsed fields, which must contain exactly one field with a truthy value.
parse_number
(d, key[, default])Parses a number attribute.
parse_object
(d, key, cls[, default])Parses an object attribute.
parse_object_array
(d, key, cls[, default])Parses an array of objects.
parse_object_dict
(d, key, cls[, default])Parses a dictionary whose values are objects.
parse_path
(d, key[, default])Parses a path attribute.
parse_raw
(d, key[, default])Parses a raw (arbitrary) JSON field.
parse_string
(d, key[, default])Parses a string attribute.
serialize
([reflective])Serializes the object into a dictionary.
to_str
([pretty_print])Returns a string representation of this object.
validate_all_or_nothing_fields
(fields)Validates a dictionary of pre-parsed fields checking that either all or none of the fields have a truthy value.
write_json
(path[, pretty_print])Serializes the object and writes it to disk.
-
attributes
()¶ Returns a list of attributes to be serialized.
- Returns
a list of attributes
-
classmethod
builder
()¶ Returns a ConfigBuilder instance for this class.
-
copy
()¶ Returns a deep copy of the object.
- Returns
a Serializable instance
-
custom_attributes
(dynamic=False, private=False)¶ Returns a customizable list of class attributes.
By default, all attributes in vars(self) are returned, minus private attributes (those starting with “_”).
- Parameters
dynamic – whether to include dynamic properties, e.g., those defined by getter/setter methods or the @property decorator. By default, this is False
private – whether to include private properties, i.e., those starting with “_”. By default, this is False
- Returns
a list of class attributes
-
classmethod
default
()¶ Returns the default config instance.
By default, this method instantiates the class from an empty dictionary, which will only succeed if all attributes are optional. Otherwise, subclasses should override this method to provide the desired default configuration.
-
classmethod
from_dict
(d)¶ Constructs a Config object from a JSON dictionary.
Config subclass constructors accept JSON dictionaries, so this method simply passes the dictionary to cls().
- Parameters
d – a dict of fields expected by cls
- Returns
an instance of cls
-
classmethod
from_json
(path, *args, **kwargs)¶ Constructs a Serializable object from a JSON file.
Subclasses may override this method, but, by default, this method simply reads the JSON and calls from_dict(), which subclasses must implement.
- Parameters
path – the path to the JSON file on disk
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
from_kwargs
(**kwargs)¶ Constructs a Config object from keyword arguments.
- Parameters
**kwargs – keyword arguments that define the fields expected by cls
- Returns
an instance of cls
-
classmethod
from_str
(s, *args, **kwargs)¶ Constructs a Serializable object from a JSON string.
Subclasses may override this method, but, by default, this method simply parses the string and calls from_dict(), which subclasses must implement.
- Parameters
s – a JSON string representation of a Serializable object
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
get_class_name
()¶ Returns the fully-qualified class name string of this object.
-
classmethod
load_default
()¶ Loads the default config instance from file.
Subclasses must implement this method if they intend to support default instances.
-
static
parse_array
(d, key, default=<eta.core.config.NoDefault object>)¶ Parses a raw array attribute.
- Parameters
d – a JSON dictionary
key – the key to parse
default – a default list to return if key is not present
- Returns
a list of raw (untouched) values
- Raises
ConfigError – if the field value was the wrong type or no default value was provided and the key was not found in the dictionary
-
static
parse_bool
(d, key, default=<eta.core.config.NoDefault object>)¶ Parses a boolean value.
- Parameters
d – a JSON dictionary
key – the key to parse
default – a default bool to return if key is not present
- Returns
True/False
- Raises
ConfigError – if the field value was the wrong type or no default value was provided and the key was not found in the dictionary
-
static
parse_categorical
(d, key, choices, default=<eta.core.config.NoDefault object>)¶ Parses a categorical JSON field, which must take a value from among the given choices.
- Parameters
d – a JSON dictionary
key – the key to parse
choices – either an iterable of possible values or an enum-like class whose attributes define the possible values
default – a default value to return if key is not present
- Returns
the raw (untouched) value of the given field, which is equal to a value from choices
- Raises
ConfigError – if the key was present in the dictionary but its value was not an allowed choice, or if no default value was provided and the key was not found in the dictionary
-
static
parse_dict
(d, key, default=<eta.core.config.NoDefault object>)¶ Parses a dictionary attribute.
- Parameters
d – a JSON dictionary
key – the key to parse
default – a default dict to return if key is not present
- Returns
a dictionary
- Raises
ConfigError – if the field value was the wrong type or no default value was provided and the key was not found in the dictionary
-
static
parse_int
(d, key, default=<eta.core.config.NoDefault object>)¶ Parses an integer attribute.
- Parameters
d – a JSON dictionary
key – the key to parse
default – a default integer value to return if key is not present
- Returns
an int
- Raises
ConfigError – if the field value was the wrong type or no default value was provided and the key was not found in the dictionary
-
static
parse_mutually_exclusive_fields
(fields)¶ Parses a mutually exclusive dictionary of pre-parsed fields, which must contain exactly one field with a truthy value.
- Parameters
fields – a dictionary of pre-parsed fields
- Returns
the (field, value) that was set
- Raises
ConfigError – if zero or more than one truthy value was found
-
static
parse_number
(d, key, default=<eta.core.config.NoDefault object>)¶ Parses a number attribute.
- Parameters
d – a JSON dictionary
key – the key to parse
default – a default numeric value to return if key is not present
- Returns
a number (e.g. int, float)
- Raises
ConfigError – if the field value was the wrong type or no default value was provided and the key was not found in the dictionary
-
static
parse_object
(d, key, cls, default=<eta.core.config.NoDefault object>)¶ Parses an object attribute.
The value of d[key] can be either an instance of cls or a serialized dict from an instance of cls.
- Parameters
d – a JSON dictionary
key – the key to parse
cls – the class of d[key]
default – a default cls instance to return if key is not present
- Returns
an instance of cls
- Raises
ConfigError – if the field value was the wrong type or no default value was provided and the key was not found in the dictionary
-
static
parse_object_array
(d, key, cls, default=<eta.core.config.NoDefault object>)¶ Parses an array of objects.
The values in d[key] can be either instances of cls or serialized dicts from instances of cls.
- Parameters
d – a JSON dictionary
key – the key to parse
cls – the class of the elements of list d[key]
default – the default list to return if key is not present
- Returns
a list of cls instances
- Raises
ConfigError – if the field value was the wrong type or no default value was provided and the key was not found in the dictionary
-
static
parse_object_dict
(d, key, cls, default=<eta.core.config.NoDefault object>)¶ Parses a dictionary whose values are objects.
The values in d[key] can be either instances of cls or serialized dicts from instances of cls.
- Parameters
d – a JSON dictionary
key – the key to parse
cls – the class of the values of dictionary d[key]
default – the default dict of cls instances to return if key is not present
- Returns
a dictionary whose values are cls instances
- Raises
ConfigError – if the field value was the wrong type or no default value was provided and the key was not found in the dictionary
-
static
parse_path
(d, key, default=<eta.core.config.NoDefault object>)¶ Parses a path attribute.
The path is converted to an absolute path if necessary via
os.path.abspath(os.path.expanduser(value))
.- Parameters
d – a JSON dictionary
key – the key to parse
default – a default string to return if key is not present
- Returns
a path string
- Raises
ConfigError – if the field value was the wrong type or no default value was provided and the key was not found in the dictionary
-
static
parse_raw
(d, key, default=<eta.core.config.NoDefault object>)¶ Parses a raw (arbitrary) JSON field.
- Parameters
d – a JSON dictionary
key – the key to parse
default – a default value to return if key is not present
- Returns
the raw (untouched) value of the given field
- Raises
ConfigError – if no default value was provided and the key was not found in the dictionary
-
static
parse_string
(d, key, default=<eta.core.config.NoDefault object>)¶ Parses a string attribute.
- Parameters
d – a JSON dictionary
key – the key to parse
default – a default string to return if key is not present
- Returns
a string
- Raises
ConfigError – if the field value was the wrong type or no default value was provided and the key was not found in the dictionary
-
serialize
(reflective=False)¶ Serializes the object into a dictionary.
Serialization is applied recursively to all attributes in the object, including element-wise serialization of lists and dictionary values.
- Parameters
reflective – whether to include reflective attributes when serializing the object. By default, this is False
- Returns
a JSON dictionary representation of the object
-
to_str
(pretty_print=True, **kwargs)¶ Returns a string representation of this object.
- Parameters
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is True
**kwargs – optional keyword arguments for self.serialize()
- Returns
a string representation of the object
-
static
validate_all_or_nothing_fields
(fields)¶ Validates a dictionary of pre-parsed fields checking that either all or none of the fields have a truthy value.
- Parameters
fields – a dictionary of pre-parsed fields
- Raises
ConfigError – if some values are truth and some are not
-
write_json
(path, pretty_print=False, **kwargs)¶ Serializes the object and writes it to disk.
- Parameters
path – the output path
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is False
**kwargs – optional keyword arguments for self.serialize()
-
-
class
fiftyone.zoo.
RemoteModelManager
(config)¶ Bases:
eta.core.models.ModelManager
Methods:
Returns a list of attributes to be serialized.
copy
()Returns a deep copy of the object.
custom_attributes
([dynamic, private])Returns a customizable list of class attributes.
Deletes the model from remote storage.
download_model
(model_path[, force])Downloads the model to the given local path.
flush_model
(model_path)Flushes the copy of the model at the given local path, if necessary.
from_config
(config)Instantiates a Configurable class from a <cls>Config instance.
from_dict
(d)Builds the ModelManager subclass from a JSON dictionary.
from_json
(json_path)Instantiates a Configurable class from a <cls>Config JSON file.
from_kwargs
(**kwargs)Instantiates a Configurable class from keyword arguments defining the attributes of a <cls>Config.
from_str
(s, *args, **kwargs)Constructs a Serializable object from a JSON string.
Returns the fully-qualified class name string of this object.
is_model_downloaded
(model_path)Determines whether the model is downloaded to the given location.
parse
(class_name[, module_name])Parses a Configurable subclass name string.
serialize
([reflective])Serializes the object into a dictionary.
to_str
([pretty_print])Returns a string representation of this object.
upload_model
(model_path, *args, **kwargs)validate
(config)Validates that the given config is an instance of <cls>Config.
write_json
(path[, pretty_print])Serializes the object and writes it to disk.
-
attributes
()¶ Returns a list of attributes to be serialized.
- Returns
a list of attributes
-
copy
()¶ Returns a deep copy of the object.
- Returns
a Serializable instance
-
custom_attributes
(dynamic=False, private=False)¶ Returns a customizable list of class attributes.
By default, all attributes in vars(self) are returned, minus private attributes (those starting with “_”).
- Parameters
dynamic – whether to include dynamic properties, e.g., those defined by getter/setter methods or the @property decorator. By default, this is False
private – whether to include private properties, i.e., those starting with “_”. By default, this is False
- Returns
a list of class attributes
-
delete_model
()¶ Deletes the model from remote storage.
-
download_model
(model_path, force=False)¶ Downloads the model to the given local path.
If the download is forced, any existing model is overwritten. If the download is not forced, the model will only be downloaded if it does not already exist locally.
- Parameters
model_path – the path to which to download the model
force – whether to force download the model. If True, the model is always downloaded. If False, the model is only downloaded if necessary. The default is False
- Raises
ModelError – if model downloading is not currently allowed
-
flush_model
(model_path)¶ Flushes the copy of the model at the given local path, if necessary.
- Parameters
model_path – the path on disk for the model
-
classmethod
from_config
(config)¶ Instantiates a Configurable class from a <cls>Config instance.
-
classmethod
from_dict
(d)¶ Builds the ModelManager subclass from a JSON dictionary.
- Parameters
d – a JSON dictionary
- Returns
a ModelManager instance
-
classmethod
from_json
(json_path)¶ Instantiates a Configurable class from a <cls>Config JSON file.
- Parameters
json_path – path to a JSON file for type <cls>Config
- Returns
an instance of cls
-
classmethod
from_kwargs
(**kwargs)¶ Instantiates a Configurable class from keyword arguments defining the attributes of a <cls>Config.
- Parameters
**kwargs – keyword arguments that define the fields of a <cls>Config dict
- Returns
an instance of cls
-
classmethod
from_str
(s, *args, **kwargs)¶ Constructs a Serializable object from a JSON string.
Subclasses may override this method, but, by default, this method simply parses the string and calls from_dict(), which subclasses must implement.
- Parameters
s – a JSON string representation of a Serializable object
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
get_class_name
()¶ Returns the fully-qualified class name string of this object.
-
is_model_downloaded
(model_path)¶ Determines whether the model is downloaded to the given location.
If model_path is an archive, this method will also return True if a directory with the same basename as model_path exists.
- Parameters
model_path – the path on disk for the model
- Returns
True/False
-
static
parse
(class_name, module_name=None)¶ Parses a Configurable subclass name string.
Assumes both the Configurable class and the Config class are defined in the same module. The module containing the classes will be loaded if necessary.
- Parameters
class_name – a string containing the name of the Configurable class, e.g. “ClassName”, or a fully-qualified class name, e.g. “eta.core.config.ClassName”
module_name – a string containing the fully-qualified module name, e.g. “eta.core.config”, or None if class_name includes the module name. Set module_name = __name__ to load a class from the calling module
- Returns
the Configurable class config_cls: the Config class associated with cls
- Return type
cls
-
serialize
(reflective=False)¶ Serializes the object into a dictionary.
Serialization is applied recursively to all attributes in the object, including element-wise serialization of lists and dictionary values.
- Parameters
reflective – whether to include reflective attributes when serializing the object. By default, this is False
- Returns
a JSON dictionary representation of the object
-
to_str
(pretty_print=True, **kwargs)¶ Returns a string representation of this object.
- Parameters
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is True
**kwargs – optional keyword arguments for self.serialize()
- Returns
a string representation of the object
-
static
upload_model
(model_path, *args, **kwargs)¶
-
classmethod
validate
(config)¶ Validates that the given config is an instance of <cls>Config.
- Raises
ConfigurableError – if config is not an instance of <cls>Config
-
write_json
(path, pretty_print=False, **kwargs)¶ Serializes the object and writes it to disk.
- Parameters
path – the output path
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is False
**kwargs – optional keyword arguments for self.serialize()
-
-
class
fiftyone.zoo.
ZooModelsManifest
(models=None, name=None, url=None)¶ Bases:
eta.core.models.ModelsManifest
Class that describes the collection of models in the FiftyOne Model Zoo.
- Parameters
models – a list of
ZooModel
instances
Methods:
add_model
(model[, error_level])Adds the given model to the manifest.
Returns a list of class attributes to be serialized.
copy
()Returns a deep copy of the object.
custom_attributes
([dynamic, private])Returns a customizable list of class attributes.
dir_has_manifest
(models_dir)Determines whether the given directory has a models manifest.
from_dict
(d)Constructs a ModelsManifest from a JSON dictionary.
from_dir
(models_dir)Loads the ModelsManifest from the given models directory.
from_json
(path, *args, **kwargs)Constructs a Serializable object from a JSON file.
from_str
(s, *args, **kwargs)Constructs a Serializable object from a JSON string.
Returns the fully-qualified class name string of this object.
get_latest_model_with_base_name
(base_name)Gets the Model instance for the latest version of the model with the given base name.
get_model_with_name
(name)Gets the model with the given name.
has_model_with_filename
(model)Determines whether this manifest contains a model with a conflicting filename.
has_model_with_name
(name)Determines whether this manifest contains the model with the given name.
make_manifest_path
(models_dir)Makes the manifest path for the given models directory.
merge
(models_manifest[, error_level])Merges the models manifest into this one.
remove_model
(name[, error_level])Removes the model with the given name from the ModelsManifest.
serialize
([reflective])Serializes the object into a dictionary.
to_str
([pretty_print])Returns a string representation of this object.
write_json
(path[, pretty_print])Serializes the object and writes it to disk.
write_to_dir
(models_dir)Writes the ModelsManifest to the given models directory.
Attributes:
-
add_model
(model, error_level=0)¶ Adds the given model to the manifest.
- Parameters
model – a Model instance
error_level –
the error level to use, defined as:
0: raise error if the model cannot be added 1: log warning if the model cannot be added 2: ignore models that cannot be added
-
attributes
()¶ Returns a list of class attributes to be serialized.
This method is called internally by serialize() to determine the class attributes to serialize.
Subclasses can override this method, but, by default, all attributes in vars(self) are returned, minus private attributes, i.e., those starting with “_”. The order of the attributes in this list is preserved when serializing objects, so a common pattern is for subclasses to override this method if they want their JSON files to be organized in a particular way.
- Returns
a list of class attributes to be serialized
-
copy
()¶ Returns a deep copy of the object.
- Returns
a Serializable instance
-
custom_attributes
(dynamic=False, private=False)¶ Returns a customizable list of class attributes.
By default, all attributes in vars(self) are returned, minus private attributes (those starting with “_”).
- Parameters
dynamic – whether to include dynamic properties, e.g., those defined by getter/setter methods or the @property decorator. By default, this is False
private – whether to include private properties, i.e., those starting with “_”. By default, this is False
- Returns
a list of class attributes
-
static
dir_has_manifest
(models_dir)¶ Determines whether the given directory has a models manifest.
- Parameters
models_dir – the models directory
- Returns
True/False
-
classmethod
from_dict
(d)¶ Constructs a ModelsManifest from a JSON dictionary.
- Parameters
d – a JSON dictionary
- Returns
a ModelsManifest
-
classmethod
from_dir
(models_dir)¶ Loads the ModelsManifest from the given models directory.
- Parameters
models_dir – the models directory
- Returns
a ModelsManifest
-
classmethod
from_json
(path, *args, **kwargs)¶ Constructs a Serializable object from a JSON file.
Subclasses may override this method, but, by default, this method simply reads the JSON and calls from_dict(), which subclasses must implement.
- Parameters
path – the path to the JSON file on disk
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
from_str
(s, *args, **kwargs)¶ Constructs a Serializable object from a JSON string.
Subclasses may override this method, but, by default, this method simply parses the string and calls from_dict(), which subclasses must implement.
- Parameters
s – a JSON string representation of a Serializable object
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
get_class_name
()¶ Returns the fully-qualified class name string of this object.
-
get_latest_model_with_base_name
(base_name)¶ Gets the Model instance for the latest version of the model with the given base name.
- Parameters
base_name – the base name of the model
- Returns
the Model instance
- Raises
ModelError – if the model was not found
-
get_model_with_name
(name)¶ Gets the model with the given name.
- Parameters
name – the name of the model
- Returns
the Model instance
- Raises
ModelError – if the model was not found
-
has_model_with_filename
(model)¶ Determines whether this manifest contains a model with a conflicting filename.
- Parameters
model – a Model instance
- Returns
True/False
-
has_model_with_name
(name)¶ Determines whether this manifest contains the model with the given name.
- Parameters
name – the model name
- Returns
True/False
-
static
make_manifest_path
(models_dir)¶ Makes the manifest path for the given models directory.
- Parameters
models_dir – the models directory
- Returns
the manifest path
-
merge
(models_manifest, error_level=0)¶ Merges the models manifest into this one.
- Parameters
models_manifest – a ModelsManifest
error_level –
the error level to use, defined as:
0: raise error if a model cannot be added 1: log warning if a model cannot be added 2: ignore models that cannot be added
-
remove_model
(name, error_level=0)¶ Removes the model with the given name from the ModelsManifest.
- Parameters
name – the name of the model
error_level –
the error level to use, defined as:
0: raise error if the model cannot be added 1: log warning if the model cannot be added 2: ignore models that cannot be added
-
serialize
(reflective=False)¶ Serializes the object into a dictionary.
Serialization is applied recursively to all attributes in the object, including element-wise serialization of lists and dictionary values.
- Parameters
reflective – whether to include reflective attributes when serializing the object. By default, this is False
- Returns
a JSON dictionary representation of the object
-
property
subdir
¶
-
to_str
(pretty_print=True, **kwargs)¶ Returns a string representation of this object.
- Parameters
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is True
**kwargs – optional keyword arguments for self.serialize()
- Returns
a string representation of the object
-
write_json
(path, pretty_print=False, **kwargs)¶ Serializes the object and writes it to disk.
- Parameters
path – the output path
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is False
**kwargs – optional keyword arguments for self.serialize()
-
write_to_dir
(models_dir)¶ Writes the ModelsManifest to the given models directory.
- Parameters
models_dir – the models directory
-
class
fiftyone.zoo.
RemoteZooModelsManifest
(models=None, name=None, url=None)¶ Bases:
fiftyone.zoo.models.ZooModelsManifest
Class that describes the collection of remotely-sourced models in the FiftyOne Model Zoo.
- Parameters
models – a list of
RemoteZooModel
instances
Methods:
add_model
(model[, error_level])Adds the given model to the manifest.
Returns a list of class attributes to be serialized.
copy
()Returns a deep copy of the object.
custom_attributes
([dynamic, private])Returns a customizable list of class attributes.
dir_has_manifest
(models_dir)Determines whether the given directory has a models manifest.
from_dict
(d)Constructs a ModelsManifest from a JSON dictionary.
from_dir
(models_dir)Loads the ModelsManifest from the given models directory.
from_json
(path, *args, **kwargs)Constructs a Serializable object from a JSON file.
from_str
(s, *args, **kwargs)Constructs a Serializable object from a JSON string.
Returns the fully-qualified class name string of this object.
get_latest_model_with_base_name
(base_name)Gets the Model instance for the latest version of the model with the given base name.
get_model_with_name
(name)Gets the model with the given name.
has_model_with_filename
(model)Determines whether this manifest contains a model with a conflicting filename.
has_model_with_name
(name)Determines whether this manifest contains the model with the given name.
make_manifest_path
(models_dir)Makes the manifest path for the given models directory.
merge
(models_manifest[, error_level])Merges the models manifest into this one.
remove_model
(name[, error_level])Removes the model with the given name from the ModelsManifest.
serialize
([reflective])Serializes the object into a dictionary.
to_str
([pretty_print])Returns a string representation of this object.
write_json
(path[, pretty_print])Serializes the object and writes it to disk.
write_to_dir
(models_dir)Writes the ModelsManifest to the given models directory.
Attributes:
-
add_model
(model, error_level=0)¶ Adds the given model to the manifest.
- Parameters
model – a Model instance
error_level –
the error level to use, defined as:
0: raise error if the model cannot be added 1: log warning if the model cannot be added 2: ignore models that cannot be added
-
attributes
()¶ Returns a list of class attributes to be serialized.
This method is called internally by serialize() to determine the class attributes to serialize.
Subclasses can override this method, but, by default, all attributes in vars(self) are returned, minus private attributes, i.e., those starting with “_”. The order of the attributes in this list is preserved when serializing objects, so a common pattern is for subclasses to override this method if they want their JSON files to be organized in a particular way.
- Returns
a list of class attributes to be serialized
-
copy
()¶ Returns a deep copy of the object.
- Returns
a Serializable instance
-
custom_attributes
(dynamic=False, private=False)¶ Returns a customizable list of class attributes.
By default, all attributes in vars(self) are returned, minus private attributes (those starting with “_”).
- Parameters
dynamic – whether to include dynamic properties, e.g., those defined by getter/setter methods or the @property decorator. By default, this is False
private – whether to include private properties, i.e., those starting with “_”. By default, this is False
- Returns
a list of class attributes
-
static
dir_has_manifest
(models_dir)¶ Determines whether the given directory has a models manifest.
- Parameters
models_dir – the models directory
- Returns
True/False
-
classmethod
from_dict
(d)¶ Constructs a ModelsManifest from a JSON dictionary.
- Parameters
d – a JSON dictionary
- Returns
a ModelsManifest
-
classmethod
from_dir
(models_dir)¶ Loads the ModelsManifest from the given models directory.
- Parameters
models_dir – the models directory
- Returns
a ModelsManifest
-
classmethod
from_json
(path, *args, **kwargs)¶ Constructs a Serializable object from a JSON file.
Subclasses may override this method, but, by default, this method simply reads the JSON and calls from_dict(), which subclasses must implement.
- Parameters
path – the path to the JSON file on disk
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
from_str
(s, *args, **kwargs)¶ Constructs a Serializable object from a JSON string.
Subclasses may override this method, but, by default, this method simply parses the string and calls from_dict(), which subclasses must implement.
- Parameters
s – a JSON string representation of a Serializable object
*args – optional positional arguments for self.from_dict()
**kwargs – optional keyword arguments for self.from_dict()
- Returns
an instance of the Serializable class
-
classmethod
get_class_name
()¶ Returns the fully-qualified class name string of this object.
-
get_latest_model_with_base_name
(base_name)¶ Gets the Model instance for the latest version of the model with the given base name.
- Parameters
base_name – the base name of the model
- Returns
the Model instance
- Raises
ModelError – if the model was not found
-
get_model_with_name
(name)¶ Gets the model with the given name.
- Parameters
name – the name of the model
- Returns
the Model instance
- Raises
ModelError – if the model was not found
-
has_model_with_filename
(model)¶ Determines whether this manifest contains a model with a conflicting filename.
- Parameters
model – a Model instance
- Returns
True/False
-
has_model_with_name
(name)¶ Determines whether this manifest contains the model with the given name.
- Parameters
name – the model name
- Returns
True/False
-
static
make_manifest_path
(models_dir)¶ Makes the manifest path for the given models directory.
- Parameters
models_dir – the models directory
- Returns
the manifest path
-
merge
(models_manifest, error_level=0)¶ Merges the models manifest into this one.
- Parameters
models_manifest – a ModelsManifest
error_level –
the error level to use, defined as:
0: raise error if a model cannot be added 1: log warning if a model cannot be added 2: ignore models that cannot be added
-
remove_model
(name, error_level=0)¶ Removes the model with the given name from the ModelsManifest.
- Parameters
name – the name of the model
error_level –
the error level to use, defined as:
0: raise error if the model cannot be added 1: log warning if the model cannot be added 2: ignore models that cannot be added
-
serialize
(reflective=False)¶ Serializes the object into a dictionary.
Serialization is applied recursively to all attributes in the object, including element-wise serialization of lists and dictionary values.
- Parameters
reflective – whether to include reflective attributes when serializing the object. By default, this is False
- Returns
a JSON dictionary representation of the object
-
property
subdir
¶
-
to_str
(pretty_print=True, **kwargs)¶ Returns a string representation of this object.
- Parameters
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is True
**kwargs – optional keyword arguments for self.serialize()
- Returns
a string representation of the object
-
write_json
(path, pretty_print=False, **kwargs)¶ Serializes the object and writes it to disk.
- Parameters
path – the output path
pretty_print – whether to render the JSON in human readable format with newlines and indentations. By default, this is False
**kwargs – optional keyword arguments for self.serialize()
-
write_to_dir
(models_dir)¶ Writes the ModelsManifest to the given models directory.
- Parameters
models_dir – the models directory