Table of Contents

Namespace AiDotNet.SelfSupervisedLearning

Classes

BYOLConfig

BYOL-specific configuration settings.

BYOL<T>

BYOL: Bootstrap Your Own Latent - Self-supervised learning without negative samples.

BarlowTwinsConfig

Barlow Twins-specific configuration settings.

BarlowTwins<T>

Barlow Twins: Self-Supervised Learning via Redundancy Reduction.

CenteringMechanism<T>

Centering mechanism for preventing collapse in self-distillation methods.

DINOConfig

DINO-specific configuration settings.

DINO<T>

DINO: Self-Distillation with No Labels - a self-supervised method for Vision Transformers.

FineTuningConfig

Configuration for fine-tuning SSL pretrained encoders.

FineTuningResult<T>

Result from fine-tuning an SSL pretrained encoder.

LinearProjector<T>

Linear projection head for self-supervised learning.

MAEConfig

MAE-specific configuration settings.

MAE<T>

MAE: Masked Autoencoder for Self-Supervised Vision Learning.

MLPProjector<T>

Multi-layer perceptron (MLP) projection head for self-supervised learning.

MemoryBank<T>

FIFO memory queue for storing embeddings in contrastive learning.

MoCoConfig

MoCo-specific configuration settings.

MoCoV2<T>

MoCo v2: Improved Baselines with Momentum Contrastive Learning.

MoCoV3<T>

MoCo v3: An Empirical Study of Training Self-Supervised Vision Transformers.

MoCo<T>

MoCo: Momentum Contrast for Unsupervised Visual Representation Learning.

MomentumEncoder<T>

Momentum-updated encoder for self-supervised learning methods.

SSLAugmentationContext<T>

Context for SSL augmentation operations.

SSLAugmentationPolicies<T>

Provides standard augmentation policies for self-supervised learning methods.

SSLConfig

Unified configuration for self-supervised learning with industry-standard defaults.

SSLDistributedConfig

Configuration for distributed SSL training using DDP (Distributed Data Parallel).

SSLFineTuningPipeline<T>

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

SSLMethodBase<T>

Abstract base class for self-supervised learning methods.

SSLPretrainingPipeline<T>

High-level pipeline for SSL pretraining.

SSLResult<T>

Result from SSL pretraining containing the trained encoder and metrics.

SSLSession<T>

Manages a self-supervised learning training session.

SSLStepResult<T>

Result of a single SSL training step.

SSLTrainingHistory<T>

Training history from SSL pretraining.

SimCLR<T>

SimCLR: A Simple Framework for Contrastive Learning of Visual Representations.

SimSiam<T>

SimSiam: Exploring Simple Siamese Representation Learning.

StopGradient<T>

Provides stop-gradient operations for self-supervised learning.

SymmetricProjector<T>

Symmetric Projector Head for BYOL and SimSiam-style methods.

TeacherStudentSSL<T>

Base class for teacher-student self-supervised learning methods.

TemperatureScheduler

Schedules temperature parameters during self-supervised learning training.

iBOT<T>

iBOT: Image BERT Pre-Training with Online Tokenizer - combining DINO with masked image modeling.

Structs

DetachedTensor<T>

A wrapper that marks a tensor as detached from the computation graph.

Interfaces

IDetachedTensor<T>

Marker interface for tensors that should not receive gradients.

IMemoryBank<T>

Defines the contract for memory banks used in contrastive learning methods.

IMomentumEncoder<T>

Defines the contract for momentum-updated encoders used in SSL methods.

IProjectorHead<T>

Defines the contract for projection heads used in self-supervised learning.

ISSLMethod<T>

Defines the contract for self-supervised learning methods.

Enums

FineTuningStrategy

Fine-tuning strategies for SSL pretrained encoders.

SSLCommunicationBackend

Communication backends for distributed SSL training.

SSLOptimizerType

Optimizer types optimized for SSL training.

TemperatureScheduleType

Types of temperature scheduling strategies.