kaira.models.image.Xie2023DTDeepJSCCEncoder

Inheritance diagram of Xie2023DTDeepJSCCEncoder

Inheritance diagram for Xie2023DTDeepJSCCEncoder

class kaira.models.image.Xie2023DTDeepJSCCEncoder(in_channels, latent_channels, architecture='cifar10', num_embeddings=None, input_size=None, *args, **kwargs)[source]

Bases: BaseModel

Discrete Task-Oriented Deep JSCC encoder.

This implements the encoder part of the DT-DeepJSCC architecture as described in [Xie et al., 2023]. It maps input images to discrete latent representations that are robust to channel impairments.

Parameters:
  • architecture (str, optional) – Type of architecture to use. Defaults to ‘cifar10’. Options: ‘cifar10’ or ‘custom’.

  • in_channels (int) – Number of input image channels (3 for RGB, 1 for grayscale)

  • latent_channels (int) – Number of channels in the latent representation

  • num_embeddings (int, optional) – Size of the discrete codebook. Defaults to None (automatically determined by architecture).

  • input_size (tuple, optional) – Input image size as (height, width). Defaults to None (automatically determined by architecture).

Returns:

Encoded discrete representation of the input.

References

[Xie et al., 2023]

Methods

__init__

forward

Forward pass for the DT-DeepJSCC encoder.

__init__(in_channels, latent_channels, architecture='cifar10', num_embeddings=None, input_size=None, *args, **kwargs)[source]
forward(x)[source]

Forward pass for the DT-DeepJSCC encoder.

Parameters:

x (torch.Tensor) – Input image tensor [batch_size, channels, height, width]

Returns:

Bits representation [batch_size, h*w, bits_per_symbol]

Return type:

torch.Tensor