__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'"