_evaluator
Module pour évaluer la performance d'un solveur.
Ce module fournit des fonctions pour évaluer la performance d'un solveur sur un jeu de données. Il inclut des fonctions pour évaluer l'efficacité de la recherche et la performance temporelle d'un solveur.
NOTE : La fonctionnalité de ce module nécessite des dépendances optionnelles. Pour les utiliser,
veuillez installer AlphaCube avec l'extra 'eval' : pip install 'alphacube[eval]'
get_dataset
def get_dataset(
    filename="deepcubea-dataset--cube3.json",
    cache_dir=os.path.expanduser("~/.cache/alphacube")
)
Obtient un jeu de données à partir d'un fichier ou le télécharge s'il n'existe pas.
Arguments:
filenamestr - Le nom de fichier du jeu de données.
Retours:
dict- Le jeu de données.
evaluate_search_efficiency
def evaluate_search_efficiency(
    solver,
    num_samples=1000,
    beam_width=2**10 if device.type == "cpu" else 2**13,
    verbose=False
)
Évalue l'efficacité de recherche du modèle. (Aussi disponible sous solver.benchmark)
Cette fonction résout un ensemble de mélanges et rapporte des métriques de performance clés, fournissant un aperçu de l'efficacité du solveur dans des conditions spécifiques.
Arguments:
solver- L'instance du solveur à évaluer.num_samplesint - Le nombre de mélanges à résoudre pour l'évaluation.beam_widthint - La largeur du faisceau (beam width) à utiliser pour la recherche.verbosebool - Indique s'il faut afficher une barre de progression.
Retours:
dict- Un dictionnaire contenant les résultats moyens pour le temps de résolution (t), la longueur de la solution (lmd), et les nœuds explorés (nodes).
evaluate_temporal_performance
def evaluate_temporal_performance(
    solver,
    num_samples=1000,
    t_standard=1.0,
    beam_width_space=2 ** np.arange(6 if device.type == "cpu" else 10, 16 + 1),
    verbose=False
)
Évalue la performance du modèle sur une performance temporelle en aval.
Cette fonction évalue la performance du modèle en résolvant un ensemble de mélanges avec différentes largeurs de faisceau. Elle ajuste ensuite un prédicteur pour modéliser la relation entre la longueur de la solution et le temps, et prédit la longueur de la solution à t=1.
Arguments:
solver- Le solveur à évaluer.num_samplesint - Le nombre d'échantillons à utiliser pour l'évaluation.t_standardfloat - Le temps standard.beam_width_spacearray - Les largeurs de faisceau à utiliser pour l'évaluation.verbosebool - Indique s'il faut afficher une barre de progression.
Retours:
float- La longueur de solution prédite à t=1.