Source code for ai2_kit.domain.iface

# This is a class to defined common interface

from abc import abstractmethod, ABC
from ai2_kit.core.artifact import Artifact, ArtifactMap
from ai2_kit.core.resource_manager import ResourceManager
from typing import List, Literal
from dataclasses import dataclass


TRAINING_MODE = Literal['default', 'dpff', 'fep-redox', 'fep-pka']


[docs]@dataclass class BaseCllContext: path_prefix: str resource_manager: ResourceManager
[docs]class ICllLabelOutput(ABC):
[docs] @abstractmethod def get_labeled_system_dataset(self) -> List[Artifact]: ...
[docs]class ICllTrainOutput(ABC):
[docs] @abstractmethod def get_mlp_models(self) -> List[Artifact]: ...
[docs] @abstractmethod def get_training_dataset(self) -> List[Artifact]: ...
[docs]class ICllExploreOutput(ABC):
[docs] @abstractmethod def get_model_devi_dataset(self) -> List[Artifact]: ...
[docs]class ICllSelectorOutput(ABC):
[docs] @abstractmethod def get_model_devi_dataset(self) -> List[Artifact]: ...
[docs] @abstractmethod def get_new_explore_systems(self) -> List[Artifact]: ...
[docs] @abstractmethod def get_passing_rate(self) -> float: ...
[docs]def init_artifacts(artifacts: ArtifactMap): for key, artifact in artifacts.items(): artifact.attrs.setdefault('ancestor', key)