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.