# helia_edge.models.composer

## Composer Model API

This module provides utility functions to compose a sequential set of networks/layers.

Parameters are in ``helia_edge.models.composer_params``.

**Functions**

| Name | Description |
| --- | --- |
| `build` | Composer model from ``ComposerParams`` |
| `composer_layer` | Composes a sequential set of networks/layers |

## helia_edge.models.composer.logger

`attribute` · `python`

```python
logger = logging.getLogger(__name__)
```

Source: `helia_edge/models/composer.py:25`

## helia_edge.models.composer.composer_layer

`function` · `python`

```python
composer_layer(x: keras.KerasTensor, params: ComposerParams) -> keras.KerasTensor
```

Composes a sequential set of networks/layers.
Useful for adding custom layers to a pre-trained model (e.g. foundation).

**Parameters**

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

**Returns**

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

Source: `helia_edge/models/composer.py:28`

## helia_edge.models.composer.build

`function` · `python`

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

Build a Composer model.

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| params | ComposerParams | 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 ``composer`` unless ``name`` is given. |

Source: `helia_edge/models/composer.py:73`
