Skip to main content

thrust_rl/train/sac/
mod.rs

1//! Soft Actor-Critic (SAC) trainer for continuous control.
2//!
3//! This module is the integration capstone of the SAC decomposition
4//! (#136): it assembles the four building blocks —
5//! [`SacActor`](crate::policy::sac_actor::SacActor),
6//! [`ContinuousQNetwork`](crate::policy::continuous_q::ContinuousQNetwork),
7//! [`ContinuousReplayBuffer`](crate::buffer::replay::ContinuousReplayBuffer),
8//! and the [`PendulumSwingUp`](crate::env::games::pendulum::PendulumSwingUp)
9//! env — into a working SAC trainer following Haarnoja et al. 2018 v2
10//! (arXiv:1812.05905).
11//!
12//! - [`SacConfig`] — hyperparameters (builder + `validate()`), mirroring
13//!   [`crate::train::dqn::DQNConfig`].
14//! - [`SacTrainer`] — twin critics + targets, stochastic actor, automatic
15//!   entropy-temperature tuning, replay buffer, and Polyak target updates,
16//!   driven by three independent Adam optimizers.
17
18mod config;
19mod trainer;
20
21pub use config::SacConfig;
22pub use trainer::{LogAlpha, SacStepStats, SacTrainer};