Skip to content
heliaEDGE
Reference
HELIA

vq_autoencoder

Machine-readable model

  • VQAutoencoderclassConvenience wrapper around (encoder -> VectorQuantizer -> decoder).
class

Convenience wrapper around (encoder -> VectorQuantizer -> decoder).

helia_edge/trainers/vq_autoencoder.py:8

VQAutoencoder(encoder: keras.Model, vq: VectorQuantizer, decoder: keras.Model, **kwargs={})

Convenience wrapper around (encoder -> VectorQuantizer -> decoder).

  • Supports extra reconstruction-side losses and metrics.
  • Can return discrete code indices from the VQ bottleneck.
  • Exposes VQ layer metrics alongside base model metrics.
Parameters of VQAutoencoder
NameTypeDefaultDescription
encoderkeras.ModelRequiredEncoder model producing continuous latents.
vqVectorQuantizerRequiredVectorQuantizer layer that discretizes latents.
decoderkeras.ModelRequiredDecoder model mapping bottleneck outputs to reconstructions.
method

call

Python

Run encoder -> VQ bottleneck -> decoder.

helia_edge/trainers/vq_autoencoder.py:35

call(
x: keras.KerasTensor,
training: bool = False,
return_indices: bool = False,
) -> keras.KerasTensor | tuple[keras.KerasTensor, keras.KerasTensor]

Run encoder -> VQ bottleneck -> decoder.

Parameters of call
NameTypeDefaultDescription
xkeras.KerasTensorRequiredInput batch.
trainingboolFalseWhether to run in training mode (affects encoder/decoder/VQ).
return_indicesboolFalseIf True, also return discrete code indices.
Returns of call
TypeDescription
keras.KerasTensor | tuple[keras.KerasTensor, keras.KerasTensor]Reconstruction, optionally with indices.
method

compile

Python

Compile with optional extra losses/metrics.

helia_edge/trainers/vq_autoencoder.py:57

compile(
optimizer: keras.optimizers.Optimizer,
loss: keras.losses.Loss | None = None,
metrics: list | None = None,
extra_losses: list | None = None,
extra_metrics: list | None = None,
**kwargs={},
)

Compile with optional extra losses/metrics.

Parameters of compile
NameTypeDefaultDescription
optimizerkeras.optimizers.OptimizerRequiredKeras optimizer
losskeras.losses.Loss | NoneNonebase reconstruction loss (e.g., keras.losses.MeanSquaredError())
metricslist | NoneNonestandard Keras metrics (Metric instances or callables)
extra_losseslist | NoneNonelist[Callable(y_true, y_pred) -> scalar]
extra_metricslist | NoneNonelist of Metric OR Callable(y_true, y_pred) -> scalar
method

Compute total loss = recon + extra losses + layer-added losses.

helia_edge/trainers/vq_autoencoder.py:92

compute_loss(x=None, y=None, y_pred=None, sample_weight=None, allow_empty=False)

Compute total loss = recon + extra losses + layer-added losses.