LeRobotDataset v3 是一種機器人學習資料格式,將高頻低維訊號儲存在 Parquet,攝影機流儲存在 MP4,模式和回合分割儲存在後設資料中。多個回合可以共享更大的檔案,而 API 則重建回合級別的存取。
該設計降低了檔案系統壓力,支援 Hub 原生流媒體,但使偏移量、時間戳和最終處理變得至關重要。僅僅因為每個 Parquet 或影片檔案獨立開啟,資料集並不有效。
官方 LeRobotDataset v3 檔案 會隨著程式碼庫的擴充而演進。先釘住已安裝的版本和檔案版本,然後結合機器人 動作資料指南 和 資料質量審計使用本指南。
將儲存檔案與回合存取分開
版本 3 從每集一個檔案儲存轉向更大的共享 Parquet 和 MP4 碎片。回合邊界是從後設資料恢復的,而非從檔名推斷。訓練程式碼仍可請求樣本和時間視窗,無需手動開啟每個碎片。
這種分離提升了規模,但增加了對關係一致性的依賴。僅複製資料檔案或重新命名分片而不更新後設資料,可能導致完整片段無法存取或錯位。

在 Parquet 中放入表式時間序列
機器人狀態、動作、時間戳及其他低維高速率特徵應包含 Parquet,並宣告名稱、類型和形狀。單元、框架和控制意義不由容器建立,必須保持檔案化。
檢查行順序、時間戳單調性、缺失值以及每集和每台機器人的功能範圍。可讀的表格仍可包含移動一影格的動作或靜默變化的單元。
| 組成部分 | 商店 | 批評關係 | 失效示例 |
|---|---|---|---|
| 元/info.json | 模式、影格數、版本、路徑 | 描述所有特徵和碎片 | 錯誤的 d 類型 |
| data/*.parquet | 狀態、動作、時間戳 | 行對映到回合 | 偏移量變化 |
| 影片/*.mp4 | 攝影機影格 | 影格與時間對齊 | 掉影格 |
| 元回合/回合 | 長度、任務、偏移量 | 重建邊界 | 交叉集 |
| 元/屬性 | 功能統計 | 比賽單位與分組 | 洩漏或過時統計 |
把攝影機流儲存在 MP4 碎片裡
每影格被編碼成影片碎片,而不是以陣列儲存在 Parquet 中。編解碼器、影格率、關鍵影格和相機身份都會影響隨機存取和流媒體成本。保留原始時序,而不是僅假設影格索引就是通用時間。
從每個攝影機中解碼取樣的間隔,並與表格觀察進行比較影格數和時間戳。訓練前測試缺失、凍結和可變影片行為。
用 info.json 作為模式的入口點
官方 v3 檔案將 meta/info.json 描述為特徵、形狀、 dtype、 FPS、程式碼庫版本和路徑模板的規範模式位置。將其視為記錄、轉換和訓練之間的合約。
驗證所需金鑰,並早期拒絕不相容的模式變更。保留自定義特徵定義和處理程式碼,因為像 observation.state 這樣的名稱本身無法辨識聯合順序、單元或影格。
從關係後設資料重建回合
每集記錄提供共享資料和影片檔案的長度、任務和偏移量。驗證首集、末集和隨機集數,包括跨越分片邊界或靠近檔案過渡的集數。
不要僅僅相信匯總行數。重建每個取樣的集數,確認開始和結束觀察、任務標籤、動作序列和攝影機片段屬於同一試驗。

將任務和統計資料視為派生後設資料
任務記錄將自然語言描述與條件策略使用的辨識符號連線起來。統計資料支援正規化,但兩者都不能替代原始語意。相同的數值範圍可以表示聯合弧度、笛卡爾米或正規化的抓握器命令。
計算預期訓練分段的統計資料,並在需要時保留每個資料集或每個具體版本。避免透過全域統計洩露驗證或測試資訊。
在出版前確定作者
目前主要檔案說,最終完成會關閉 Parquet 寫入者,清除緩衝的回合後設資料,並寫入所需的頁尾資訊。跳過它可能會導致檔案不完整,即使有些位元組存在也無法載入。
最終確定後,在新程式中重新開啟資料集,並執行結構性和語意檢查。將錄製中斷視為帶有明確保留或隔離的恢復案例,而非隱式成功完成。
驗證 v2.1 到 v3 遷移的意義
遷移會將回合級別的 Parquet 和 MP4 檔案聚合成更大的分片,並寫入新的回合偏移量。比較源節點和目標之間的回合數量、影格數、任務、時間戳、功能值、攝影機片段和成功標籤。
請使用已安裝版本的官方 大資料集移植指南。轉換器完成且無例外,不足以證明動作和影片語意被保留。
分別測試流媒體和隨機存取
流式傳輸避免了完全本地下載,並能改善對大型集線中心資料集的存取。其效能依賴於分片大小、尋道模式、快取、網路和時間視窗請求。順序吞吐量不預測隨機集數存取。
基準測試代表培訓人員和故障恢復。確認網路重試或截斷範圍不會返回一個合理但不完整的事件。
郵編和檔案版本
目前文件頁面將 main 標識為原始碼-安裝分支,並指向穩定版本。 API 和示例在不同版本之間可能有所不同。記錄 LeRobot 包的版本、提交、資料集依賴性和轉換器版本。
未經檢查相容性,不要將 main 命令複製到舊安裝包中。將資料集程式碼庫版本和遷移歷史與工件一起儲存。
執行結構、時間和語意完整性測試
結構測試驗證檔案、模式、偏移量和可解碼性。時間測試檢查單調時間、對齊視窗和影格覆蓋情況。語意測試重放事件,驗證觀察到的動作、運動和任務在物理上是否一致。
當資料來源於 ROS 2 時,將失敗連結到記錄和重放指南。維護校驗和和不可變清單,用於原始碼、轉換和釋出版本。
| 測試層 | 營運 | 透過條件 | 失效暴露 |
|---|---|---|---|
| 結構 | 載入後設資料 | 預期名稱、形狀、類型 | 不相容的功能 |
| 索引 | 樣本邊界 | 正確的分片和偏移量 | 交叉集數 |
| 時間 | 比較不同模態 | 有界偏斜與覆蓋 | 行動轉移 |
| 重賽 | 渲染狀態、動作、影片 | 物理序列一致 | 錯誤的相機或任務 |
| 培訓 | 載入時序批次 | 穩定通道與口罩 | 尋道或填充錯誤 |
釋出時附帶資料集接受檢查清單
檔案版本、模式、單元、影格、任務、回合索引、影片編碼、最終化、轉換、校驗和分割統計。儲存源頭到出版的血統記錄和可復現的驗證器。
透過以下清單進行驗證。
評估“LeRobot 資料集 v3 格式”時,還應儲存模型版本、機器人設定、校正檔案、測試日期和全部試驗記錄。
只有把這些持續投入與單位成功任務的價值比較,才能判斷方案是否適合擴大。
上線後仍要持續檢查分佈變化、感測器漂移、機械磨損和人工接管原因。
實際專案還應指定資料、模型、控制器和安全流程的負責人,並預先定義回復條件。責任邊界、審批記錄與變更紀錄越清楚,故障發生後越容易停止擴散、定位原因並安全恢復。
把任務拆成感知、決策、動作執行和結果確認,可以更準確地定位瓶頸。每一階段都應有獨立指標與失敗示例,避免用端對端成功率掩蓋偶發但嚴重的風險。
- 把 LeRobot 的程式碼、檔案和資料集版本釘住。
- 驗證 Parquet、 MP4 和後設資料的關聯。
- 在分片邊界上重建隨機回合。
- 比較遷移後的 v2.1 和 v3 語意。
- 敲定、重新開放、直播並在乾淨的環境中進行培訓。
常見問題
v3 是不是每集都建立一個 Parquet 檔案?
不會。多個回合可以共享更大的 Parquet 和 MP4 碎片,後設資料會恢復回合邊界。
相機影像會儲存在 Parquet 中嗎?
標準 v3 設計將攝影機影格儲存在 MP4 碎片中,低維訊號儲存在 Parquet 中。
檔案越少,損壞風險就越低嗎?
不會。它減少了檔案系統的壓力,但共享分片使得後設資料、偏移量和最終化變得更重要。
為什麼必須被打電話?
它會清除緩衝的後設資料並關閉 Parquet 寫入器,確保所需檔案資訊完整且可載入。
v2.1 遷移後應該比較哪些內容?
比較回合和影格數、任務、時間戳、專題、影片、統計資料以及有物理意義的回放。
回合語意與碎片完整性邊界
LeRobotDataset v3 透過後設資料保留回合存取能力,而非檔案邊界。在每次錄製、轉換或中斷最終完成後,驗證偏移量、時間和語意。