Table of Contents

Class SSLFineTuningPipeline<T>

Namespace
AiDotNet.SelfSupervisedLearning
Assembly
AiDotNet.dll

Pipeline for fine-tuning SSL pretrained encoders on downstream tasks.

public class SSLFineTuningPipeline<T>

Type Parameters

T

The numeric type used for computations.

Inheritance
SSLFineTuningPipeline<T>
Inherited Members

Remarks

For Beginners: After SSL pretraining, you typically want to fine-tune the encoder on a specific task with labeled data. This pipeline handles the fine-tuning process with proper learning rate schedules and evaluation.

Fine-tuning strategies:

  • Full fine-tuning: Update all parameters
  • Linear probing: Freeze encoder, train only classifier
  • Gradual unfreezing: Unfreeze layers progressively

Constructors

SSLFineTuningPipeline(INeuralNetwork<T>, int, int)

Initializes a new fine-tuning pipeline.

public SSLFineTuningPipeline(INeuralNetwork<T> encoder, int encoderOutputDim, int numClasses)

Parameters

encoder INeuralNetwork<T>

Pretrained encoder to fine-tune.

encoderOutputDim int

Output dimension of the encoder.

numClasses int

Number of classes for classification.

Methods

Evaluate(Tensor<T>, int[])

Evaluates the model on test data.

public double Evaluate(Tensor<T> testData, int[] testLabels)

Parameters

testData Tensor<T>
testLabels int[]

Returns

double

FineTune(Tensor<T>, int[], Tensor<T>?, int[]?)

Fine-tunes the model on labeled data.

public FineTuningResult<T> FineTune(Tensor<T> trainData, int[] trainLabels, Tensor<T>? validData = null, int[]? validLabels = null)

Parameters

trainData Tensor<T>

Training data.

trainLabels int[]

Training labels.

validData Tensor<T>

Optional validation data.

validLabels int[]

Optional validation labels.

Returns

FineTuningResult<T>

Fine-tuning result with accuracy.

WithConfig(Action<FineTuningConfig>)

Configures fine-tuning parameters.

public SSLFineTuningPipeline<T> WithConfig(Action<FineTuningConfig> configure)

Parameters

configure Action<FineTuningConfig>

Returns

SSLFineTuningPipeline<T>

WithStrategy(FineTuningStrategy)

Sets the fine-tuning strategy.

public SSLFineTuningPipeline<T> WithStrategy(FineTuningStrategy strategy)

Parameters

strategy FineTuningStrategy

Returns

SSLFineTuningPipeline<T>

Events

OnProgress

Event raised for progress updates.

public event Action<int, int, double>? OnProgress

Event Type

Action<int, int, double>