# Interpolate¶

## General¶

Interpolate layer performs interpolation on $$\src$$ tensor at spatial dimensions.

## Operation attributes¶

Attribute Name

Des

mode

Specifies type of interpolation.

string

nearest , linear , bilinear , trilinear

Required

coordinate_transformation_mode

Specifies how to transform the coordinate in the resized tensor to the coordinate in the original tensor.

string

half_pixel (default), align_corners

Optional

sizes

Specifies dst shape for spatial axes.

s64

A s64 list containing positive values, none is default

Optional

scales

Specifies scales for spatial axes.

f32

A f32 list, none is default

Optional

data_format

Controls how to interpret the shape of src and dst .

string

NCX , NXC (default)

Optional

Note

Either sizes or scales should be provided. When sizes is used, scales will be ignored.

Note

The attribute coordinate_transformation_mode is the name of transformation mode in string format.

Here scale[x] is dst_shape[x]/src_shape[x] and x_resized is a coordinate in axis x,for any axis x from the src axis.

For half_pixel : the coordinate in the original tensor axis x is calculated as ((x_resized + 0.5) / scale[x]) - 0.5.

For align_corners : the coordinate in the original tensor axis x is calculated as 0 if dst_shape[x] == 1 else x_resized * (src_shape[x] - 1) / (dst_shape[x] - 1).

## Execution arguments¶

The inputs and outputs must be provided according to below index order when constructing an operation.

### Inputs¶

Index

Argu

0

src

Required

1

sizes

Optional

Note

sizes is a 1D tensor describing output shape for spatial axes. It is a non-differentiable tensor.

### Outputs¶

Index

Argu

0

dst

Required

Note

The shape of the dst matches src shape except spatial dimensions. For spatial dimensions, they should match sizes from sizes or calculated from scales attribute.

## Supported data types¶

Interpolate operation supports the following data type combinations.

Src/Dst

f32

s32

bf16

s32

f16

s3