メインコンテンツまでスキップ

__init__

alphacubeパッケージには、さまざまな目的のためのいくつかの関数が用意されています:

  • load(*args, **kwargs): 学習済みのDNNをロードします。
  • solve(*args, **kwargs): ロードされたソルバーを使用してルービックキューブを解きます。
  • set_verbose(loglevel=logging.INFO): ロガーの詳細レベルを設定します。
  • cli(): AlphaCubeを使用してルービックキューブを解くためのコマンドラインユーティリティです。

基本的な使用方法については、Getting Startedを参照してください。

load

def load(model_id: str = "small" if device.type == "cpu" else "large", *args, **kwargs)

ルービックキューブソルバーモデルをロードします。

引数:

  • model_id - ロードするモデルのバリアントの識別子("small"、"base"、または"large")。CPUではsmall、GPU/MPSではlargeがデフォルトです。
  • *args - モデルのロードを設定するための追加の位置引数。
  • **kwargs - モデルのロードを設定するための追加のキーワード引数。

戻り値:

  • None

solve

def solve(*args, **kwargs)

ロードされたソルバーモデルを使用してルービックキューブのパズルを解きます。

引数:

*args, **kwargs: パズルの解法を設定するための引数。alphacube.core.Solver.__call__()alphacube.search.beam_searchに渡されます。

戻り値:

  • dict | None: 解法とパフォーマンスメトリクスを含む辞書。失敗した場合はNone。

list_models

def list_models()

利用可能なモデルIDを一覧表示します。

戻り値:

  • list - 利用可能なモデルIDのリスト。

cli

def cli()

AlphaCubeを使用してルービックキューブを解くためのコマンドラインユーティリティです。

引数:

  • --model_id/-m (str): 解法に使用する特定のモデルを選択します(デフォルト:CPUでは'small'、それ以外はlarge。もう1つの選択肢はbase)。
  • --format/-f (str): 入力形式('moves'または'stickers')を指定します。
  • --scramble/-s (str): 一連の手順または文字列化されたJSON辞書を使用して、初期のキューブの状態を定義します。
  • --beam_width/-bw (int): 探索のビーム幅を設定します(デフォルト:1024)。
  • --extra_depths/-ex (int): 探索のための追加の深さを指定します(デフォルト:0)。
  • --verbose/-v: デバッグと進捗状況の追跡のために詳細な出力を有効にします。

戻り値:

  • None

使用例:

構文
alphacube [--model_id MODEL_ID] [--format FORMAT] [--scramble SCRAMBLE]
[--beam_width BEAM_WIDTH] [--extra_depths EXTRA_DEPTHS]
1. デフォルト設定でキューブを解く
alphacube --scramble "R U R' U'"
2. カスタム設定でキューブを解く
alphacube --model_id large --beam_width 128 --extra_depths 2 \
--scramble "R U2 F' R2 B R' U' L B2 D' U2 R F L"
3. ステッカー表現を使用してキューブを解く
alphacube --format stickers \
--scramble '{ \
"U": [0, 0, 5, 5, 0, 5, 5, 4, 0], \
"D": [1, 3, 3, 4, 1, 1, 4, 1, 3], \
"L": [4, 5, 1, 0, 2, 2, 0, 1, 4], \
"R": [5, 2, 0, 2, 3, 3, 2, 0, 2], \
"F": [4, 3, 2, 4, 5, 1, 1, 4, 3], \
"B": [1, 5, 5, 0, 4, 3, 3, 2, 2] \
}' \
--beam_width 64