---
title: "ClikaRT::nn::BatchNormOptions"
sidebar_label: "BatchNormOptions"
description: "Construction settings of BatchNorm beyond the channel count (a plain aggregate; assign the fields you need)."
---

<!-- Generated by tools/doxygen2mdx from Doxygen XML. Do not edit. -->

<span class="api-kind api-kind--struct">struct</span>

**Header:** `ClikaRT/nn/batch_norm.h`

Construction settings of [`BatchNorm`](./BatchNorm.md) beyond the channel count (a plain aggregate; assign the fields you need).

## Data members

### eps {#eps}

<div class="api-signature">

`double` **`eps`** `= 1e-5`

</div>

Added to the variance before the square root. Default `1e-5`.

<div class="api-declared">

Declared in `ClikaRT/nn/batch_norm.h`, line 52

</div>

### affine {#affine}

<div class="api-signature">

`bool` **`affine`** `= true`

</div>

Declares the per-channel `weight` (scale) and `bias` (shift) parameters. `false` normalizes without them. Default `true`.

<div class="api-declared">

Declared in `ClikaRT/nn/batch_norm.h`, line 55

</div>

### activation {#activation}

<div class="api-signature">

`std::optional<`[`ops::Activation`](../ops/index.md#Activation)`>` **`activation`**

</div>

A fused activation applied to the normalized result; absent applies none.

<div class="api-declared">

Declared in `ClikaRT/nn/batch_norm.h`, line 58

</div>

### dtype {#dtype}

<div class="api-signature">

[`DataType`](../../index.md#DataType) **`dtype`** `=` [`DataType::Float32`](../../index.md#DataType)

</div>

The dtype the declared slots carry; a bound payload casts to it. Default `Float32`.

<div class="api-declared">

Declared in `ClikaRT/nn/batch_norm.h`, line 61

</div>

### device {#device}

<div class="api-signature">

[`Device`](../Device.md) **`device`** `=` [`Device::cpu`](../Device.md#cpu)`()`

</div>

The placement of the declared slots. Default cpu.

<div class="api-declared">

Declared in `ClikaRT/nn/batch_norm.h`, line 63

</div>
