A2C Agent playing PandaReachDense-v3

This is a trained model of an A2C agent playing PandaReachDense-v3 using the stable-baselines3 library, trained for Unit 6 of the Hugging Face Deep Reinforcement Learning Course.

Results

Evaluated with evaluate_policy over 100 episodes (deterministic), using the saved VecNormalize statistics with training=False and norm_reward=False:

metric value
mean_reward -0.22
std_reward 0.09
score (mean - std) -0.31

Training

  • Algorithm: A2C (MultiInputPolicy, stable-baselines3 defaults)
  • Vectorised envs: 4
  • Wrapper: VecNormalize(norm_obs=True, norm_reward=True, clip_obs=10.0)
  • Total timesteps: 1,000,000

Trained natively on macOS / Apple Silicon (arm64). pybullet has no published macOS wheel, so it was compiled from source after patching its vendored zlib (examples/ThirdPartyLibs/zlib/zutil.h), which redefines fdopen to NULL under TARGET_OS_MAC and clashes with the real fdopen declaration in modern macOS SDK headers.

Usage

import gymnasium as gym
import panda_gym
from huggingface_sb3 import load_from_hub
from stable_baselines3 import A2C
from stable_baselines3.common.vec_env import DummyVecEnv, VecNormalize

checkpoint = load_from_hub("EricMingle69/a2c-PandaReachDense-v3", "a2c-PandaReachDense-v3.zip")
stats = load_from_hub("EricMingle69/a2c-PandaReachDense-v3", "vec_normalize.pkl")

env = VecNormalize.load(stats, DummyVecEnv([lambda: gym.make("PandaReachDense-v3")]))
env.training = False
env.norm_reward = False

model = A2C.load(checkpoint, env=env)
Downloads last month
12
Video Preview
loading

Evaluation results