_evaluator
Módulo para evaluar el rendimiento de un solucionador.
Este módulo proporciona funciones para evaluar el rendimiento de un solucionador en un conjunto de datos. Incluye funciones para evaluar la eficiencia de búsqueda y el rendimiento temporal de un solucionador.
get_dataset
def get_dataset(filename="deepcubea-dataset--cube3.json")
Obtiene un conjunto de datos de un archivo o lo descarga si no existe.
Argumentos:
filename
str - El nombre del archivo del conjunto de datos.
Retorna:
dict
- El conjunto de datos.
evaluate_search_efficiency
def evaluate_search_efficiency(solver, num_samples=1000, beam_width=2**10 if device.type == "cpu" else 2**13, verbose=False)
Evalúa el rendimiento del modelo en un rendimiento temporal posterior.
Esta función evalúa el rendimiento del modelo resolviendo un conjunto de mezclas utilizando diferentes anchos de haz. Luego ajusta un predictor para modelar la relación entre la longitud de la solución y el tiempo, y predice la longitud de la solución alcanzable en solo un segundo.
Argumentos:
solver
- El solucionador a evaluar.num_samples
int - El número de muestras a utilizar para la evaluación.beam_width
int - El ancho del haz a utilizar para la evaluación.verbose
bool - Si se debe mostrar una barra de progreso.
Retorna:
dict
- Los resultados promedio.
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)
Evalúa el rendimiento del modelo en un rendimiento temporal posterior.
Esta función evalúa el rendimiento del modelo resolviendo un conjunto de mezclas utilizando diferentes anchos de haz. Luego ajusta un predictor para modelar la relación entre la longitud de la solución y el tiempo, y predice la longitud de la solución en t=1.
Argumentos:
solver
- El solucionador a evaluar.num_samples
int - El número de muestras a utilizar para la evaluación.t_standard
float - El tiempo estándar.beam_width_space
array - Los anchos de haz a utilizar para la evaluación.verbose
bool - Si se debe mostrar una barra de progreso.
Retorna:
float
- La longitud de solución predicha en t=1.