---
title: "ClikaRT::ops::grid_sample"
sidebar_label: "grid_sample"
description: "Samples a channels-last input at arbitrary grid coordinates. input [N, spatial_in.., C]; grid [N, spatial_out.., S] with S the spatial rank, coordinates normalized to [-1, 1]."
---

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

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

## grid\_sample() {#grid_sample}

<div class="api-signature">

[`Tensor`](../Tensor.md) **`grid_sample`**(<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](../Tensor.md) `input`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`Tensor`](../Tensor.md) `grid`,<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`GridSampleMode`](./index.md#GridSampleMode) `mode` `=` [`GridSampleMode::Bilinear`](./index.md#GridSampleMode),<br />
&nbsp;&nbsp;&nbsp;&nbsp;[`GridSamplePaddingMode`](./index.md#GridSamplePaddingMode) `padding_mode` `=` [`GridSamplePaddingMode::Zeros`](./index.md#GridSamplePaddingMode),<br />
&nbsp;&nbsp;&nbsp;&nbsp;`bool` `align_corners` `=` `false`<br />
)

</div>

Samples a channels-last input at arbitrary grid coordinates.

`input` `[N, spatial_in.., C]`; `grid` `[N, spatial_out.., S]` with `S` the spatial rank, coordinates normalized to `[-1, 1]`. `mode` picks the interpolation (`Bilinear` / `Nearest` / …), `padding_mode` the out-of-range policy (`Zeros` / `Border` / `Reflection`), `align_corners` the corner convention.

**Parameters**

- `input`: channels-last input.
- `grid`: normalized sample coordinates.
- `mode`: interpolation. Default [`GridSampleMode::Bilinear`](./index.md#GridSampleMode).
- `padding_mode`: out-of-range policy. Default [`GridSamplePaddingMode::Zeros`](./index.md#GridSamplePaddingMode).
- `align_corners`: corner convention. Default `false`.

**Throws**

- `ClikaRT::Error`: when the input's dtype/shape is not served for this operation (the machine-readable reason rides `code_name()`).

**Returns:** `[N, spatial_out.., C]`, dtype of `input`.

<div class="api-declared">

Declared in `ClikaRT/compute/ops.h`, line 4627

</div>
