Skip to content

Drill.jlDeep Reinforcement Learning in Julia

Fast, flexible, and easy-to-use deep RL algorithms

Drill.jl

Implemented Algorithms ​

AlgorithmType
PPO (Proximal Policy Optimization)On-policy
SAC (Soft Actor-Critic)Off-policy

How to Install Drill.jl? ​

julia
julia> using Pkg
julia> Pkg.add("Drill")

Quick Example ​

julia
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)