Skip to main content
フリートラーニングリリースは、お客様のトレーニングスタックに合わせて作られます。このページでは、LeRobot インポーター、LeRobot エクスポーター、すべてのリリースに含まれるファイルについて説明します。

各リリースに含まれるもの

フリートラーニングプログラムのすべてのリリースには、次のものが含まれます: 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 v2.1 と v3 のデータセット API に対応しています。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 のシーケンスを訓練から除外します。リリースにはこれらが含まれることはありません。
技術的妥当性はエクスポートに含まれません。Avala は、シーケンスがリリースに入る前にレビューして承認します。シーケンスメタデータスキーマの「技術的妥当性」をご覧ください。