oa::ml::training::SacTrainer

Stateful fixed-temperature SAC coordinator over caller-owned components.

StRust public API

Declaration

pub struct SacTrainer<'engine, 'hooks> { /* private fields */ }
Public Rust declaration.

Public Methods

pub fn update(&mut self) -> Result<bool>
pub fn sync_targets(&self) -> Result<()>
pub fn is_done(&self) -> bool
pub const fn metrics(&self) -> SacTrainerMetrics
pub const fn training_loop(&self) -> &ItTraining<'engine, 'hooks>
pub fn training_loop_mut(&mut self) -> &mut ItTraining<'engine, 'hooks>
pub const fn actor_training_loop(&self) -> &ItTraining<'engine, 'hooks>
pub fn actor_training_loop_mut(&mut self) -> &mut ItTraining<'engine, 'hooks>
pub fn finish(self) -> Result<(TrainingSnapshot, TrainingSnapshot)>

Associated Functions

pub fn new( engine: &'engine Engine, actor: &'engine dyn Module, critic1: &'engine dyn Module, critic2: &'engine dyn Module, target_critic1: &'engine dyn Module, target_critic2: &'engine dyn Module, actor_optimizer: &'engine mut dyn Optimizer, critic_optimizer: &'engine mut dyn Optimizer, replay: &'engine ReplayBuffer, config: SacTrainerConfig, ) -> Result<Self>

Public Method Documentation

pub fn update( &mut self ) -> Result<bool>
No public source comment is attached to this declaration.
pub fn sync_targets(&self) -> Result<()>
No public source comment is attached to this declaration.
pub fn is_done( &self ) -> bool
No public source comment is attached to this declaration.
pub const fn metrics( &self ) -> SacTrainerMetrics
No public source comment is attached to this declaration.
pub const fn training_loop( &self ) -> &ItTraining<'engine, 'hooks>
No public source comment is attached to this declaration.
pub fn training_loop_mut( &mut self ) -> &mut ItTraining<'engine, 'hooks>
No public source comment is attached to this declaration.
pub const fn actor_training_loop( &self ) -> &ItTraining<'engine, 'hooks>
No public source comment is attached to this declaration.
pub fn actor_training_loop_mut( &mut self ) -> &mut ItTraining<'engine, 'hooks>
No public source comment is attached to this declaration.
pub fn finish(self) -> Result<( TrainingSnapshot, TrainingSnapshot )>
No public source comment is attached to this declaration.
pub fn new( engine: &'engine Engine, actor: &'engine dyn Module, critic1: &'engine dyn Module, critic2: &'engine dyn Module, target_critic1: &'engine dyn Module, target_critic2: &'engine dyn Module, actor_optimizer: &'engine mut dyn Optimizer, critic_optimizer: &'engine mut dyn Optimizer, replay: &'engine ReplayBuffer, config: SacTrainerConfig ) -> Result<Self>
No public source comment is attached to this declaration.