module documentation
Backing document classes for fiftyone.core.sample.Sample
instances.
Class hierarchy:
SerializableDocument ├── NoDatasetSampleDocument └── DatasetSampleDocument ├── my_custom_dataset ├── another_dataset └── ...
Design invariants:
- A
fiftyone.core.sample.Sample
always has a backing _doc that is an instance offiftyone.core.odm.document.SerializableDocument
- A
fiftyone.core.dataset.Dataset
always has a backing_sample_doc_cls
that is a subclass ofDatasetSampleDocument
Implementation details
When a new fiftyone.core.sample.Sample
is created, its _doc
attribute is an instance of NoDatasetSampleDocument
:
import fiftyone as fo sample = fo.Sample() sample._doc # NoDatasetSampleDocument
When a new fiftyone.core.dataset.Dataset
is created, its
_sample_doc_cls attribute holds a dynamically created subclass of
DatasetSampleDocument
whose name is the name of the dataset's sample
collection:
dataset = fo.Dataset(name="my_dataset") dataset._sample_doc_cls # my_dataset(DatasetSampleDocument)
When a sample is added to a dataset, its _doc attribute is changed from
type NoDatasetSampleDocument
to type dataset._sample_doc_cls:
dataset.add_sample(sample) sample._doc # my_dataset(DatasetSampleDocument)
Class |
|
Base class for sample documents backing samples in datasets. |
Class |
|
Backing document for samples that have not been added to a dataset. |
Function | _generate |
Undocumented |
Variable | _random |
Undocumented |