{
  "$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": "# MBConv Layer API\n\nThis module provides classes to build mobile inverted bottleneck convolutional layers.\n\n**Classes**\n\n| Name | Description |\n| --- | --- |\n| `MBConvParams` | MBConv parameters |\n\n**Functions**\n\n| Name | Description |\n| --- | --- |\n| `mbconv_block` | MBConv block w/ expansion and SE |",
      "name": "mbconv",
      "path": "helia_edge.layers.mbconv",
      "submodules": [],
      "summary": "MBConv Layer API",
      "symbols": [
        {
          "description": "MBConv block w/ expansion and SE\n\nThis layer can support 1D inputs by providing a dummy dimension.\nIn such cases, the kernel_size and strides should be adjusted accordingly.",
          "examples": [],
          "id": "helia_edge.layers.mbconv.mbconv_block",
          "kind": "function",
          "language": "python",
          "members": [],
          "name": "mbconv_block",
          "params": [
            {
              "description": "Number of output filter channels",
              "name": "output_filters",
              "type": "int"
            },
            {
              "default": "1",
              "description": "Expansion ratio. Defaults to 1.",
              "name": "expand_ratio",
              "type": "float"
            },
            {
              "default": "3",
              "description": "Kernel size. Defaults to 3.",
              "name": "kernel_size",
              "type": "int | tuple[int, int]"
            },
            {
              "default": "1",
              "description": "Stride length. Defaults to 1.",
              "name": "strides",
              "type": "int | tuple[int, int]"
            },
            {
              "default": "8",
              "description": "SE ratio. Defaults to 8.",
              "name": "se_ratio",
              "type": "float"
            },
            {
              "default": "0",
              "description": "Drop rate. Defaults to 0.",
              "name": "droprate",
              "type": "float"
            },
            {
              "default": "0.9",
              "description": "Batch normalization momentum. Defaults to 0.9.",
              "name": "bn_momentum",
              "type": "float"
            },
            {
              "default": "'relu6'",
              "description": "Activation function. Defaults to \"relu6\".",
              "name": "activation",
              "type": "str"
            },
            {
              "default": "None",
              "description": "Block name. Defaults to None.",
              "name": "name",
              "type": "str | None"
            }
          ],
          "raises": [],
          "returns": [
            {
              "description": "keras.Layer: Functional layer",
              "type": "keras.Layer"
            }
          ],
          "signature": "mbconv_block(\n    output_filters: int,\n    expand_ratio: float = 1,\n    kernel_size: int | tuple[int, int] = 3,\n    strides: int | tuple[int, int] = 1,\n    se_ratio: float = 8,\n    droprate: float = 0,\n    bn_momentum: float = 0.9,\n    activation: str | Callable = 'relu6',\n    name: str | None = None,\n) -> keras.Layer",
          "source": {
            "line": 25,
            "path": "helia_edge/layers/mbconv.py",
            "url": "https://github.com/AmbiqAI/helia-edge/blob/f341fb11f7f5d77a4974ba8273c4cd55d67c21f0/helia_edge/layers/mbconv.py#L25"
          },
          "summary": "MBConv block w/ expansion and SE"
        }
      ]
    }
  ],
  "name": "helia_edge"
}
