各リリースに含まれるもの
フリートラーニングプログラムのすべてのリリースには、次のものが含まれます:
Avala はプログラムの一部として LeRobot エクスポートを準備します。訓練はお客様が実行します。
LeRobot データセットをインポートする
LeRobot インポーターは、Hugging Face Hub またはローカルディレクトリから LeRobot データセットを読み込みます。そして Avala の MCAP データセットを作成します。- 各 LeRobot エピソードは 1 つの
.mcapファイルになり、Avala はそれを 1 つのアイテムとして取り込みます。LeRobot のエピソードは Avala のシーケンスに対応します。 - カメラストリームは
foxglove.CompressedImageとして書き込まれるため、Mission Control のビューアで表示できます。 - 固有受容感覚(
observation.state、action、その他の 1 次元の数値特徴量)はgoogle.protobuf.Structメッセージとして書き込まれます。値は保持され、生メッセージとして読み取れます。 - その他のフレームごとの列(報酬、
episode_uuid、failure_typeなどのテキスト列)も、それぞれ独自のトピックに保持されます。control_source列(policy、teleop、intervention、hold)は/lerobot/control_sourceに書き込まれます。
lerobot extra が必要で、これには Python 3.12 以降が必要です。LeRobot v3 データセットでは、torch を使わないリーダーも Python 3.9 以降で動作します: pip install "avala[lerobot-core-video]"。
repo_id、root、またはその両方を渡します。Python では、state_keys で保持する数値特徴量を選択します。デフォルトは observation.state と action です。
Avala のデータセットを LeRobot にエクスポートする
任意の Avala シーケンスデータセットを、お客様自身で LeRobot v3 に変換することもできます。1 つの Avala シーケンスが 1 つの LeRobot エピソードになります。--include-outcomes は、各シーケンスの現在の結果ラベルを meta/avala_sequence_outcomes.jsonl に、LeRobot エピソードごとに 1 行で書き出します。Python では include_outcomes=True を渡します。ファイル形式はシーケンスメタデータスキーマの「LeRobot で結果ラベルをエクスポートする」で説明しています。
ソースのフレームが固有受容感覚を持つ場合は、--state-key と --action-key を追加します。オプションの完全な一覧と Python API は Avala + LeRobot にあります。
訓練で結果ラベルを使う
結果ラベルは LeRobot エクスポートに付属します。典型的な使い方は次のとおりです:outcome、progress、quality、speedでシーケンスを重み付けまたは選択します。- 言語条件付きポリシーのために、サブタスクの
label文字列と手のアクションのaction文字列で訓練します。 - 独自の検証セットを作る際は、リーケージグループで分割します。
- 他のソースのデータと統合する際は、
evaluation_membershipがheld_out_evalのシーケンスを訓練から除外します。リリースにはこれらが含まれることはありません。