_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)
下流の時間的パフォーマンスに対するモデルのパフォーマンスを評価します。
この関数は、異なるビーム幅を使用して一連のスクランブルを解くことにより、モデルのパフォーマンスを評価します。 次に、解法の長さと時間の関係をモデル化するために予測器を適合させ、わずか1秒で達成可能な解法の長さを予測します。
引数:
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での予測された解法の長さ。