_evaluator
用于评估求解器性能的模块。
该模块提供了在数据集上评估求解器性能的函数。 它包括评估求解器搜索效率和时间性能的函数。
get_dataset
def get_dataset(filename="deepcubea-dataset--cube3.json")
从文件获取数据集,如果文件不存在则下载。
参数:
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
- 要评估的求解器。num_samples
int - 用于评估的样本数。beam_width
int - 用于评估的搜索宽度。verbose
bool - 是否显示进度条。
返回:
dict
- 平均结果。
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 时预测的解法长度。