Reinforcement Learning
stable-baselines3
deep-reinforcement-learning
fluidgym
active-flow-control
fluid-dynamics
simulation
CylinderJet3D-easy-v0
Eval Results (legacy)
Instructions to use safe-autonomous-systems/ppo-CylinderJet3D-easy-v0 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- stable-baselines3
How to use safe-autonomous-systems/ppo-CylinderJet3D-easy-v0 with stable-baselines3:
from huggingface_sb3 import load_from_hub checkpoint = load_from_hub( repo_id="safe-autonomous-systems/ppo-CylinderJet3D-easy-v0", filename="{MODEL FILENAME}.zip", ) - Notebooks
- Google Colab
- Kaggle
metadata
library_name: stable-baselines3
tags:
- reinforcement-learning
- stable-baselines3
- deep-reinforcement-learning
- fluidgym
- active-flow-control
- fluid-dynamics
- simulation
- CylinderJet3D-easy-v0
model-index:
- name: PPO-CylinderJet3D-easy-v0
results:
- task:
type: reinforcement-learning
name: reinforcement-learning
dataset:
name: FluidGym-CylinderJet3D-easy-v0
type: fluidgym
metrics:
- type: mean_reward
value: -0.24
name: mean_reward
PPO on CylinderJet3D-easy-v0 (FluidGym)
This repository is part of the FluidGym benchmark results. It contains trained Stable Baselines3 agents for the specialized CylinderJet3D-easy-v0 environment.
Evaluation Results
Global Performance (Aggregated across 3 seeds)
Mean Reward: -0.24 ± 0.07
Per-Seed Statistics
| Run | Mean Reward | Std Dev |
|---|---|---|
| Seed 0 | -0.16 | 0.28 |
| Seed 1 | -0.34 | 0.32 |
| Seed 2 | -0.21 | 0.28 |
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("CylinderJet3D-easy-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)