physicalai-runtime-loading-exported-policies について
physicalai Runtime でエクスポート済みポリシーを読み込む開発スキルです。ローカルのエクスポートディレクトリや Hub スナップショット、バックエンド選択、成果物検証、推論のスモークテストを扱います。
主な機能
- 01ローカルの Studio エクスポートを読み込む
- 02Hub スナップショットを読み込む
- 03推論バックエンドの自動検出と選択
- 04マニフェストと成果物の検証
- 05推論のスモークテスト
活用シーン
- 01ローカルでエクスポートしたポリシーの読み込み
- 02Hub から取得したポリシーのテスト
- 03バックエンドとマニフェストの互換性確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openvinotoolkit/ physicalai --skill physicalai-runtime-loading-exported-policiesインストール後、Claude Code で/physicalai-runtime-loading-exported-policiesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/export-load-contract.mdonnx.mdopenvino.md詳細
エクスポート済みポリシーの読み込み
ランタイムは、src/physicalai/inference/model.py の InferenceModel を通じて、Studio のエクスポートディレクトリ(またはそれをミラーリングした Hub スナップショット)を読み込みます。マニフェストの解析は src/physicalai/inference/manifest.py にあり、バックエンドは src/physicalai/inference/adapters/registry.py に登録されます(onnx → .onnx、openvino → .xml)。Hub からのダウンロードには src/physicalai/inference/utils/_hub.py を使用します。
ワークフロー
-
アーティファクトを特定する:ローカルのエクスポートディレクトリまたは Hub の
repo_id、想定されるバックエンド、およびユーザーがselect_actionとpredict_action_chunkのどちらを必要としているかを確認します。- 完了条件:コードを編集する前に、読み込みパスと API のエントリーポイントが選定されていること。
-
まず自動検出で読み込む(ローカル):
from physicalai.inference import InferenceModel model = InferenceModel("./exports/act_policy")- 完了条件:アーティファクトの拡張子が登録済みのものと一致する場合、
backend=を明示せずにmodelが構築されること。
- 完了条件:アーティファクトの拡張子が登録済みのものと一致する場合、
-
パッケージが公開されている場合は Hub から読み込む:
model = InferenceModel.from_pretrained("OpenVINO/act-fp16-ov", revision="<commit-sha>")- 完了条件:セキュリティや CI が重要な場合、再現性を確保するためにリビジョンが固定されていること。
-
自動検出が曖昧な場合に限り、バックエンドを明示する:
model = InferenceModel("./exports/act_policy", backend="openvino", device="CPU") -
references/export-load-contract.mdとバックエンドの注意事項(references/onnx.md、references/openvino.md)に照らして構造を検証します。- 完了条件:マニフェスト、モデルファイル、プロセッサーのアーティファクトがエクスポートディレクトリ内で解決されること。
-
ロボットのタイミング制御を担わずにスモーク推論を実行します:
model.reset() action = model.select_action(observation)- 完了条件:代表的な観測キーと形状で、1 回の順伝播が成功すること。ハードウェアのループについては、
physicalai-runtime-running-policy-on-robotに引き継ぎます。
- 完了条件:代表的な観測キーと形状で、1 回の順伝播が成功すること。ハードウェアのループについては、
検証ループ
uv run pytest tests/unit/inference/test_model.py tests/unit/inference/test_manifest.py -q
アダプターを変更する場合は、tests/unit/inference/ 配下の対象テストを追加するか、実行してください。
必須チェック
- エクスポートディレクトリにバックエンドのモデルファイルと
manifest.jsonが含まれ、docs/reference/manifest-schema.mdと整合していること。 - メタデータの入出力名および特徴名が、マニフェスト内の前処理器と一致していること。
- オプションのバックエンドについて、明確なインストール案内(
onnxruntime、OpenVINO)を表示して失敗すること。 src/physicalai/inference/adapters/にアダプターが登録されていないバックエンドについては、ドキュメントに記載しないこと。- Hub からの読み込みでトークンをログに記録しないこと。本番向けドキュメントでは
revision=の固定を推奨します。
参考資料
references/export-load-contract.md— 利用側の契約(Studio のエクスポートスキルと調整してください)。references/onnx.md、references/openvino.md— アダプターの制約。