kaira.models.image.Yilmaz2023DeepJSCCNOMADecoder

Inheritance diagram of Yilmaz2023DeepJSCCNOMADecoder

Inheritance diagram for Yilmaz2023DeepJSCCNOMADecoder

class kaira.models.image.Yilmaz2023DeepJSCCNOMADecoder(N=64, M=16, out_ch_per_device=3, csi_length=1, num_devices=1, shared_decoder=False, *args: Any, **kwargs: Any)[source]

Bases: Tung2022DeepJSCCQ2Decoder

DeepJSCC-NOMA Decoder Module [Yilmaz et al., 2023].

This decoder reconstructs images from received channel signals, supporting both individual device decoding and shared decoding for multiple devices. This class extends the Tung2022DeepJSCCQ2Decoder class with parameter adaptation as used in the paper Yilmaz et al. [2023].

Methods

__init__

Initialize the DeepJSCCNOMADecoder.

forward

Forward pass through the decoder.

from_config

Create model instance from configuration.

from_hydra_config

Create model from Hydra DictConfig.

from_pretrained_config

Create model from Hugging Face PretrainedConfig.

Attributes

bandwidth_ratio

Calculate the bandwidth ratio of the model.

__init__(N=64, M=16, out_ch_per_device=3, csi_length=1, num_devices=1, shared_decoder=False, *args: Any, **kwargs: Any)[source]

Initialize the DeepJSCCNOMADecoder.

Parameters:
  • N (int, optional) – Number of channels in the network. Defaults to 64 if not provided.

  • M (int, optional) – Latent dimension of the bottleneck representation. Defaults to 16 if not provided.

  • out_ch_per_device (int, optional) – Number of output channels per device. Defaults to 3.

  • csi_length (int, optional) – The number of dimensions in the CSI data. Defaults to 1.

  • num_devices (int, optional) – Number of devices. Used for shared decoder. Defaults to 1.

  • shared_decoder (bool, optional) – Whether this is a shared decoder. Defaults to False.

  • *args – Variable positional arguments passed to the base class.

  • **kwargs – Variable keyword arguments passed to the base class.

property bandwidth_ratio: float

Calculate the bandwidth ratio of the model.

Returns:

The bandwidth ratio.

Return type:

float

forward(x: Tensor, csi: Tensor, *args: Any, **kwargs: Any) Tensor

Forward pass through the decoder.

Parameters:
  • x (torch.Tensor) – The encoded latent representation tensor.

  • csi (torch.Tensor) – Channel State Information tensor.

  • *args – Additional positional arguments.

  • **kwargs – Additional keyword arguments.

Returns:

The decoded image.

Return type:

torch.Tensor

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