Views
No views yet
FetchPickAndPlace-v4 environment from gymnasium-robotics. The agent learns to pick and place objects using sparse or dense rewards, and is suitable for robotic manipulation research.gymnasium-robotics)False (can be enabled with wrapper)| Parameter | Value |
|---|---|
| Algorithm | SAC |
| Policy | MultiInputPolicy |
| Replay Buffer | HER |
| n_sampled_goal | 4 |
| goal_selection_strategy | future |
| Batch Size | 512 |
| Buffer Size | 1,000,000 |
| Learning Rate | 1e-3 |
| Gamma | 0.95 |
| Tau | 0.05 |
| Entropy Coefficient | auto |
| Train Frequency | 1 step |
| Gradient Steps | 1 |
| Tensorboard Log | logs_pnp_sac_her/tb |
| Seed | 42 |
| Device | CUDA/Auto |
| Dense Shaping | False (default) |
sac_her_pnp.zip: Final trained SAC modelckpt_sac_her_250000_steps.zip: Latest checkpointreplay_buffer.pkl: Replay buffer for continued trainingreplay.mp4: Replay video of agent performance (manual generation recommended)README.md: This model card1from stable_baselines3 import SAC
2import gymnasium as gym
3import gymnasium_robotics
4
5env = gym.make("FetchPickAndPlace-v4", render_mode="rgb_array")
6model = SAC.load("path/to/sac_her_pnp.zip", env=env)
7
8obs, info = env.reset()
9done = False
10while not done:
11 action, _ = model.predict(obs, deterministic=True)
12 obs, reward, done, truncated, info = env.step(action)
13 env.render()1from stable_baselines3 import SAC
2import gymnasium as gym
3import gymnasium_robotics
4
5env = gym.make("FetchPickAndPlace-v4", render_mode="human")
6model = SAC.load("path/to/sac_her_pnp.zip", env=env)
7
8num_episodes = 10
9for ep in range(num_episodes):
10 obs, info = env.reset()
11 done = False
12 truncated = False
13 episode_reward = 0
14 while not (done or truncated):
15 action, _ = model.predict(obs, deterministic=True)
16 obs, reward, done, truncated, info = env.step(action)
17 env.render()
18 episode_reward += reward
19 print(f"Episode {ep+1} reward: {episode_reward}")
20env.close()replay.mp4 is not present, you can manually generate it:1import gymnasium as gym
2import gymnasium_robotics
3from stable_baselines3 import SAC
4import moviepy.editor as mpy
5
6env = gym.make("FetchPickAndPlace-v4", render_mode="rgb_array")
7model = SAC.load("path/to/sac_her_pnp.zip", env=env)
8
9frames = []
10obs, info = env.reset()
11done = False
12truncated = False
13step = 0
14max_steps = 1000
15
16while not (done or truncated) and step < max_steps:
17 frame = env.render()
18 frames.append(frame)
19 action, _ = model.predict(obs, deterministic=True)
20 obs, reward, done, truncated, info = env.step(action)
21 step += 1
22
23env.close()
24clip = mpy.ImageSequenceClip(frames, fps=30)
25clip.write_videofile("replay.mp4", codec="libx264")1from stable_baselines3 import SAC
2import gymnasium as gym
3import gymnasium_robotics
4
5env = gym.make("FetchPickAndPlace-v4", render_mode=None)
6model = SAC.load("logs_pnp_sac_her/ckpt_sac_her_250000_steps.zip", env=env)
7model.learn(total_timesteps=500_000, reset_num_timesteps=False)@misc{IntelliGrow_FetchPickAndPlace_SAC_HER,
title={SAC + HER Agent for FetchPickAndPlace-v4},
author={IntelliGrow},
year={2025},
howpublished={Hugging Face Hub},
url={https://huggingface.co/IntelliGrow/FetchPickAndPlace-v4}
}