mujoco-py 1.50.1.0 版本說明 / 新功能
OpenAI 已發布 mujoco-py 1.50.1.0,這是一個高效能的 Python 3 函式庫,利用 MuJoCo 引擎進行機器人模擬。此版本提供顯著的效能提升和新功能,旨在支援深度學習與機器人研究。
批次模擬與效能提升
mujoco-py 1.50.1.0 引入了 MjSimPool 介面,以實現高效的平行模擬,這對於軌跡優化和強化學習方法(如 TRPO、PI2、LQR)至關重要。該庫透過使用 OpenMP 進行資料平行ism,以及 Cython 和 NumPy 進行直接存取記憶體管理來實現這些提升。
根據 OpenAI 的說法,對 MjSimPool 介面的天真使用相較於先前版本的庫可獲得 400% 的加速,且相較於使用 Python 的 multiprocessing 套件的最佳化使用模式仍快約 180%。這些效能提升主要歸因於 MuJoCo 資料結構的存取時間減少。
GPU 加速渲染與域隨機化
mujoco-py 的最新版本支援無頭 GPU 渲染,相較於 CPU 基礎的渲染可提供約 40 倍的加速。此功能使研究人員能夠每秒生成數百幀的合成圖像資料。
此加速專門用於域隨機化——一種在 OpenAI 用於在模擬中改變機器人紋理的技術。此過程有助於機器人在將學習行為從模擬環境轉移到實體世界時,更好地識別自身的身體。
虛擬實境整合
mujoco-py 現在提供了一個足以啟用 Virtual Reality (VR) 互動的 API,無需額外的 C++ 程式碼。OpenAI 將 MuJoCo 的 C++ VR 範例移植到 Python,以支援 HTC Vive VR 設備。儘管此支援目前被視為實驗性功能,但已在 OpenAI 內部使用。
核心功能與 API 使用
mujoco-py 1.50.1.0 提供對 MuJoCo 函式與資料結構的直接存取,並支援 MuJoCo 1.50 的所有功能,包括其改進的接觸求解器。
對於標準使用情況,MjSim 類別充當模擬模型與資料的封裝,使用戶能夠推進模擬並從相機感測器渲染圖像。對於進階使用者,該庫提供較低層級的介面,以直接存取 MuJoCo 的 C 結構與函式。
Sources
- OriginalFaster physics in Python