# helia_edge.models.tcn_params

Typed parameters of the TCN family; importable without Keras.

## helia_edge.models.tcn_params.TcnBlockParams

`class` · `python`

```python
TcnBlockParams()
```

TCN block parameters

Source: `helia_edge/models/tcn_params.py:16`

### helia_edge.models.tcn_params.TcnBlockParams.model_config

`attribute` · `python`

```python
model_config = ConfigDict(frozen=True, extra='forbid')
```

Source: `helia_edge/models/tcn_params.py:32`

### helia_edge.models.tcn_params.TcnBlockParams.depth

`attribute` · `python`

```python
depth: int = Field(default=1, gt=0, description='Layer depth')
```

Layer depth

Source: `helia_edge/models/tcn_params.py:34`

### helia_edge.models.tcn_params.TcnBlockParams.branch

`attribute` · `python`

```python
branch: int = Field(default=1, gt=0, description='Number of branches')
```

Number of branches

Source: `helia_edge/models/tcn_params.py:35`

### helia_edge.models.tcn_params.TcnBlockParams.filters

`attribute` · `python`

```python
filters: int = Field(..., gt=0, description='# filters')
```

Number of filters

Source: `helia_edge/models/tcn_params.py:36`

### helia_edge.models.tcn_params.TcnBlockParams.kernel

`attribute` · `python`

```python
kernel: int | tuple[int, int] = Field(default=3, description='Kernel size')
```

Kernel size

Source: `helia_edge/models/tcn_params.py:37`

### helia_edge.models.tcn_params.TcnBlockParams.dilation

`attribute` · `python`

```python
dilation: int | tuple[int, int] = Field(default=1, description='Dilation rate')
```

Dilation rate

Source: `helia_edge/models/tcn_params.py:38`

### helia_edge.models.tcn_params.TcnBlockParams.ex_ratio

`attribute` · `python`

```python
ex_ratio: float = Field(default=1, gt=0, allow_inf_nan=False, description='Expansion ratio')
```

Expansion ratio

Source: `helia_edge/models/tcn_params.py:39`

### helia_edge.models.tcn_params.TcnBlockParams.se_ratio

`attribute` · `python`

```python
se_ratio: float = Field(default=0, ge=0, allow_inf_nan=False, description='Squeeze and excite ratio')
```

Squeeze and excite ratio

Source: `helia_edge/models/tcn_params.py:40`

### helia_edge.models.tcn_params.TcnBlockParams.dropout

`attribute` · `python`

```python
dropout: float | None = Field(default=None, ge=0, lt=1, allow_inf_nan=False, description='Dropout rate')
```

Dropout rate

Source: `helia_edge/models/tcn_params.py:41`

### helia_edge.models.tcn_params.TcnBlockParams.norm

`attribute` · `python`

```python
norm: Literal['batch', 'layer'] | None = Field(default='layer', description='Normalization type')
```

Normalization type

Source: `helia_edge/models/tcn_params.py:42`

### helia_edge.models.tcn_params.TcnBlockParams.activation

`attribute` · `python`

```python
activation: str = Field(default='relu6', description='Activation function')
```

Activation function

Source: `helia_edge/models/tcn_params.py:43`

## helia_edge.models.tcn_params.TcnParams

`class` · `python`

```python
TcnParams()
```

TCN parameters

Source: `helia_edge/models/tcn_params.py:48`

### helia_edge.models.tcn_params.TcnParams.model_config

`attribute` · `python`

```python
model_config = ConfigDict(frozen=True, extra='forbid')
```

Source: `helia_edge/models/tcn_params.py:64`

### helia_edge.models.tcn_params.TcnParams.family

`attribute` · `python`

```python
family: Literal['tcn'] = 'tcn'
```

Model family

Source: `helia_edge/models/tcn_params.py:66`

### helia_edge.models.tcn_params.TcnParams.input_kernel

`attribute` · `python`

```python
input_kernel: int | tuple[int, int] | None = Field(default=None, description='Input kernel size')
```

Input kernel size

Source: `helia_edge/models/tcn_params.py:67`

### helia_edge.models.tcn_params.TcnParams.input_norm

`attribute` · `python`

```python
input_norm: Literal['batch', 'layer'] | None = Field(default='layer', description='Input normalization type')
```

Input normalization type

Source: `helia_edge/models/tcn_params.py:68`

### helia_edge.models.tcn_params.TcnParams.block_type

`attribute` · `python`

```python
block_type: Literal['lg', 'mb', 'sm'] = Field(default='mb', description='Block type')
```

Block type

Source: `helia_edge/models/tcn_params.py:69`

### helia_edge.models.tcn_params.TcnParams.blocks

`attribute` · `python`

```python
blocks: list[TcnBlockParams] = Field(default_factory=list, description='TCN blocks')
```

TCN blocks

Source: `helia_edge/models/tcn_params.py:70`

### helia_edge.models.tcn_params.TcnParams.output_kernel

`attribute` · `python`

```python
output_kernel: int | tuple[int, int] = Field(default=3, description='Output kernel size')
```

Output kernel size

Source: `helia_edge/models/tcn_params.py:71`

### helia_edge.models.tcn_params.TcnParams.include_top

`attribute` · `python`

```python
include_top: bool = Field(default=True, description='Include top')
```

Include top

Source: `helia_edge/models/tcn_params.py:72`

### helia_edge.models.tcn_params.TcnParams.num_classes

`attribute` · `python`

```python
num_classes: int | None = Field(default=None, gt=0, description='Classes of the output layer; required with include_top')
```

Classes of the output layer; required with include_top

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

### helia_edge.models.tcn_params.TcnParams.use_logits

`attribute` · `python`

```python
use_logits: bool = Field(default=True, description='Use logits')
```

Use logits

Source: `helia_edge/models/tcn_params.py:76`

### helia_edge.models.tcn_params.TcnParams.output_activation

`attribute` · `python`

```python
output_activation: str | None = Field(default=None, description='Output activation')
```

Output activation

Source: `helia_edge/models/tcn_params.py:77`

## helia_edge.models.tcn_params.compact_tcn_params

`function` · `python`

```python
compact_tcn_params(*, filters: int = 8, num_classes: int | None = None) -> TcnParams
```

Four small SE4 blocks with 1/2/4/8 dilations and per-point linear output.

The input shape is supplied to ``build`` by the caller. At least eight channels retain the builder's
SE squeeze path.

Source: `helia_edge/models/tcn_params.py:82`
