pub struct NeuralRLStepController<F: IntegrateFloat + GpuDataType> { /* private fields */ }Expand description
Neural reinforcement learning step size controller
Implementations§
Source§impl<F: IntegrateFloat + GpuDataType + Default> NeuralRLStepController<F>
impl<F: IntegrateFloat + GpuDataType + Default> NeuralRLStepController<F>
Sourcepub fn new() -> IntegrateResult<Self>
pub fn new() -> IntegrateResult<Self>
Create a new neural RL step controller
Sourcepub fn initialize(
&self,
problem_size: usize,
initialstep_size: F,
problem_type: &str,
) -> IntegrateResult<()>
pub fn initialize( &self, problem_size: usize, initialstep_size: F, problem_type: &str, ) -> IntegrateResult<()>
Initialize the RL agent with problem characteristics
Sourcepub fn predict_optimalstep(
&self,
currentstep: F,
currenterror: F,
problem_state: &ProblemState<F>,
performance_metrics: &PerformanceMetrics<F>,
) -> IntegrateResult<StepSizePrediction<F>>
pub fn predict_optimalstep( &self, currentstep: F, currenterror: F, problem_state: &ProblemState<F>, performance_metrics: &PerformanceMetrics<F>, ) -> IntegrateResult<StepSizePrediction<F>>
Predict optimal step size using the trained RL agent
Sourcepub fn train_on_experience(
&self,
previous_state: &Array1<F>,
action_taken: usize,
reward: F,
current_state: &Array1<F>,
done: bool,
) -> IntegrateResult<TrainingResult<F>>
pub fn train_on_experience( &self, previous_state: &Array1<F>, action_taken: usize, reward: F, current_state: &Array1<F>, done: bool, ) -> IntegrateResult<TrainingResult<F>>
Train the RL agent with the outcome of the previous step
Sourcepub fn gpu_accelerated_training(&self) -> IntegrateResult<()>
pub fn gpu_accelerated_training(&self) -> IntegrateResult<()>
Update the neural network using GPU-accelerated training
Sourcepub fn evaluate_performance(&self) -> IntegrateResult<RLEvaluationResults>
pub fn evaluate_performance(&self) -> IntegrateResult<RLEvaluationResults>
Evaluate the performance of the RL agent
Sourcepub fn adaptive_hyperparameter_tuning(&mut self) -> IntegrateResult<()>
pub fn adaptive_hyperparameter_tuning(&mut self) -> IntegrateResult<()>
Adaptive hyperparameter tuning based on performance
Auto Trait Implementations§
impl<F> Freeze for NeuralRLStepController<F>where
F: Freeze,
impl<F> RefUnwindSafe for NeuralRLStepController<F>where
F: RefUnwindSafe,
impl<F> Send for NeuralRLStepController<F>
impl<F> Sync for NeuralRLStepController<F>
impl<F> Unpin for NeuralRLStepController<F>where
F: Unpin,
impl<F> UnwindSafe for NeuralRLStepController<F>where
F: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more