Instructions to use lin267/a2c-PandaReachDense-v3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- stable-baselines3
How to use lin267/a2c-PandaReachDense-v3 with stable-baselines3:
from huggingface_sb3 import load_from_hub checkpoint = load_from_hub( repo_id="lin267/a2c-PandaReachDense-v3", filename="{MODEL FILENAME}.zip", ) - Notebooks
- Google Colab
- Kaggle
A2C-PandaReachDense-v3
用 A2C(Advantage Actor-Critic)训练的 Franka Emika Panda 机械臂"够到目标"智能体。 对应《第3周-深度强化学习原理实践》实战二(PPT 第 18–26 页)。
- 环境:
PandaReachDense-v3(panda-gym 3.0.7,末端执行器位移控制,动作 = x/y/z 位移) - 算法:Stable-Baselines3
A2C,MultiInputPolicy(观测是多键字典) - 预处理:
VecNormalize(norm_obs=True, norm_reward=True, clip_obs=10.0),4 个并行环境 - 训练步数:500,000 步(81 分钟,平均 103 步/秒)
- 训练日期:2026-10-28 10:05:42
评估分数(贪心策略,20 局独立评估)
| 指标 | 数值 |
|---|---|
| 平均回报 | -0.27 ± 0.11 |
| 成功率(末端距离 < 5 cm) | 100% |
| 平均末端误差 | 29.3 mm |
| 单局最大步数 | 50 |
环境奖励 = 每步 −(末端到目标距离),回报越接近 0 越好;PPT 的参考结果是 −0.21 ± 0.11。
回放视频
https://huggingface.co/你的用户名/a2c-PandaReachDense-v3/resolve/main/replay_a2c_panda_reach.mp4
本地文件:
replay_a2c_panda_reach.mp4(720×480 / 20fps)
使用方法
import gymnasium as gym
import panda_gym # noqa: F401 注册环境
from stable_baselines3 import A2C
from stable_baselines3.common.vec_env import DummyVecEnv, VecNormalize
env = DummyVecEnv([lambda: gym.make("PandaReachDense-v3", render_mode="rgb_array")])
env = VecNormalize.load("vec_normalize.pkl", env) # 必须加载同一份归一化统计量!
env.training = False
env.norm_reward = False
model = A2C.load("a2c_panda_reach.zip", env=env)
obs = env.reset()
while True:
action, _ = model.predict(obs, deterministic=True)
obs, reward, done, info = env.step(action)
if done[0]:
break
⚠️ 模型是和
vec_normalize.pkl一起训练的,缺了它输入分布会不一致,动作会全错。
训练日志摘录
训练过程每 1 万步记录一次(logs/a2c_panda_reach/progress.csv 里有完整数据),
曲线见 train_curve.png;每 10 万步用独立环境评估一次(评估时加载同一份归一化统计量)。
文件说明
| 文件 | 说明 |
|---|---|
a2c_panda_reach.zip |
A2C 智能体权重(Stable-Baselines3 格式) |
vec_normalize.pkl |
观测/奖励归一化统计量(必须与模型配套使用) |
replay_a2c_panda_reach.mp4 |
10 局回放视频(片头片尾含评估分数) |
eval_results.json |
逐局评估明细 |
train_a2c_panda.py |
训练代码(含日志/评估/checkpoint) |
evaluate_and_record.py |
评估 + 录制回放视频代码 |
train_curve.png |
训练曲线 |
复现
pip install stable-baselines3==2.7.1 panda-gym==3.0.7
python train_a2c_panda.py --total-timesteps 500000 --n-envs 4
python evaluate_and_record.py --episodes 20
- Downloads last month
- -
Evaluation results
- mean_reward on PandaReachDense-v3self-reported-0.270