Перейти к основному содержимому

_evaluator

Модуль для оценки производительности решателя.

Этот модуль предоставляет функции для оценки производительности решателя на наборе данных. Он включает функции для оценки эффективности поиска и временной производительности решателя.

ПРИМЕЧАНИЕ: Функциональность этого модуля требует необязательных зависимостей. Чтобы использовать их, пожалуйста, установите AlphaCube с дополнением 'eval': pip install 'alphacube[eval]'

get_dataset

def get_dataset(
filename="deepcubea-dataset--cube3.json",
cache_dir=os.path.expanduser("~/.cache/alphacube")
)

Получить набор данных из файла или загрузить его, если он не существует.

Аргументы:

  • filename str - Имя файла набора данных.

Возвращает:

  • dict - Набор данных.

evaluate_search_efficiency

def evaluate_search_efficiency(
solver,
num_samples=1000,
beam_width=2**10 if device.type == "cpu" else 2**13,
verbose=False
)

Оценить эффективность поиска модели. (Также доступно как solver.benchmark)

Эта функция решает набор скрамблов и сообщает о ключевых показателях производительности, предоставляя снимок эффективности решателя в определенных условиях.

Аргументы:

  • solver - Экземпляр решателя для оценки.
  • num_samples int - Количество скрамблов для решения в ходе оценки.
  • beam_width int - Ширина луча для использования в поиске.
  • verbose bool - Отображать ли индикатор выполнения.

Возвращает:

  • dict - Словарь, содержащий средние результаты по времени решения (t), длине решения (lmd) и количеству развернутых узлов (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
)

Оценить производительность модели по последующей временной производительности.

Эта функция оценивает производительность модели, решая набор скрамблов с использованием различных ширин луча. Затем она подбирает предиктор для моделирования зависимости между длиной решения и временем и предсказывает длину решения при t=1.

Аргументы:

  • solver - Решатель для оценки.
  • num_samples int - Количество образцов для использования в оценке.
  • t_standard float - Стандартное время.
  • beam_width_space array - Ширины луча для использования в оценке.
  • verbose bool - Отображать ли индикатор выполнения.

Возвращает:

  • float - Предсказанная длина решения при t=1.