# helia_edge.models.mobilenet

## MobileNet Models API

This module provides utility functions to generate MobileNet models.

Parameters are in ``helia_edge.models.mobilenet_params``.

**Functions**

| Name | Description |
| --- | --- |
| `build` | MobileNetV1 model from ``MobileNetV1Params`` |
| `mobilenetv1_layer` | Modified MobileNetV1 layer |

## helia_edge.models.mobilenet.mobilenetv1_layer

`function` · `python`

```python
mobilenetv1_layer(x: keras.KerasTensor, params: MobileNetV1Params) -> keras.KerasTensor
```

Modified MobileNetV1
MLPerf Tiny model for VWW:
https://github.com/SiliconLabs/platform_ml_models/blob/master/eembc/Person_detection/mobilenet_v1_eembc.py

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| x | keras.KerasTensor | Required | Model input |
| params | MobileNetV1Params | Required | Model parameters |

**Returns**

| Name | Type | Description |
| --- | --- | --- |
|  | keras.KerasTensor | keras.KerasTensor: Model output |

Source: `helia_edge/models/mobilenet.py:21`

## helia_edge.models.mobilenet.build

`function` · `python`

```python
build(
    params: MobileNetV1Params,
    input_shape: tuple[int | None, ...],
    *,
    batch_size: int | None = None,
    name: str | None = None,
) -> keras.Model
```

Build a MobileNetV1 model.

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| params | MobileNetV1Params | Required | Model parameters. |
| input_shape | tuple[int \| None, ...] | Required | Input shape without the batch axis; None for a variable axis. |
| batch_size | int \| None | None | Static batch size; None for a dynamic batch. |
| name | str \| None | None | Model name; the family when None. |

**Returns**

| Name | Type | Description |
| --- | --- | --- |
|  | keras.Model | keras.Model: The model, named ``mobilenet`` unless ``name`` is given. |

Source: `helia_edge/models/mobilenet.py:270`
