kaira.models.components.ConvDecoder

Inheritance diagram for ConvDecoder
- class kaira.models.components.ConvDecoder(in_features: int, out_channels: int, output_size: Tuple[int, int], hidden_dims: List[int] | None = None, kernel_size: int = 3, stride: int = 2, padding: int = 1, output_padding: int = 1, activation: Module | None = None, output_activation: Module | None = None, *args: Any, **kwargs: Any)[source]
Bases:
BaseModelConvolutional Neural Network (CNN) Decoder for image transmission systems.
This module implements a CNN-based decoder that maps received signals back to their corresponding images.
Methods
Initialize the ConvDecoder.
Forward pass of the ConvDecoder.
Create model instance from configuration.
Create model from Hydra DictConfig.
Create model from Hugging Face PretrainedConfig.
- __init__(in_features: int, out_channels: int, output_size: Tuple[int, int], hidden_dims: List[int] | None = None, kernel_size: int = 3, stride: int = 2, padding: int = 1, output_padding: int = 1, activation: Module | None = None, output_activation: Module | None = None, *args: Any, **kwargs: Any)[source]
Initialize the ConvDecoder.
- Parameters:
in_features (int) – Dimensionality of the input received signals.
out_channels (int) – Number of output channels in the reconstructed image.
output_size (Tuple[int, int]) – Height and width of the output image.
hidden_dims (List[int], optional) – List of feature dimensions for hidden layers. If None, default dimensions [64, 32, 16] will be used.
kernel_size (int, optional) – Kernel size for transposed convolutions. Default is 3.
stride (int, optional) – Stride for transposed convolutions. Default is 2.
padding (int, optional) – Padding for transposed convolutions. Default is 1.
output_padding (int, optional) – Output padding for transposed convolutions. Default is 1.
activation (nn.Module, optional) – Activation function to use between layers. If None, ReLU is used.
output_activation (nn.Module, optional) – Activation function to use at the output. If None, Sigmoid is used to output values in [0, 1] range.
*args – Variable positional arguments passed to the base class.
**kwargs – Variable keyword arguments passed to the base class.
- classmethod from_config(config, **kwargs)
Create model instance from configuration.
- Parameters:
config – Configuration object (PretrainedConfig, DictConfig, or dict)
**kwargs – Additional parameters to override config
- Returns:
Model instance
- classmethod from_hydra_config(config: DictConfig, **kwargs)
Create model from Hydra DictConfig.
- Parameters:
config – Hydra configuration
**kwargs – Additional parameters
- Returns:
Model instance
- classmethod from_pretrained_config(config: PretrainedConfig, **kwargs)
Create model from Hugging Face PretrainedConfig.
- Parameters:
config – PretrainedConfig instance
**kwargs – Additional parameters
- Returns:
Model instance
- forward(x: Tensor, *args: Any, **kwargs: Any) Tensor[source]
Forward pass of the ConvDecoder.
- Parameters:
x (torch.Tensor) – Input tensor of shape (batch_size, in_features).
*args – Additional positional arguments (unused).
**kwargs – Additional keyword arguments (unused).
- Returns:
Output image tensor of shape (batch_size, out_channels, height, width).
- Return type: