Files
gps-denied-desktop/components/model_manager/base.py
T
Oleksandr Bezdieniezhnykh abc26d5c20 initial structure implemented
docs -> _docs
2025-12-01 14:20:56 +02:00

41 lines
920 B
Python

from abc import ABC, abstractmethod
from typing import Optional, Any
import numpy as np
from models.config import ModelConfig
class ModelManagerBase(ABC):
@abstractmethod
async def load_model(self, config: ModelConfig) -> bool:
pass
@abstractmethod
async def unload_model(self, model_name: str) -> bool:
pass
@abstractmethod
async def get_model(self, model_name: str) -> Optional[Any]:
pass
@abstractmethod
async def run_inference(
self, model_name: str, inputs: dict[str, np.ndarray]
) -> dict[str, np.ndarray]:
pass
@abstractmethod
async def warmup_model(
self, model_name: str, iterations: int = 3
) -> bool:
pass
@abstractmethod
async def get_loaded_models(self) -> list[str]:
pass
@abstractmethod
async def get_model_info(self, model_name: str) -> Optional[dict]:
pass