core
このモジュールは、モデルをロードし、ビーム探索アルゴリズムを使用してルービックキューブの解法を見つけるコアクラス Solver
を提供します。
クラス:
Solver
: ルービックキューブの設定、解法モデル、および探索機能を管理するためのクラスです。
Solver
class Solver()
環境、モデル、および探索設定を管理するためのソルバークラスです。
メソッド:
load
: ソルバーモデルをロードし、CPUまたはGPU用に最適化します。__call__
: キューブの状態を設定し、ビーム探索を使用して解法を求めます。
load
def load(model_id: str = "small" if device.type == "cpu" else "large", prefer_gpu: bool = True, quantize_on_cpu: bool = True, jit_mode: bool = False, *args, **kwargs)
ルービックキューブソルバーモデルをロードし、CPUまたはGPU用に最適化します。
引数:
model_id
str - ロードするモデルのバリアントの識別子("small"、"base"、または"large")。prefer_gpu
bool - 利用可能な場合、GPUを優先するかどうか。quantize_on_cpu
bool - CPU最適化のためにモデルを量子化するかどうか。jit_mode
bool - 実行速度を上げるためにJITモードを有効にするかどうか。*args
- モデルのロードに関する追加の引数。**kwargs
- モデルのロードと最適化に関する追加のキーワード引数。
戻り値:
None
__call__
def __call__(scramble, format="moves", allow_wide=True, **kwargs)
format
と scramble
からキューブの状態を設定し、**kwargs
とともに search.beam_search
に渡します。
引数:
format
str - スクランブルの入力形式: "moves" または "stickers"。scramble
list - ルービックキューブの初期状態を表す一連の動作/ステッカー。allow_wide
bool - ワイド動作を許可するかどうか。**kwargs
-beam_search
に渡すキーワード引数。
戻り値:
solutions
dict | None -search.beam_search
からの解法レスポンスを含む辞書。