Class CurriculumLearnerConfigBuilder<T>
- Namespace
- AiDotNet.CurriculumLearning
- Assembly
- AiDotNet.dll
Fluent builder for curriculum learning configuration.
public class CurriculumLearnerConfigBuilder<T> : ICurriculumLearnerConfigBuilder<T>
Type Parameters
TThe numeric type used for calculations.
- Inheritance
-
CurriculumLearnerConfigBuilder<T>
- Implements
- Inherited Members
Remarks
For Beginners: This builder lets you configure curriculum learning using a fluent, readable style. Each method returns the builder so you can chain multiple settings together.
Example Usage:
var config = CurriculumLearnerConfig<double>.CreateBuilder()
.WithTotalEpochs(100)
.WithNumPhases(5)
.WithSchedule(CurriculumScheduleType.Linear)
.WithEarlyStopping(patience: 10)
.Build();
Constructors
CurriculumLearnerConfigBuilder()
Initializes a new instance with default values.
public CurriculumLearnerConfigBuilder()
Methods
Build()
Builds the configuration.
public ICurriculumLearnerConfig<T> Build()
Returns
Reset()
Resets the builder to default values.
public ICurriculumLearnerConfigBuilder<T> Reset()
Returns
WithBatchSize(int)
Sets the batch size.
public ICurriculumLearnerConfigBuilder<T> WithBatchSize(int batchSize)
Parameters
batchSizeint
Returns
WithDifficultyRecalculation(bool, int)
Enables or disables difficulty recalculation during training.
public ICurriculumLearnerConfigBuilder<T> WithDifficultyRecalculation(bool enabled, int frequency = 10)
Parameters
enabledboolWhether to enable difficulty recalculation.
frequencyintHow often to recalculate (in epochs).
Returns
WithDifficultyRecalculation(int)
Enables difficulty recalculation during training.
public ICurriculumLearnerConfigBuilder<T> WithDifficultyRecalculation(int frequency)
Parameters
frequencyint
Returns
WithDifficultyWeighting(bool)
public ICurriculumLearnerConfigBuilder<T> WithDifficultyWeighting(bool useWeighting)
Parameters
useWeightingbool
Returns
WithEarlyStopping(int, T?)
Configures early stopping.
public ICurriculumLearnerConfigBuilder<T> WithEarlyStopping(int patience, T? minDelta = default)
Parameters
patienceintminDeltaT
Returns
WithFinalDataFraction(T)
public ICurriculumLearnerConfigBuilder<T> WithFinalDataFraction(T fraction)
Parameters
fractionT
Returns
WithInitialDataFraction(T)
Sets the initial data fraction.
public ICurriculumLearnerConfigBuilder<T> WithInitialDataFraction(T fraction)
Parameters
fractionT
Returns
WithLearningRate(T)
Sets the learning rate.
public ICurriculumLearnerConfigBuilder<T> WithLearningRate(T learningRate)
Parameters
learningRateT
Returns
WithLogAction(Action<string>)
Sets a custom logging action.
public ICurriculumLearnerConfigBuilder<T> WithLogAction(Action<string> logAction)
Parameters
Returns
WithNormalizeDifficulties(bool)
public ICurriculumLearnerConfigBuilder<T> WithNormalizeDifficulties(bool normalize)
Parameters
normalizebool
Returns
WithNumPhases(int)
Sets the number of curriculum phases.
public ICurriculumLearnerConfigBuilder<T> WithNumPhases(int phases)
Parameters
phasesint
Returns
WithRandomSeed(int)
Sets the random seed.
public ICurriculumLearnerConfigBuilder<T> WithRandomSeed(int seed)
Parameters
seedint
Returns
WithScheduleType(CurriculumScheduleType)
Sets the curriculum schedule type.
public ICurriculumLearnerConfigBuilder<T> WithScheduleType(CurriculumScheduleType scheduleType)
Parameters
scheduleTypeCurriculumScheduleType
Returns
WithShuffling(bool)
public ICurriculumLearnerConfigBuilder<T> WithShuffling(bool shuffle)
Parameters
shufflebool
Returns
WithTotalEpochs(int)
Sets the total number of training epochs.
public ICurriculumLearnerConfigBuilder<T> WithTotalEpochs(int epochs)
Parameters
epochsint
Returns
WithVerbosity(CurriculumVerbosity)
Sets the verbosity level.
public ICurriculumLearnerConfigBuilder<T> WithVerbosity(CurriculumVerbosity verbosity)
Parameters
verbosityCurriculumVerbosity
Returns
WithoutEarlyStopping()
public ICurriculumLearnerConfigBuilder<T> WithoutEarlyStopping()