InstanceNormalization - version 6#

This page documents version 6 of operator InstanceNormalization. See InstanceNormalization for the latest version (since version 22).

  • Domain: ai.onnx

  • Since version: 6

Carries out instance normalization as described in the paper https://arxiv.org/abs/1607.08022.

y = scale * (x - mean) / sqrt(variance + epsilon) + B, where mean and variance are computed per instance per channel.

Inputs

  • input (T): Input data tensor from the previous operator; dimensions for image case are (N x C x H x W), where N is the batch size, C is the number of channels, and H and W are the height and the width of the data. For non image case, the dimensions are in the form of (N x C x D1 x D2 … Dn), where N is the batch size.

  • scale (T): The input 1-dimensional scale tensor of size C.

  • B (T): The input 1-dimensional bias tensor of size C.

Outputs

  • output (T): The output tensor of the same shape as input.

Attributes

  • epsilon (float): The epsilon value to use to avoid division by zero.

Type Constraints

  • T: Constrain input and output types to float tensors. Allowed types: tensor(double), tensor(float), tensor(float16).

Differences with previous version (1)#

SchemaDiff: InstanceNormalization (domain 'ai.onnx')

  • old version: 1

  • new version: 6

  • breaking: yes

Breaking reasons:

  • attribute ‘consumed_inputs’ (removed): type=INTS; required=False

Attributes:

  • [BREAKING] removed ‘consumed_inputs’: type=INTS; required=False