kaira.models.image.Tung2022DeepJSCCQ2Encoder

Inheritance diagram of Tung2022DeepJSCCQ2Encoder

Inheritance diagram for Tung2022DeepJSCCQ2Encoder

class kaira.models.image.Tung2022DeepJSCCQ2Encoder(N: int, M: int, in_ch: int = 3, csi_length: int = 1, *args: Any, **kwargs: Any)[source]

Bases: BaseModel

DeepJSCCQ2 Encoder Module [Tung et al., 2022].

This module is from the conference paper, not the journal version. Note that this module is different than DeepJSCCQ, which contains 4 strided layers and does not contain the AFModule.

This module encodes an image into a latent representation using a series of convolutional layers and AFModules.

Methods

__init__

Initialize the DeepJSCCQ2Encoder.

forward

Forward pass through the encoder.

Attributes

bandwidth_ratio

Calculate the bandwidth ratio of the model.

__init__(N: int, M: int, in_ch: int = 3, csi_length: int = 1, *args: Any, **kwargs: Any) None[source]

Initialize the DeepJSCCQ2Encoder.

Parameters:
  • N (int) – The number of input channels or feature maps in the neural network model.

  • M (int) – The number of output channels in the final layer of the neural network.

  • in_ch (int, optional) – The number of input channels. Defaults to 3.

  • csi_length (int, optional) – The number of dimensions in the CSI (Channel State Information) data.

  • *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[source]

Forward pass through the encoder.

Parameters:
  • x (torch.Tensor) – The input image tensor.

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

  • *args – Additional positional arguments.

  • **kwargs – Additional keyword arguments.

Returns:

The encoded latent representation.

Return type:

torch.Tensor