package fehu
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Reinforcement learning framework for OCaml
Install
dune-project
Dependency
Authors
Maintainers
Sources
raven-1.0.0.alpha2.tbz
sha256=93abc49d075a1754442ccf495645bc4fdc83e4c66391ec8aca8fa15d2b4f44d2
sha512=5eb958c51f30ae46abded4c96f48d1825f79c7ce03f975f9a6237cdfed0d62c0b4a0774296694def391573d849d1f869919c49008acffca95946b818ad325f6f
doc/fehu.envs/Fehu_envs/index.html
Module Fehu_envsSource
Built-in reinforcement learning environments.
This module provides a collection of ready-to-use environments for testing algorithms, learning the Fehu API, and benchmarking. All environments follow the standard Fehu.Env interface and are fully compatible with wrappers, vectorization, and training utilities.
Available Environments
Random_walk: One-dimensional random walk with continuous state spaceGrid_world: Two-dimensional grid navigation with discrete states and obstaclesCartpole: Classic cart-pole balancing problemMountain_car: Drive up a steep hill using momentum
Usage
Create an environment with a Rune RNG key:
let rng = Rune.Rng.create () in
let env = Fehu_envs.Random_walk.make ~rng () in
let obs, info = Fehu.Env.reset env ()Environments support rendering for visualization:
let env = Fehu_envs.Grid_world.make ~rng () in
let obs, _ = Fehu.Env.reset env () in
match Fehu.Env.render env with
| Some output -> print_endline output
| None -> ()Environment Selection Guide
Use Random_walk for:
- Testing continuous observation spaces
- Debugging value-based algorithms
- Quick prototyping with minimal complexity
Use Grid_world for:
- Learning discrete state/action navigation
- Testing path planning or exploration strategies
- Demonstrating obstacle avoidance
One-dimensional random walk environment.
Two-dimensional grid world with goal and obstacles.
Mountain car environment - drive up a steep hill using momentum.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page