TrainTaskAware#
- class capymoa.ocl.base.TrainTaskAware[source]#
Bases:
object
Interface for learners that are aware of the transition between tasks.
Knowing the transition between tasks is required by some algorithms, but is a relaxation of the online continual learning setting. A researcher should be mindful and communicate when a learner is task-aware.
>>> from capymoa.classifier import NoChange >>> from capymoa.ocl.datasets import TinySplitMNIST >>> from capymoa.ocl.base import TrainTaskAware >>> from capymoa.ocl.evaluation import ocl_train_eval_loop
>>> class MyTaskBoundaryAware(TrainTaskAware, NoChange): ... def on_train_task(self, train_task_id: int): ... print(f"Training task {train_task_id}")
>>> scenario = TinySplitMNIST() >>> learner = MyTaskBoundaryAware(scenario.schema) >>> _ = ocl_train_eval_loop(learner, scenario.train_loaders(32), scenario.test_loaders(32)) Training task 0 Training task 1 Training task 2 Training task 3 Training task 4