from abc import ABC, abstractmethod
from typing import Optional
from qualia_core.typing import RecursiveConfigDict
[docs]
class ExperimentTracking(ABC):
[docs]
@abstractmethod
def start(self, name: Optional[str] = None) -> None:
...
[docs]
@abstractmethod
def stop(self) -> None:
...
[docs]
@classmethod
def initializer(cls) -> None:
pass
@abstractmethod
def _hyperparameters(self, params: RecursiveConfigDict) -> None:
...
# Lambda used to obtain concrete property from abstract setter
hyperparameters = property(None, lambda self, x: self._hyperparameters(x))