{
  "$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": "# Conformer Model\n\nConformer model implementation in Keras.\n\nParameters are in ``helia_edge.models.conformer_params``.\n\n**Functions**\n\n| Name | Description |\n| --- | --- |\n| `build` | Conformer model from ``ConformerParams`` |\n| `subsampler` | Subsampler block |\n| `fc_block` | Fully connected block |\n| `conv_block` | Convolutional block |\n| `att_block` | Attention block |\n| `conformer_block` | Conformer block |\n| `conformer_layer` | Conformer functional layer |",
      "name": "conformer",
      "path": "helia_edge.models.conformer",
      "submodules": [],
      "summary": "Conformer Model",
      "symbols": [
        {
          "description": "Subsampler block",
          "examples": [],
          "id": "helia_edge.models.conformer.subsampler",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "subsampler",
          "params": [
            {
              "description": "Subsample block parameters",
              "name": "blocks",
              "type": "SubsampleBlockParams"
            },
            {
              "default": "'glorot_uniform'",
              "description": "Kernel initializer. Defaults to \"glorot_uniform\".",
              "name": "kernel_initializer",
              "type": "str"
            },
            {
              "default": "'zeros'",
              "description": "Bias initializer. Defaults to \"zeros\".",
              "name": "bias_initializer",
              "type": "str"
            },
            {
              "default": "None",
              "description": "Kernel regularizer. Defaults to None.",
              "name": "kernel_regularizer",
              "type": "[type]"
            },
            {
              "default": "None",
              "description": "Bias regularizer. Defaults to None.",
              "name": "bias_regularizer",
              "type": "[type]"
            },
            {
              "default": "None",
              "description": "Name. Defaults to None.",
              "name": "name",
              "type": "str"
            }
          ],
          "raises": [],
          "returns": [
            {
              "description": "keras.Layer: Subsampler layer",
              "type": "keras.Layer"
            }
          ],
          "signature": "subsampler(\n    blocks: SubsampleBlockParams,\n    kernel_initializer: str = 'glorot_uniform',\n    bias_initializer: str = 'zeros',\n    kernel_regularizer=None,\n    bias_regularizer=None,\n    name: str | None = None,\n) -> keras.Layer",
          "source": {
            "line": 26,
            "path": "helia_edge/models/conformer.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/conformer.py#L26"
          },
          "summary": "Subsampler block"
        },
        {
          "description": "Fully connected block",
          "examples": [],
          "id": "helia_edge.models.conformer.fc_block",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "fc_block",
          "params": [
            {
              "description": "Depth",
              "name": "depth",
              "type": "int"
            },
            {
              "default": "4",
              "description": "Expansion factor. Defaults to 4.",
              "name": "ex_factor",
              "type": "int"
            },
            {
              "default": "0.5",
              "description": "Residual factor. Defaults to 0.5.",
              "name": "residual_factor",
              "type": "float"
            },
            {
              "default": "0",
              "description": "Dropout rate. Defaults to 0.",
              "name": "dropout",
              "type": "float"
            },
            {
              "default": "True",
              "description": "Use bias. Defaults to True.",
              "name": "use_bias",
              "type": "bool"
            },
            {
              "default": "'glorot_uniform'",
              "description": "Kernel initializer. Defaults to \"glorot_uniform\".",
              "name": "kernel_initializer",
              "type": "str"
            },
            {
              "default": "'zeros'",
              "description": "Bias initializer. Defaults to \"zeros\".",
              "name": "bias_initializer",
              "type": "str"
            },
            {
              "default": "None",
              "description": "Kernel regularizer. Defaults to None.",
              "name": "kernel_regularizer",
              "type": "[type]"
            },
            {
              "default": "None",
              "description": "Bias regularizer. Defaults to None.",
              "name": "bias_regularizer",
              "type": "[type]"
            },
            {
              "default": "'fc_block'",
              "description": "Name. Defaults to \"fc_block\".",
              "name": "name",
              "type": "str"
            }
          ],
          "raises": [],
          "returns": [
            {
              "description": "keras.Layer: Functional layer",
              "type": "keras.Layer"
            }
          ],
          "signature": "fc_block(\n    depth: int,\n    ex_factor: int = 4,\n    residual_factor: float = 0.5,\n    dropout: float = 0,\n    use_bias: bool = True,\n    kernel_initializer: str = 'glorot_uniform',\n    bias_initializer: str = 'zeros',\n    kernel_regularizer=None,\n    bias_regularizer=None,\n    name: str = 'fc_block',\n) -> keras.Layer",
          "source": {
            "line": 85,
            "path": "helia_edge/models/conformer.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/conformer.py#L85"
          },
          "summary": "Fully connected block"
        },
        {
          "description": "Convolutional block",
          "examples": [],
          "id": "helia_edge.models.conformer.conv_block",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "conv_block",
          "params": [
            {
              "description": "Depth",
              "name": "depth",
              "type": "int"
            },
            {
              "default": "9",
              "description": "Kernel size. Defaults to 9.",
              "name": "kernel_size",
              "type": "int"
            },
            {
              "default": "0.0",
              "description": "Dropout rate. Defaults to 0.0.",
              "name": "dropout",
              "type": "float"
            },
            {
              "default": "'same'",
              "description": "Padding. Defaults to \"same\".",
              "name": "padding",
              "type": "str"
            },
            {
              "default": "2",
              "description": "Scale factor. Defaults to 2.",
              "name": "scale_factor",
              "type": "int"
            },
            {
              "default": "'glorot_uniform'",
              "description": "Kernel initializer. Defaults to \"glorot_uniform\".",
              "name": "kernel_initializer",
              "type": "str"
            },
            {
              "default": "'zeros'",
              "description": "Bias initializer. Defaults to \"zeros\".",
              "name": "bias_initializer",
              "type": "str"
            },
            {
              "default": "None",
              "description": "Kernel regularizer. Defaults to None.",
              "name": "kernel_regularizer",
              "type": "[type]"
            },
            {
              "default": "None",
              "description": "Bias regularizer. Defaults to None.",
              "name": "bias_regularizer",
              "type": "[type]"
            },
            {
              "default": "'conv_module'",
              "description": "Name. Defaults to \"conv_module\".",
              "name": "name",
              "type": "str"
            }
          ],
          "raises": [],
          "returns": [
            {
              "description": "keras.Layer: Functional layer",
              "type": "keras.Layer"
            }
          ],
          "signature": "conv_block(\n    depth: int,\n    kernel_size: int = 9,\n    dropout: float = 0.0,\n    padding: str = 'same',\n    scale_factor: int = 2,\n    kernel_initializer: str = 'glorot_uniform',\n    bias_initializer: str = 'zeros',\n    kernel_regularizer=None,\n    bias_regularizer=None,\n    name: str = 'conv_module',\n) -> keras.Layer",
          "source": {
            "line": 151,
            "path": "helia_edge/models/conformer.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/conformer.py#L151"
          },
          "summary": "Convolutional block"
        },
        {
          "description": "Attention block",
          "examples": [],
          "id": "helia_edge.models.conformer.att_block",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "att_block",
          "params": [
            {
              "description": "Depth",
              "name": "depth",
              "type": "int"
            },
            {
              "default": "'rel'",
              "description": "Embedding type. Defaults to \"rel\".",
              "name": "embedding",
              "type": "str"
            },
            {
              "default": "4",
              "description": "Number of heads. Defaults to 4.",
              "name": "num_heads",
              "type": "int"
            },
            {
              "default": "0.1",
              "description": "Dropout rate. Defaults to 0.1.",
              "name": "dropout",
              "type": "float"
            },
            {
              "default": "'att_block'",
              "description": "Name. Defaults to \"att_block\".",
              "name": "name",
              "type": "str"
            }
          ],
          "raises": [],
          "returns": [
            {
              "description": "keras.Layer: Functional layer",
              "type": "keras.Layer"
            }
          ],
          "signature": "att_block(\n    depth: int,\n    embedding: str = 'rel',\n    num_heads: int = 4,\n    dropout: float = 0.1,\n    name: str = 'att_block',\n) -> keras.Layer",
          "source": {
            "line": 235,
            "path": "helia_edge/models/conformer.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/conformer.py#L235"
          },
          "summary": "Attention block"
        },
        {
          "description": "Conformer block",
          "examples": [],
          "id": "helia_edge.models.conformer.conformer_block",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "conformer_block",
          "params": [
            {
              "description": "Depth",
              "name": "depth",
              "type": "int"
            },
            {
              "default": "4",
              "description": "FC expansion factor. Defaults to 4.",
              "name": "fc_ex_factor",
              "type": "int"
            },
            {
              "default": "0.5",
              "description": "FC residual factor. Defaults to 0.5.",
              "name": "fc_res_factor",
              "type": "int"
            },
            {
              "default": "'relative'",
              "description": "Embedding type. Defaults to \"relative\".",
              "name": "embedding",
              "type": "str"
            },
            {
              "default": "4",
              "description": "Number of heads. Defaults to 4.",
              "name": "num_heads",
              "type": "int"
            },
            {
              "default": "9",
              "description": "Kernel size. Defaults to 9.",
              "name": "kernel_size",
              "type": "int"
            },
            {
              "default": "0.1",
              "description": "Dropout rate. Defaults to 0.1.",
              "name": "dropout",
              "type": "float"
            },
            {
              "default": "True",
              "description": "Use bias. Defaults to True.",
              "name": "use_bias",
              "type": "bool"
            },
            {
              "default": "'cf_block'",
              "description": "Name. Defaults to \"cf_block\".",
              "name": "name",
              "type": "str"
            }
          ],
          "raises": [],
          "returns": [
            {
              "description": "keras.Layer: Functional layer",
              "type": "keras.Layer"
            }
          ],
          "signature": "conformer_block(\n    depth: int,\n    fc_ex_factor: int = 4,\n    fc_res_factor: int = 0.5,\n    embedding: str = 'relative',\n    num_heads: int = 4,\n    kernel_size: int = 9,\n    dropout: float = 0.1,\n    use_bias: bool = True,\n    name: str = 'cf_block',\n) -> keras.Layer",
          "source": {
            "line": 278,
            "path": "helia_edge/models/conformer.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/conformer.py#L278"
          },
          "summary": "Conformer block"
        },
        {
          "description": "Conformer functional layer",
          "examples": [],
          "id": "helia_edge.models.conformer.conformer_layer",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "conformer_layer",
          "params": [
            {
              "description": "Input tensor",
              "name": "x",
              "type": "keras.KerasTensor"
            },
            {
              "description": "Model parameters.",
              "name": "params",
              "type": "ConformerParams"
            }
          ],
          "raises": [],
          "returns": [
            {
              "description": "keras.KerasTensor: Output tensor",
              "type": "keras.KerasTensor"
            }
          ],
          "signature": "conformer_layer(x: keras.KerasTensor, params: ConformerParams) -> keras.KerasTensor",
          "source": {
            "line": 350,
            "path": "helia_edge/models/conformer.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/conformer.py#L350"
          },
          "summary": "Conformer functional layer"
        },
        {
          "description": "Build a Conformer model.",
          "examples": [],
          "id": "helia_edge.models.conformer.build",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "build",
          "params": [
            {
              "description": "Model parameters.",
              "name": "params",
              "type": "ConformerParams"
            },
            {
              "description": "Input shape without the batch axis; None for a variable axis.",
              "name": "input_shape",
              "type": "tuple[int | None, ...]"
            },
            {
              "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.",
              "name": "name",
              "type": "str | None"
            }
          ],
          "raises": [],
          "returns": [
            {
              "description": "keras.Model: The model, named ``conformer`` unless ``name`` is given.",
              "type": "keras.Model"
            }
          ],
          "signature": "build(\n    params: ConformerParams,\n    input_shape: tuple[int | None, ...],\n    *,\n    batch_size: int | None = None,\n    name: str | None = None,\n) -> keras.Model",
          "source": {
            "line": 389,
            "path": "helia_edge/models/conformer.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/models/conformer.py#L389"
          },
          "summary": "Build a Conformer model."
        }
      ]
    }
  ],
  "name": "helia_edge"
}
