Source code for draugr.torch_utilities.datasets.supervised.supervised_dataset
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
__author__ = "Christian Heider Nielsen"
__doc__ = r"""
Created on 01/03/2020
"""
from abc import abstractmethod
from typing import Dict, Tuple
from torch.utils.data import Dataset
__all__ = ["SupervisedDataset"]
from draugr.numpy_utilities.datasets.splitting import (
SplitEnum,
SplitIndexer,
)
from warg import drop_unused_kws
[docs]class SupervisedDataset(Dataset):
"""
Supervised Dataset is comprised of separate Splits"""
[docs] @drop_unused_kws
def __init__(self):
pass
@property
def split_names(self) -> Dict[SplitEnum, str]:
"""
:return:
:rtype:"""
return SplitIndexer.default_split_names
@property
@abstractmethod
def response_shape(self) -> Tuple[int, ...]:
"""description"""
raise NotImplementedError
@property
@abstractmethod
def predictor_shape(self) -> Tuple[int, ...]:
"""description"""
raise NotImplementedError
@abstractmethod
def __len__(self):
raise NotImplementedError
@abstractmethod
def __getitem__(self, index: int):
raise NotImplementedError
if __name__ == "__main__":
print(SplitIndexer(521))
print(SplitIndexer(2512).unnormalised(123))