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};