pnpl.tasks.base.TaskProtocol#
- class pnpl.tasks.base.TaskProtocol(*args, **kwargs)[source]#
Protocol defining what a Task must implement.
Tasks are responsible for: 1. Collecting samples from dataset metadata (e.g., events files) 2. Transforming raw labels into the desired format 3. Providing label metadata (classes, mappings)
- Example usage:
@dataclass class MyTask:
tmin: float = 0.0 tmax: float = 0.5
- def collect_samples(self, dataset) -> list[tuple]:
# Extract samples from dataset …
- def get_label(self, sample: tuple) -> Any:
# Transform sample tuple into label …
@property def label_info(self) -> dict:
return {‘classes’: […], ‘label_to_id’: {…}}
- __init__(*args, **kwargs)#
Methods
__init__(*args, **kwargs)collect_samples(dataset)Collect sample tuples from dataset metadata.
get_label(sample)Extract/transform label from a sample tuple.
Attributes
label_infoReturn label metadata.