{
  "$schema": "https://ambiqai.github.io/helia-ui/schema/reference-model-1.json",
  "generatedFrom": {
    "sourceCommit": "f341fb11f7f5d77a4974ba8273c4cd55d67c21f0",
    "tool": "pyref",
    "version": "1.7.3"
  },
  "language": "python",
  "modules": [
    {
      "description": "",
      "name": "vector_quantizer",
      "path": "helia_edge.layers.vector_quantizer",
      "submodules": [],
      "summary": "",
      "symbols": [
        {
          "description": "Vector-quantization bottleneck (VQ-VAE style) with straight-through estimator.\n\nInput:  [..., D]  (last dim == embedding_dim)\nOutput: [..., D]  (quantized/dequantized vectors; gradients pass through x)\n\nTracks (logged automatically via `metrics` property):\n  - vq_perplexity       : effective # active codes (1..K)\n  - vq_usage            : fraction of codes used at least once (0..1)\n  - vq_bits_per_index   : entropy lower bound in bits/index (~ log2 perplexity)\n\nAdds losses via `add_loss`:\n  - beta * ||stop(quant) - x||^2  (commitment)\n  -        ||quant - stop(x)||^2  (codebook)",
          "examples": [],
          "id": "helia_edge.layers.vector_quantizer.VectorQuantizer",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.layers.vector_quantizer.VectorQuantizer.K",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "K",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "K = int(num_embeddings)",
              "source": {
                "line": 28,
                "path": "helia_edge/layers/vector_quantizer.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/layers/vector_quantizer.py#L28"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.layers.vector_quantizer.VectorQuantizer.D",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "D",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "D = int(embedding_dim)",
              "source": {
                "line": 29,
                "path": "helia_edge/layers/vector_quantizer.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/layers/vector_quantizer.py#L29"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.layers.vector_quantizer.VectorQuantizer.beta",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "beta",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "beta = float(beta)",
              "source": {
                "line": 30,
                "path": "helia_edge/layers/vector_quantizer.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/layers/vector_quantizer.py#L30"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.layers.vector_quantizer.VectorQuantizer.metrics",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "metrics",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "metrics",
              "source": {
                "line": 82,
                "path": "helia_edge/layers/vector_quantizer.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/layers/vector_quantizer.py#L82"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.layers.vector_quantizer.VectorQuantizer.build",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "build",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "build(input_shape)",
              "source": {
                "line": 35,
                "path": "helia_edge/layers/vector_quantizer.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/layers/vector_quantizer.py#L35"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.layers.vector_quantizer.VectorQuantizer.call",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "call",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "call(x, return_indices=False)",
              "source": {
                "line": 49,
                "path": "helia_edge/layers/vector_quantizer.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/layers/vector_quantizer.py#L49"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.layers.vector_quantizer.VectorQuantizer.get_config",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "get_config",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "get_config()",
              "source": {
                "line": 85,
                "path": "helia_edge/layers/vector_quantizer.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/layers/vector_quantizer.py#L85"
              },
              "summary": ""
            }
          ],
          "name": "VectorQuantizer",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "VectorQuantizer(num_embeddings, embedding_dim, beta=0.25, **kw={})",
          "source": {
            "line": 6,
            "path": "helia_edge/layers/vector_quantizer.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/layers/vector_quantizer.py#L6"
          },
          "summary": "Vector-quantization bottleneck (VQ-VAE style) with straight-through estimator."
        }
      ]
    }
  ],
  "name": "helia_edge"
}
