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
的解决方案响应的字典。