simet.providers.base.provider¶
simet.providers.base.provider ¶
Provider ¶
Provider(data_path)
Bases: ABC
Abstract data provider that builds a VisionDataset from a path + transform.
A Provider encapsulates how data is discovered and exposed as a
torchvision.datasets.VisionDataset. It takes care of reading from
data_path (e.g., folder layout, metadata) and applying a project-defined
Transform to produce a dataset consumable by PyTorch DataLoaders.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data_path
|
Path
|
Root path where the underlying data resides (e.g., a folder tree). |
required |
Attributes:
| Name | Type | Description |
|---|---|---|
data_path |
Path
|
The root path provided at construction. |
Subclassing
Implement get_data(transform) to return a VisionDataset instance
that will yield (image, target) pairs using the given Transform.
The returned dataset should be ready to plug into a DataLoader.
Example
from torchvision.datasets import ImageFolder import torchvision.transforms as T
class FolderProvider(Provider): ... def get_data(self, transform: Transform) -> VisionDataset: ... tfm = transform.get_transform() ... return ImageFolder(self.data_path, transform=tfm) ... provider = FolderProvider(Path("data/train")) dataset = provider.get_data(transform=SomeTransform()) len(dataset) >= 0 True
Source code in simet/providers/base/provider.py
46 47 | |
get_data
abstractmethod
¶
get_data(transform)
Return a VisionDataset configured with the given transform.
Implementations should construct and return a dataset that reads from
self.data_path and applies transform.get_transform() to each sample.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
transform
|
Transform
|
Project transform wrapper used to build the
underlying |
required |
Returns:
| Name | Type | Description |
|---|---|---|
VisionDataset |
VisionDataset
|
Dataset yielding |
VisionDataset
|
consumption by a |
Source code in simet/providers/base/provider.py
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | |