{
  "$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": "Run exported LiteRT model bytes with ai-edge-litert.",
      "name": "runner",
      "path": "helia_edge.export.runner",
      "submodules": [],
      "summary": "Run exported LiteRT model bytes with ai-edge-litert.",
      "symbols": [
        {
          "description": "Run a single-input, single-output ``.tflite`` model one sample at a time.\n\nThe input tensor is resized to each sample's shape along the model's dynamic dimensions only;\nfixed dimensions must match. Native float16 graphs run when the runtime has float16 kernels for\nevery operator; otherwise the runtime's error is raised unchanged.",
          "examples": [],
          "id": "helia_edge.export.runner.LiteRTRunner",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTRunner.interpreter",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "interpreter",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "interpreter = litert.Interpreter(model_content=content, num_threads=num_threads, experimental_op_resolver_type=resolver)",
              "source": {
                "line": 39,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L39"
              },
              "summary": ""
            },
            {
              "description": "Invoke on samples along axis 0 already in the model's input dtype; return raw outputs.",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTRunner.run",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "run",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "run(x: npt.NDArray) -> npt.NDArray",
              "source": {
                "line": 48,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L48"
              },
              "summary": "Invoke on samples along axis 0 already in the model's input dtype; return raw outputs."
            },
            {
              "description": "Convert real-valued samples to the input dtype, rounding and saturating integer inputs.",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTRunner.encode",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "encode",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "encode(x: npt.NDArray) -> npt.NDArray",
              "source": {
                "line": 62,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L62"
              },
              "summary": "Convert real-valued samples to the input dtype, rounding and saturating integer inputs."
            },
            {
              "description": "Convert raw outputs to float32 values.",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTRunner.decode",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "decode",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "decode(y: npt.NDArray) -> npt.NDArray",
              "source": {
                "line": 71,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L71"
              },
              "summary": "Convert raw outputs to float32 values."
            },
            {
              "description": "Encode real-valued samples, run them and decode the outputs.",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTRunner.predict",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "predict",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "predict(x: npt.NDArray) -> npt.NDArray",
              "source": {
                "line": 78,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L78"
              },
              "summary": "Encode real-valued samples, run them and decode the outputs."
            }
          ],
          "name": "LiteRTRunner",
          "params": [
            {
              "description": "Model flatbuffer bytes.",
              "name": "content",
              "type": "bytes"
            },
            {
              "default": "False",
              "description": "Use LiteRT's reference kernels instead of its optimized kernels.",
              "name": "reference_kernels",
              "type": "bool"
            },
            {
              "default": "1",
              "description": "Interpreter threads.",
              "name": "num_threads",
              "type": "int"
            }
          ],
          "raises": [],
          "returns": [],
          "signature": "LiteRTRunner(content: bytes, *, reference_kernels: bool = False, num_threads: int = 1) -> None",
          "source": {
            "line": 23,
            "path": "helia_edge/export/runner.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L23"
          },
          "summary": "Run a single-input, single-output .tflite model one sample at a time."
        },
        {
          "description": "Run a streaming ``.tflite`` model one step at a time, carrying its state as raw tensors.\n\nInputs and outputs are addressed by signature name. State inputs ``state_in_k`` start at zero, and at\neach later step take the raw ``state_out_k`` of the previous step unchanged, so an integer state keeps\nits value only if the pair has one scale and zero point (``export_model`` ties them).",
          "examples": [],
          "id": "helia_edge.export.runner.LiteRTStreamRunner",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTStreamRunner.interpreter",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "interpreter",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "interpreter = litert.Interpreter(model_content=content, num_threads=num_threads, experimental_op_resolver_type=resolver)",
              "source": {
                "line": 119,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L119"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTStreamRunner.inputs",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "inputs",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "inputs: dict[str, dict] = dict(runner.get_input_details())",
              "source": {
                "line": 127,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L127"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTStreamRunner.outputs",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "outputs",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "outputs: dict[str, dict] = dict(runner.get_output_details())",
              "source": {
                "line": 128,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L128"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTStreamRunner.pairs",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "pairs",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "pairs: tuple[int, ...] = tuple(ins)",
              "source": {
                "line": 133,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L133"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTStreamRunner.signals",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "signals",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "signals: tuple[str, ...] = tuple()",
              "source": {
                "line": 134,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L134"
              },
              "summary": ""
            },
            {
              "description": "Each state input at zero: the zero point for an integer state.",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTStreamRunner.initial_state",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "initial_state",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "initial_state() -> dict[str, npt.NDArray]",
              "source": {
                "line": 136,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L136"
              },
              "summary": "Each state input at zero: the zero point for an integer state."
            },
            {
              "description": "Invoke once on raw tensors for every input name; return every output by name.",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTStreamRunner.step",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "step",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "step(inputs: Mapping[str, npt.NDArray]) -> dict[str, npt.NDArray]",
              "source": {
                "line": 143,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L143"
              },
              "summary": "Invoke once on raw tensors for every input name; return every output by name."
            },
            {
              "description": "Stream raw signal inputs, carrying the state.",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTStreamRunner.run",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "run",
              "params": [
                {
                  "description": "Every input that is not a state, by name, as raw tensors stacked along a leading step\naxis (``[steps, *input shape]``).",
                  "name": "signals",
                  "type": "Mapping[str, npt.NDArray]"
                },
                {
                  "default": "()",
                  "description": "Steps at which the state inputs return to ``initial_state``.",
                  "name": "resets",
                  "type": "Collection[int]"
                }
              ],
              "raises": [],
              "returns": [
                {
                  "description": "Every input as fed and every output as produced, by name, stacked along the step axis.",
                  "name": "tuple",
                  "type": "tuple[dict[str, npt.NDArray], dict[str, npt.NDArray]]"
                }
              ],
              "signature": "run(\n    signals: Mapping[str, npt.NDArray],\n    resets: Collection[int] = (),\n) -> tuple[dict[str, npt.NDArray], dict[str, npt.NDArray]]",
              "source": {
                "line": 158,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L158"
              },
              "summary": "Stream raw signal inputs, carrying the state."
            },
            {
              "description": "Convert real values to input ``name``'s dtype, rounding and saturating integer inputs.",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTStreamRunner.encode",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "encode",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "encode(name: str, x: npt.NDArray) -> npt.NDArray",
              "source": {
                "line": 193,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L193"
              },
              "summary": "Convert real values to input name's dtype, rounding and saturating integer inputs."
            },
            {
              "description": "Convert raw values of output ``name`` to float32.",
              "examples": [],
              "id": "helia_edge.export.runner.LiteRTStreamRunner.decode",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "decode",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "decode(name: str, y: npt.NDArray) -> npt.NDArray",
              "source": {
                "line": 197,
                "path": "helia_edge/export/runner.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L197"
              },
              "summary": "Convert raw values of output name to float32."
            }
          ],
          "name": "LiteRTStreamRunner",
          "params": [
            {
              "description": "Model flatbuffer bytes with one signature.",
              "name": "content",
              "type": "bytes"
            },
            {
              "default": "False",
              "description": "Use LiteRT's reference kernels instead of its optimized kernels.",
              "name": "reference_kernels",
              "type": "bool"
            },
            {
              "default": "1",
              "description": "Interpreter threads.",
              "name": "num_threads",
              "type": "int"
            }
          ],
          "raises": [
            {
              "description": "If the model does not have exactly one signature, or its state inputs and outputs\ndo not pair up.",
              "type": "ValueError"
            }
          ],
          "returns": [],
          "signature": "LiteRTStreamRunner(content: bytes, *, reference_kernels: bool = False, num_threads: int = 1) -> None",
          "source": {
            "line": 99,
            "path": "helia_edge/export/runner.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/export/runner.py#L99"
          },
          "summary": "Run a streaming .tflite model one step at a time, carrying its state as raw tensors."
        }
      ]
    }
  ],
  "name": "helia_edge"
}
