evorl
EvoRL is a fully GPU-accelerated framework for Evolutionary Reinforcement Learning, implemented with JAX. It supports Reinforcement Learning (RL), Evolutionary Computation (EC), Evolution-guided Reinforcement Learning (ERL), AutoRL, and seamless integration with GPU-optimized simulation environments.
Debug JIT errors and profile JAX training in EvoRL easily. Disable JIT, inspect compiled code with jax.debug.print, and analyze performance using jax.profiler and TensorBoard.
How to Create Custom Neural Network Architectures for Policies in EvoRLLearn to build custom neural network architectures for policies in EvoRL. Use the flexible make_policy_network factory to easily assemble MLP, CNN, and normalization components for your AI agents.
How to Save and Load Model Checkpoints Using Orbax in EvoRLLearn to efficiently save and load model checkpoints using Orbax in EvoRL. Explore helper functions and the Checkpoint Manager for seamless training.
How to Implement On-Policy Algorithms (PPO, A2C, IMPALA) in EvoRLImplement PPO A2C and IMPALA on policy algorithms in EvoRL easily. Discover how EvoRL's modular workflow simplifies training pipelines with custom agent factories and loss functions.
How to Implement Off-Policy Algorithms (SAC, TD3, DDPG) in EvoRL: A Complete GuideEasily implement SAC, TD3, and DDPG off-policy algorithms in EvoRL. Follow our guide to create agent classes and leverage OffPolicyWorkflowTemplate for efficient training.
How to Optimize Training Performance Using `jax.jit` and `jax.vmap` in EvoRLOptimize EvoRL training with jax.jit and jax.vmap. Compile loops and vectorize operations for faster execution and better GPU/TPU use. Eliminate Python overhead.
How to Integrate Custom Evolutionary Computation (EC) Components with RL Workflows in EvoRLIntegrate custom EC components into EvoRL by implementing the EvoOptimizer abstract base class with init ask and tell methods. Learn how to inject your optimizer into hybrid ERL or pure EC workflows in this guide.
How to Leverage EvoRL's Object-Oriented Functional Programming Model with JAX jitLearn how EvoRL uses JAX jit with its object-oriented functional programming model. Discover how class instances act as static containers for pure functional kernels and immutable pytrees.
How to Create Custom Environment Wrappers in EvoRL: A Complete GuideLearn to create custom environment wrappers in EvoRL by subclassing Wrapper. Override step and expose new spaces to transform actions, observations, and rewards effectively.
How to Set Up Logging with LogRecorder and WandbRecorder in EvoRLLearn to set up logging in EvoRL with LogRecorder and WandbRecorder. Effortlessly track local metrics and visualize progress on Weights & Biases dashboards. Get started now.
How to Implement Cross-Entropy Method for RL (CEM-RL) with Covariance Adaptation in EvoRLImplement Cross-Entropy Method for RL with covariance adaptation in EvoRL. Configure SepCEM optimizer with ExponentialScheduleSpec for adaptive diagonal covariance decay. Get started today.
How to Use PyTreeDict, PyTreeData, and PyTreeNode for JAX-Compatible Data Structures in EvoRLLeverage PyTreeDict, PyTreeData, and PyTreeNode in EvoRL for JAX-compatible data structures. Effectively manage configurations, immutable data, and mutable state with JAX's JIT compilation and vectorization.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →