# helia_edge.models.cornet

CorNET heart-rate regressor from a wrist PPG window.

Rebuilt from Biswas et al., "CorNET: Deep Learning Framework for PPG-Based
Heart Rate Estimation and Biometric Identification in Ambulant Environment",
IEEE TBioCAS 13(2), 2019 (Sec. III, Fig. 6, Table III). The reference input
is 8 s of band-passed, z-scored PPG at 125 Hz (1000 x 1). No code or weights
are published, so constructed models are untrained.

## helia_edge.models.cornet.build

`function` · `python`

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

Construct an untrained CorNET regressor with one linear output.

Each convolution stage is Conv1D (valid, stride 1), batch normalization,
ReLU, max pooling and dropout, following Fig. 6; the paper's text
places batch normalization after ReLU instead. Stride and padding are
not stated and are inferred from Table III's MAC counts. Every LSTM but
the last returns its sequence.

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| params | CorNetParams | Required | Model parameters. |
| input_shape | tuple[int \| None, ...] | Required | ``(time, channels)``, both known. |
| 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 ``cornet`` unless ``name`` is given. |

Source: `helia_edge/models/cornet.py:15`
