_evaluator
Moduł do oceny wydajności solvera.
Ten moduł dostarcza funkcje do oceny wydajności solvera na zbiorze danych. Zawiera funkcje do oceny efektywności przeszukiwania i wydajności czasowej solvera.
get_dataset
def get_dataset(filename="deepcubea-dataset--cube3.json")
Pobierz zbiór danych z pliku lub pobierz go, jeśli nie istnieje.
Argumenty:
filename
str - Nazwa pliku zbioru danych.
Zwraca:
dict
- Zbiór danych.
evaluate_search_efficiency
def evaluate_search_efficiency(solver, num_samples=1000, beam_width=2**10 if device.type == "cpu" else 2**13, verbose=False)
Oceń wydajność modelu pod kątem wydajności czasowej.
Ta funkcja ocenia wydajność modelu poprzez rozwiązanie zestawu pomieszań przy użyciu różnych szerokości wiązki. Następnie dopasowuje predyktor do modelowania zależności między długością rozwiązania a czasem i przewiduje długość rozwiązania osiągalną w zaledwie sekundę.
Argumenty:
solver
- Solver do oceny.num_samples
int - Liczba próbek do oceny.beam_width
int - Szerokość wiązki do oceny.verbose
bool - Czy wyświetlać pasek postępu.
Zwraca:
dict
- Średnie wyniki.
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)
Oceń wydajność modelu pod kątem wydajności czasowej.
Ta funkcja ocenia wydajność modelu poprzez rozwiązanie zestawu pomieszań przy użyciu różnych szerokości wiązki. Następnie dopasowuje predyktor do modelowania zależności między długością rozwiązania a czasem i przewiduje długość rozwiązania dla t=1.
Argumenty:
solver
- Solver do oceny.num_samples
int - Liczba próbek do oceny.t_standard
float - Standardowy czas.beam_width_space
array - Szerokości wiązki do oceny.verbose
bool - Czy wyświetlać pasek postępu.
Zwraca:
float
- Przewidywana długość rozwiązania dla t=1.