PPO on CylinderJet2D-hard-v0 (FluidGym)

This repository is part of the FluidGym benchmark results. It contains trained Stable Baselines3 agents for the specialized CylinderJet2D-hard-v0 environment.

Evaluation Results

Global Performance (Aggregated across 5 seeds)

Mean Reward: 1.18 ± 0.06

Per-Seed Statistics

Run Mean Reward Std Dev
Seed 0 1.17 0.75
Seed 1 1.09 0.75
Seed 2 1.13 0.70
Seed 3 1.26 0.74
Seed 4 1.23 0.77

About FluidGym

FluidGym is a benchmark for reinforcement learning in active flow control.

Usage

Each seed is contained in its own subdirectory. You can load a model using:

from stable_baselines3 import PPO
model = PPO.load("0/ckpt_latest.zip")

Important: The models were trained using fluidgym==0.0.2. In order to use them with newer versions of FluidGym, you need to wrap the environment with a FlattenObservation wrapper as shown below:

import fluidgym
from fluidgym.wrappers import FlattenObservation
from stable_baselines3 import PPO

env = fluidgym.make("CylinderJet2D-hard-v0")
env = FlattenObservation(env)
model = PPO.load("path_to_model/ckpt_latest.zip")

obs, info = env.reset(seed=42)

action, _ = model.predict(obs, deterministic=True)
obs, reward, terminated, truncated, info = env.step(action)

References

Downloads last month
181
Video Preview
loading

Collection including safe-autonomous-systems/ppo-CylinderJet2D-hard-v0

Paper for safe-autonomous-systems/ppo-CylinderJet2D-hard-v0

Evaluation results