nn.grid_sample
fn grid_sample(
X: @Tensor<T>,
grid: @Tensor<T>,
align_corner: Option<usize>,
mode: Option<MODE>,
padding_mode: Option<PADDING_MODE>,
) -> Tensor<T>;Args
Returns
Example
Last updated
fn grid_sample(
X: @Tensor<T>,
grid: @Tensor<T>,
align_corner: Option<usize>,
mode: Option<MODE>,
padding_mode: Option<PADDING_MODE>,
) -> Tensor<T>;Last updated
use orion::operators::nn::NNTrait;
use orion::numbers::FixedTrait;
use orion::operators::nn::FP16x16NN;
use orion::numbers::FP16x16;
use orion::operators::tensor::{Tensor, TensorTrait, FP16x16Tensor};
fn example_grid_sample() -> Tensor<FP16x16> {
let mut shape = ArrayTrait::<usize>::new();
shape.append(1);
shape.append(2);
shape.append(4);
shape.append(2);
let mut data = ArrayTrait::new();
data.append(FP16x16 { mag: 655360, sign: true });
data.append(FP16x16 { mag: 655360, sign: true });
data.append(FP16x16 { mag: 327680, sign: true });
data.append(FP16x16 { mag: 327680, sign: true });
data.append(FP16x16 { mag: 13107, sign: true });
data.append(FP16x16 { mag: 13107, sign: true });
data.append(FP16x16 { mag: 655360, sign: false });
data.append(FP16x16 { mag: 655360, sign: false });
data.append(FP16x16 { mag: 655360, sign: false });
data.append(FP16x16 { mag: 655360, sign: false });
data.append(FP16x16 { mag: 13107, sign: true });
data.append(FP16x16 { mag: 13107, sign: true });
data.append(FP16x16 { mag: 327680, sign: false });
data.append(FP16x16 { mag: 327680, sign: false });
data.append(FP16x16 { mag: 655360, sign: false });
data.append(FP16x16 { mag: 655360, sign: false });
let mut grid = TensorTrait::new(shape.span(), data.span());
let mut shape = ArrayTrait::<usize>::new();
shape.append(1);
shape.append(1);
shape.append(3);
shape.append(2);
let mut data = ArrayTrait::new();
data.append(FP16x16 { mag: 0, sign: false });
data.append(FP16x16 { mag: 65536, sign: false });
data.append(FP16x16 { mag: 131072, sign: false });
data.append(FP16x16 { mag: 196608, sign: false });
data.append(FP16x16 { mag: 262144, sign: false });
data.append(FP16x16 { mag: 327680, sign: false });
let mut X = TensorTrait::new(shape.span(), data.span());
return NNTrait::grid_sample(
@X, @grid, Option::None, Option::None, Option::None,
);
}
}
>>> [
[
[
[0.0000, 0.0000, 1.7000, 0.0000],
[0.0000, 1.7000, 0.0000, 0.0000]
]
]
]