🚀
Fast & Extensible
Built on Lux.jl for efficient neural networks with automatic differentiation. Pure Julia for easy customization.
Fast, flexible, and easy-to-use deep RL algorithms

| Algorithm | Type |
|---|---|
| PPO (Proximal Policy Optimization) | On-policy |
| SAC (Soft Actor-Critic) | Off-policy |
julia> using Pkg
julia> Pkg.add("Drill")using Drill
using Zygote # Required for automatic differentiation
using ClassicControlEnvironments
# Parallel environments
env = BroadcastedParallelEnv([CartPoleEnv() for _ in 1:4])
# Actor-Critic network
model = ActorCriticLayer(observation_space(env), action_space(env))
# Train with PPO
agent = Agent(model, PPO(); verbose=2)
train!(agent, env, PPO(), 100_000)
# Extract deployment policy
policy = extract_policy(agent)
# Use policy for inference
obs = observe(env)
actions = policy(obs; deterministic=true)