kaira.models.BaseModel

Inheritance diagram of BaseModel

Inheritance diagram for BaseModel

class kaira.models.BaseModel(config=None, *args: Any, **kwargs: Any)[source]

Bases: Module, ABC

Abstract base class for all models in the Kaira framework.

This class extends PyTorch’s nn.Module and adds framework-specific functionality. All models should inherit from this class to ensure compatibility with the framework’s training, evaluation, and inference pipelines.

The class provides a consistent interface for model implementation while allowing flexibility in architecture design. It enforces proper initialization and forward pass implementation.

Models can optionally use configuration classes (PretrainedConfig or Hydra) for better parameter management and reproducibility.

Methods

__init__

Initialize the model.

forward

Define the forward pass computation.

from_config

Create model instance from configuration.

from_hydra_config

Create model from Hydra DictConfig.

from_pretrained_config

Create model from Hugging Face PretrainedConfig.

Examples using kaira.models.BaseModel

Original DeepJSCC Model (Bourtsoulatze 2019) with Training

Original DeepJSCC Model (Bourtsoulatze 2019) with Training

Deep Joint Source-Channel Coding (DeepJSCC) Model - Bourtsoulatze2019 Implementation

Deep Joint Source-Channel Coding (DeepJSCC) Model - Bourtsoulatze2019 Implementation

Image Compressors Comparison

Image Compressors Comparison

Advanced LDPC Code Visualization with Belief Propagation Animation

Advanced LDPC Code Visualization with Belief Propagation Animation

LDPC Coding and Belief Propagation Decoding

LDPC Coding and Belief Propagation Decoding
__init__(config=None, *args: Any, **kwargs: Any)[source]

Initialize the model.

Parameters:
  • config – Optional configuration object (PretrainedConfig, DictConfig, or dict)

  • *args – Variable positional arguments.

  • **kwargs – Variable keyword arguments.

classmethod from_config(config, **kwargs)[source]

Create model instance from configuration.

Parameters:
  • config – Configuration object (PretrainedConfig, DictConfig, or dict)

  • **kwargs – Additional parameters to override config

Returns:

Model instance

classmethod from_pretrained_config(config: PretrainedConfig, **kwargs)[source]

Create model from Hugging Face PretrainedConfig.

Parameters:
  • config – PretrainedConfig instance

  • **kwargs – Additional parameters

Returns:

Model instance

classmethod from_hydra_config(config: DictConfig, **kwargs)[source]

Create model from Hydra DictConfig.

Parameters:
  • config – Hydra configuration

  • **kwargs – Additional parameters

Returns:

Model instance

abstractmethod forward(*args: Any, **kwargs: Any) Any[source]

Define the forward pass computation.

This method should be implemented by all subclasses to define how input data is processed through the model to produce output.

Parameters:
  • *args – Variable positional arguments for flexible input handling

  • **kwargs – Variable keyword arguments for optional parameters

Returns:

Model output, type depends on specific implementation

Return type:

Any

Raises:

NotImplementedError – If the subclass does not implement this method