Table of Contents

Class CurriculumLearnerConfigBuilder<T>

Namespace
AiDotNet.CurriculumLearning
Assembly
AiDotNet.dll

Fluent builder for curriculum learning configuration.

public class CurriculumLearnerConfigBuilder<T> : ICurriculumLearnerConfigBuilder<T>

Type Parameters

T

The 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

ICurriculumLearnerConfig<T>

Reset()

Resets the builder to default values.

public ICurriculumLearnerConfigBuilder<T> Reset()

Returns

ICurriculumLearnerConfigBuilder<T>

WithBatchSize(int)

Sets the batch size.

public ICurriculumLearnerConfigBuilder<T> WithBatchSize(int batchSize)

Parameters

batchSize int

Returns

ICurriculumLearnerConfigBuilder<T>

WithDifficultyRecalculation(bool, int)

Enables or disables difficulty recalculation during training.

public ICurriculumLearnerConfigBuilder<T> WithDifficultyRecalculation(bool enabled, int frequency = 10)

Parameters

enabled bool

Whether to enable difficulty recalculation.

frequency int

How often to recalculate (in epochs).

Returns

ICurriculumLearnerConfigBuilder<T>

WithDifficultyRecalculation(int)

Enables difficulty recalculation during training.

public ICurriculumLearnerConfigBuilder<T> WithDifficultyRecalculation(int frequency)

Parameters

frequency int

Returns

ICurriculumLearnerConfigBuilder<T>

WithDifficultyWeighting(bool)

public ICurriculumLearnerConfigBuilder<T> WithDifficultyWeighting(bool useWeighting)

Parameters

useWeighting bool

Returns

ICurriculumLearnerConfigBuilder<T>

WithEarlyStopping(int, T?)

Configures early stopping.

public ICurriculumLearnerConfigBuilder<T> WithEarlyStopping(int patience, T? minDelta = default)

Parameters

patience int
minDelta T

Returns

ICurriculumLearnerConfigBuilder<T>

WithFinalDataFraction(T)

public ICurriculumLearnerConfigBuilder<T> WithFinalDataFraction(T fraction)

Parameters

fraction T

Returns

ICurriculumLearnerConfigBuilder<T>

WithInitialDataFraction(T)

Sets the initial data fraction.

public ICurriculumLearnerConfigBuilder<T> WithInitialDataFraction(T fraction)

Parameters

fraction T

Returns

ICurriculumLearnerConfigBuilder<T>

WithLearningRate(T)

Sets the learning rate.

public ICurriculumLearnerConfigBuilder<T> WithLearningRate(T learningRate)

Parameters

learningRate T

Returns

ICurriculumLearnerConfigBuilder<T>

WithLogAction(Action<string>)

Sets a custom logging action.

public ICurriculumLearnerConfigBuilder<T> WithLogAction(Action<string> logAction)

Parameters

logAction Action<string>

Action to invoke for logging messages.

Returns

ICurriculumLearnerConfigBuilder<T>

WithNormalizeDifficulties(bool)

public ICurriculumLearnerConfigBuilder<T> WithNormalizeDifficulties(bool normalize)

Parameters

normalize bool

Returns

ICurriculumLearnerConfigBuilder<T>

WithNumPhases(int)

Sets the number of curriculum phases.

public ICurriculumLearnerConfigBuilder<T> WithNumPhases(int phases)

Parameters

phases int

Returns

ICurriculumLearnerConfigBuilder<T>

WithRandomSeed(int)

Sets the random seed.

public ICurriculumLearnerConfigBuilder<T> WithRandomSeed(int seed)

Parameters

seed int

Returns

ICurriculumLearnerConfigBuilder<T>

WithScheduleType(CurriculumScheduleType)

Sets the curriculum schedule type.

public ICurriculumLearnerConfigBuilder<T> WithScheduleType(CurriculumScheduleType scheduleType)

Parameters

scheduleType CurriculumScheduleType

Returns

ICurriculumLearnerConfigBuilder<T>

WithShuffling(bool)

public ICurriculumLearnerConfigBuilder<T> WithShuffling(bool shuffle)

Parameters

shuffle bool

Returns

ICurriculumLearnerConfigBuilder<T>

WithTotalEpochs(int)

Sets the total number of training epochs.

public ICurriculumLearnerConfigBuilder<T> WithTotalEpochs(int epochs)

Parameters

epochs int

Returns

ICurriculumLearnerConfigBuilder<T>

WithVerbosity(CurriculumVerbosity)

Sets the verbosity level.

public ICurriculumLearnerConfigBuilder<T> WithVerbosity(CurriculumVerbosity verbosity)

Parameters

verbosity CurriculumVerbosity

Returns

ICurriculumLearnerConfigBuilder<T>

WithoutEarlyStopping()

public ICurriculumLearnerConfigBuilder<T> WithoutEarlyStopping()

Returns

ICurriculumLearnerConfigBuilder<T>