{
  "$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": "The model spec: one serializable identity per architecture, and the single builder; importable without Keras.\n\nA ``ModelSpec`` is the typed Params of one family (selected by its ``family`` field) and the input shape\nwithout the batch axis. ``build(spec)`` builds it. Families are a closed set: each has a Keras-free\n``<family>_params.py`` and a ``build(params, input_shape, *, batch_size=None, name=None)`` in its model module.",
      "name": "spec",
      "path": "helia_edge.models.spec",
      "submodules": [],
      "summary": "The model spec: one serializable identity per architecture, and the single builder; importable without Keras.",
      "symbols": [
        {
          "description": "The Params of any family, discriminated by ``family``.",
          "examples": [],
          "id": "helia_edge.models.spec.ModelParams",
          "kind": "attribute",
          "language": "python",
          "members": [],
          "name": "ModelParams",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "ModelParams = Annotated[ComposerParams | ConformerParams | ConvMixerParams | CorNetParams | EfficientNetParams | FastEnhancerParams | MetaFormerParams | MiniResNetV1Params | MlperfTinyParams | MobileNetV1Params | MobileOneParams | RegNetParams | ResNetParams | SileroVadParams | TcnParams | TimePPGParams | TsMixerParams | UNetParams | UNextParams, Field(discriminator='family')]",
          "source": {
            "line": 35,
            "path": "helia_edge/models/spec.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/spec.py#L35"
          },
          "summary": "The Params of any family, discriminated by family."
        },
        {
          "description": "Families whose input shape follows from their Params (``params.input_shape``); their ``input_shape`` may be None.",
          "examples": [],
          "id": "helia_edge.models.spec.FIXED_INPUT",
          "kind": "constant",
          "language": "python",
          "members": [],
          "name": "FIXED_INPUT",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "FIXED_INPUT = (FastEnhancerParams, MlperfTinyParams, SileroVadParams)",
          "source": {
            "line": 59,
            "path": "helia_edge/models/spec.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/spec.py#L59"
          },
          "summary": "Families whose input shape follows from their Params (params.inputshape); their inputshape may be None."
        },
        {
          "description": "The serializable identity of an architecture.",
          "examples": [],
          "id": "helia_edge.models.spec.ModelSpec",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "",
              "examples": [],
              "id": "helia_edge.models.spec.ModelSpec.model_config",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "model_config",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "model_config = ConfigDict(frozen=True, extra='forbid')",
              "source": {
                "line": 72,
                "path": "helia_edge/models/spec.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/spec.py#L72"
              },
              "summary": ""
            },
            {
              "description": "The family's typed Params; ``params.family`` selects the family.",
              "examples": [],
              "id": "helia_edge.models.spec.ModelSpec.params",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "params",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "params: ModelParams",
              "source": {
                "line": 74,
                "path": "helia_edge/models/spec.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/spec.py#L74"
              },
              "summary": ""
            },
            {
              "description": "Input shape without the batch axis; None for a variable\naxis. None for the families in ``FIXED_INPUT``, whose shape follows from their Params.",
              "examples": [],
              "id": "helia_edge.models.spec.ModelSpec.input_shape",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "input_shape",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "input_shape: tuple[int | None, ...] | None = None",
              "source": {
                "line": 75,
                "path": "helia_edge/models/spec.py",
                "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/spec.py#L75"
              },
              "summary": ""
            }
          ],
          "name": "ModelSpec",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "ModelSpec()",
          "source": {
            "line": 63,
            "path": "helia_edge/models/spec.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/spec.py#L63"
          },
          "summary": "The serializable identity of an architecture."
        },
        {
          "description": "Build the model a spec describes.",
          "examples": [],
          "id": "helia_edge.models.spec.build",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "build",
          "params": [
            {
              "description": "Family Params and input shape.",
              "name": "spec",
              "type": "ModelSpec"
            },
            {
              "default": "None",
              "description": "Static batch size; None for a dynamic batch.",
              "name": "batch_size",
              "type": "int | None"
            },
            {
              "default": "None",
              "description": "Model name; the family when None. Give distinct names to combine two models\nof one family in a Keras graph.",
              "name": "name",
              "type": "str | None"
            }
          ],
          "raises": [],
          "returns": [
            {
              "description": "keras.Model: The model.",
              "type": "keras.Model"
            }
          ],
          "signature": "build(spec: ModelSpec, *, batch_size: int | None = None, name: str | None = None) -> keras.Model",
          "source": {
            "line": 89,
            "path": "helia_edge/models/spec.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/spec.py#L89"
          },
          "summary": "Build the model a spec describes."
        }
      ]
    }
  ],
  "name": "helia_edge"
}
