跳到主要内容

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)

根据 formatscramble 设置魔方状态,并将其与 **kwargs 一起传递给 search.beam_search

参数

  • format str - 打乱的输入格式:可以是 "moves" 或 "stickers"。
  • scramble list - 表示魔方初始状态的一系列移动/贴纸。
  • allow_wide bool - 是否允许宽转。
  • **kwargs - 要传递给 beam_search 的关键字参数。

返回

  • solutions dict | None - 包含来自 search.beam_search 的解决方案响应的字典。