好的!根據你提供的服務器配置(1×RTX 4090,24GB顯存)和官方 README.md 內容,以下是完整、可直接複製粘貼執行的操作流程,涵蓋 環境搭建 → 數據集下載 → 模型推理 全流程。
⚠️ 注意:由於你的 GPU 顯存為 24GB,不能進行 Full Fine-tuning(需 ~70GB),但可以:
- 推理(Inference)
- 僅微調 Action Expert(Fine-tuning Only AE)
- 使用輕量版 GO-1 Air(推薦用於推理)
一、基礎環境初始化(SSH 登錄後執行)
# 1. 更新系統 & 安裝基礎依賴
sudo apt update && sudo apt install -y git curl wget build-essential libgl1 libglib2.0-0
# 2. 安裝 Miniconda(若未安裝)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
bash miniconda.sh -b -p $HOME/miniconda3
eval "$($HOME/miniconda3/bin/conda init bash)"
source ~/.bashrc
二、創建 Conda 環境並安裝依賴
# 1. 克隆官方倉庫
git clone https://github.com/OpenDriveLab/AgiBot-World.git
cd AgiBot-World
# 2. 創建 conda 環境(Python 3.10)
conda create -n go1 python=3.10 -y
conda activate go1
# 3. 安裝項目依賴(基於 LeRobot v2.1)
pip install -e .
# 4. 安裝 flash-attn(關鍵!限制編譯線程避免 OOM)
export MAX_JOBS=4
pip install --no-build-isolation flash-attn==2.4.2
# 5. 安裝可視化依賴(可選,用於 rerun)
pip install rerun-sdk
三、下載 AgiBot World 數據集(以 Alpha 為例,約 8.5TB,但可只下 sample)
由於你只有 200GB 磁盤,不能完整下載 Alpha/Beta,建議先用 sample_dataset (~7GB) 測試!
下載 sample_dataset(推薦)
# 創建數據目錄
mkdir -p data/sample_dataset
cd data
# 從 HuggingFace 下載 sample_dataset.tar(無需 token,公開)
wget https://huggingface.co/datasets/agibot-world/AgiBotWorld-Alpha/resolve/main/sample_dataset.tar
# 解壓
tar -xvf sample_dataset.tar -C sample_dataset --strip-components=1
cd ..
轉換為 LeRobot 格式(用於推理/訓練)
# 使用任務 ID 390(示例任務:Fold Shirt)
python scripts/convert_to_lerobot.py \
--src_path ./data/sample_dataset \
--task_id 390 \
--tgt_path ./data/sample_lerobot
四、下載 GO-1 模型(推薦使用 GO-1 Air,更輕量)
# 創建模型目錄
mkdir -p models
# 使用 huggingface-cli 下載 GO-1 Air(約 4–6GB)
huggingface-cli download \
--repo-type model \
agibot-world/GO-1-Air \
--local-dir ./models/GO-1-Air \
--local-dir-use-symlinks False
✅ 為什麼用 GO-1 Air?
- 無 Latent Planner,推理顯存僅需 ~7GB
- 完全兼容 GO-1 接口
- 適合 RTX 4090 單卡推理
五、本地推理測試(加載模型 + sample 數據)
創建推理腳本 test_inference.py:
# test_inference.py
import numpy as np
from evaluate.deploy import GO1Infer
# 模型路徑(替換為你下載的路徑)
model_path = "./models/GO-1-Air"
data_stats_path = "./data/sample_lerobot/dataset_stats.json" # 會自動生成
# 如果 dataset_stats.json 不存在,先運行一次 visualize 生成
# python scripts/visualize_dataset.py --task-id 390 --dataset-path ./data/sample_lerobot
model = GO1Infer(
model_path=model_path,
data_stats_path=data_stats_path
)
# 模擬輸入(需根據實際任務調整 shape)
payload = {
"top": np.random.randn(3, 224, 224).astype(np.float32), # top camera
"right": np.random.randn(3, 224, 224).astype(np.float32), # right camera
"left": np.random.randn(3, 224, 224).astype(np.float32), # left camera
"instruction": "fold the shirt", # 文本指令
"state": np.random.randn(14).astype(np.float32), # 機器人狀態(如關節角)
"ctrl_freqs": np.array([30], dtype=np.float32) # 控制頻率 30Hz
}
# 執行推理
actions = model.inference(payload)
print("Predicted actions shape:", actions.shape)
print("Actions:", actions)
運行推理
# 先確保 dataset_stats.json 存在(通過 visualize 腳本自動計算)
python scripts/visualize_dataset.py --task-id 390 --dataset-path ./data/sample_lerobot
# 然後運行推理
python test_inference.py
🔍 注意:
dataset_stats.json會在sample_lerobot/目錄下自動生成,包含動作歸一化參數。
六、(可選)遠程推理服務器部署(適合真實機器人)
啓動服務器(在服務器上運行)
python evaluate/deploy.py \
--model_path ./models/GO-1-Air \
--data_stats_path ./data/sample_lerobot/dataset_stats.json \
--port 8080
客户端調用示例(在另一台機器或本地)
# client.py
import json_numpy
import numpy as np
import requests
json_numpy.patch()
payload = {
"top": np.random.randn(3, 224, 224).astype(np.float32),
"right": np.random.randn(3, 224, 224).astype(np.float32),
"left": np.random.randn(3, 224, 224).astype(np.float32),
"instruction": "fold the shirt",
"state": np.random.randn(14).astype(np.float32),
"ctrl_freqs": np.array([30], dtype=np.float32)
}
response = requests.post("http://<你的服務器IP>:8080/act", json=payload)
if response.status_code == 200:
actions = np.array(response.json())
print("Received actions:", actions)
七、常見問題處理
Q1:顯存不足?
- 使用
GO-1-Air而非GO-1 - 降低 batch_size(推理默認為 1,無問題)
Q2:dataset_stats.json 不存在?
- 先運行
visualize_dataset.py,它會自動計算並保存統計信息
Q3:HuggingFace 下載慢?
- 使用
hf_transfer加速:
pip install hf_transfer
export HF_HUB_ENABLE_HF_TRANSFER=1
總結:你最終擁有的能力
✅ 在 RTX 4090 上成功運行 GO-1 Air 推理
✅ 使用官方 sample 數據集測試 pipeline
✅ 可擴展到真實機器人(通過遠程 API)
✅ 可微調 Action Expert(若需適配新任務)
如需進一步微調(Action Expert only),可參考 go1/shell/train_dev.sh,但需準備自己的 LeRobot 格式數據。
是否需要我為你生成完整的 微調腳本(適配 24GB 顯存)?