File size: 994 Bytes
bf5fb5f
 
 
 
 
8ffb539
 
 
 
bf5fb5f
 
 
 
 
 
 
 
 
8ffb539
bf5fb5f
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# ============================================
# Fichier: interfaces/hyperparameter_optimizer.py
# ============================================

from abc import ABC, abstractmethod
from typing import Dict, Any, TYPE_CHECKING

if TYPE_CHECKING:
    from base_trainer import BaseTrainer


class HyperparameterOptimizer(ABC):
    """
    Interface pour la classe responsable de l'optimisation
    des hyperparamètres.
    """

    @abstractmethod
    def optimize(self, trainer: "BaseTrainer",
                 param_grid: Dict[str, Any]) -> Dict[str, Any]:
        """
        Recherche les meilleurs hyperparamètres pour un 'trainer' donné,
        selon la grille 'param_grid'.

        :param trainer: Instance d'une classe implémentant BaseTrainer.
        :param param_grid: Dictionnaire définissant l'espace de recherche
                           pour chaque hyperparamètre.
        :return: Un dictionnaire contenant les hyperparamètres optimaux trouvés.
        """
        pass