kaira.metrics.BaseMetric

Inheritance diagram of BaseMetric

Inheritance diagram for BaseMetric

class kaira.metrics.BaseMetric(name: str | None = None, *args: Any, **kwargs: Any)[source]

Bases: Module, ABC

Base Metric Module.

This is an abstract base class for defining metrics to evaluate the performance of a communication system. Subclasses should implement the forward method to calculate the metric.

Methods

__init__

Initialize the metric.

compute_with_stats

Compute metric with mean and standard deviation.

forward

Forward pass through the metric.

Examples using kaira.metrics.BaseMetric

Simulating AWGN Channels with Kaira

Simulating AWGN Channels with Kaira

Fading Channels in Wireless Communications

Fading Channels in Wireless Communications

Nonlinear Channel Distortion Effects

Nonlinear Channel Distortion Effects

Poisson Channel for Signal-Dependent Noise

Poisson Channel for Signal-Dependent Noise

Rician Fading vs Rayleigh Fading Channels

Rician Fading vs Rayleigh Fading Channels

Modulation Schemes Comparison

Modulation Schemes Comparison

Higher-Order PSK Modulation

Higher-Order PSK Modulation

Higher-Order QAM Modulation

Higher-Order QAM Modulation

Offset QPSK Modulation

Offset QPSK Modulation

Pulse Amplitude Modulation (PAM)

Pulse Amplitude Modulation (PAM)

π/4-QPSK Modulation

π/4-QPSK Modulation

Phase-Shift Keying (PSK) Modulation

Phase-Shift Keying (PSK) Modulation

Quadrature Amplitude Modulation (QAM)

Quadrature Amplitude Modulation (QAM)

Composite Metrics

Composite Metrics

Creating Custom Metrics

Creating Custom Metrics

Image Quality Metrics

Image Quality Metrics

Metrics Registry

Metrics Registry

Signal and Error Rate Metrics

Signal and Error Rate Metrics

Original DeepJSCC Model (Bourtsoulatze 2019)

Original DeepJSCC Model (Bourtsoulatze 2019)

Projections and Cover Tests for Communication Systems

Projections and Cover Tests for Communication Systems
__init__(name: str | None = None, *args: Any, **kwargs: Any)[source]

Initialize the metric.

Parameters:
  • name (Optional[str]) – Name of the metric

  • *args – Variable length argument list.

  • **kwargs – Arbitrary keyword arguments.

abstract forward(x: Tensor, y: Tensor, *args: Any, **kwargs: Any) Tensor[source]

Forward pass through the metric.

Parameters:
  • x (torch.Tensor) – The first input tensor (typically predictions)

  • y (torch.Tensor) – The second input tensor (typically targets)

  • *args – Variable length argument list.

  • **kwargs – Arbitrary keyword arguments.

Returns:

The calculated metric value

Return type:

torch.Tensor

compute_with_stats(x: Tensor, y: Tensor, *args: Any, **kwargs: Any) Tuple[Tensor, Tensor][source]

Compute metric with mean and standard deviation.

Parameters:
  • x (torch.Tensor) – The first input tensor (typically predictions)

  • y (torch.Tensor) – The second input tensor (typically targets)

  • *args – Variable length argument list.

  • **kwargs – Arbitrary keyword arguments.

Returns:

Mean and standard deviation of the metric

Return type:

Tuple[torch.Tensor, torch.Tensor]

get_expected_args()

Return expected argument names for the metric.