Skip to main content

CurriculumStrategy

Trait CurriculumStrategy 

Source
pub trait CurriculumStrategy {
    // Required methods
    fn select_samples(
        &self,
        epoch: usize,
        total_epochs: usize,
        difficulties: &ArrayView1<'_, f64>,
    ) -> TrainResult<Vec<usize>>;
    fn compute_difficulty(
        &self,
        data: &Array2<f64>,
        labels: &Array2<f64>,
        predictions: Option<&Array2<f64>>,
    ) -> TrainResult<Array1<f64>>;
}
Expand description

Trait for curriculum learning strategies.

Required Methods§

Source

fn select_samples( &self, epoch: usize, total_epochs: usize, difficulties: &ArrayView1<'_, f64>, ) -> TrainResult<Vec<usize>>

Get the subset of samples to use for the current training step.

§Arguments
  • epoch - Current training epoch
  • total_epochs - Total number of training epochs
  • difficulties - Difficulty scores for each sample [N]
§Returns

Indices of samples to include in training at this stage

Source

fn compute_difficulty( &self, data: &Array2<f64>, labels: &Array2<f64>, predictions: Option<&Array2<f64>>, ) -> TrainResult<Array1<f64>>

Compute difficulty scores for training samples.

§Arguments
  • data - Training data [N, features]
  • labels - Training labels [N, classes]
  • predictions - Model predictions [N, classes] (optional, for adaptive strategies)
§Returns

Difficulty score for each sample [N] (higher = more difficult)

Implementations on Foreign Types§

Source§

impl CurriculumStrategy for Box<dyn CurriculumStrategyClone>

Source§

fn select_samples( &self, epoch: usize, total_epochs: usize, difficulties: &ArrayView1<'_, f64>, ) -> TrainResult<Vec<usize>>

Source§

fn compute_difficulty( &self, data: &Array2<f64>, labels: &Array2<f64>, predictions: Option<&Array2<f64>>, ) -> TrainResult<Array1<f64>>

Implementors§