Trait burn::tensor::ops::IntTensorOps
pub trait IntTensorOps<B>where
B: Backend,{
Show 57 methods
// Required methods
fn int_empty<const D: usize>(
shape: Shape<D>,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_shape<const D: usize>(
tensor: &<B as Backend>::IntTensorPrimitive<D>
) -> Shape<D>;
fn int_into_data<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> Data<<B as Backend>::IntElem, D>;
fn int_from_data<const D: usize>(
data: Data<<B as Backend>::IntElem, D>,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_device<const D: usize>(
tensor: &<B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::Device;
fn int_to_device<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_reshape<const D1: usize, const D2: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D1>,
shape: Shape<D2>
) -> <B as Backend>::IntTensorPrimitive<D2>;
fn int_slice<const D1: usize, const D2: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D1>,
indices: [Range<usize>; D2]
) -> <B as Backend>::IntTensorPrimitive<D1>;
fn int_slice_assign<const D1: usize, const D2: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D1>,
indices: [Range<usize>; D2],
value: <B as Backend>::IntTensorPrimitive<D1>
) -> <B as Backend>::IntTensorPrimitive<D1>;
fn int_into_float<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<D>;
fn int_mask_where<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
mask: <B as Backend>::BoolTensorPrimitive<D>,
source: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_mask_fill<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
mask: <B as Backend>::BoolTensorPrimitive<D>,
value: <B as Backend>::IntElem
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_gather<const D: usize>(
dim: usize,
tensor: <B as Backend>::IntTensorPrimitive<D>,
indices: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_scatter<const D: usize>(
dim: usize,
tensor: <B as Backend>::IntTensorPrimitive<D>,
indices: <B as Backend>::IntTensorPrimitive<D>,
value: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_select<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize,
indices: <B as Backend>::IntTensorPrimitive<1>
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_select_assign<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize,
indices: <B as Backend>::IntTensorPrimitive<1>,
value: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_cat<const D: usize>(
tensors: Vec<<B as Backend>::IntTensorPrimitive<D>, Global>,
dim: usize
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_equal<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::BoolTensorPrimitive<D>;
fn int_equal_elem<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntElem
) -> <B as Backend>::BoolTensorPrimitive<D>;
fn int_greater<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::BoolTensorPrimitive<D>;
fn int_greater_elem<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntElem
) -> <B as Backend>::BoolTensorPrimitive<D>;
fn int_greater_equal<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::BoolTensorPrimitive<D>;
fn int_greater_equal_elem<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntElem
) -> <B as Backend>::BoolTensorPrimitive<D>;
fn int_lower<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::BoolTensorPrimitive<D>;
fn int_lower_elem<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntElem
) -> <B as Backend>::BoolTensorPrimitive<D>;
fn int_lower_equal<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::BoolTensorPrimitive<D>;
fn int_lower_equal_elem<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntElem
) -> <B as Backend>::BoolTensorPrimitive<D>;
fn int_add<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_add_scalar<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntElem
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_sub<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_sub_scalar<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntElem
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_mul<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_mul_scalar<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntElem
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_div<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_div_scalar<const D: usize>(
lhs: <B as Backend>::IntTensorPrimitive<D>,
rhs: <B as Backend>::IntElem
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_zeros<const D: usize>(
shape: Shape<D>,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_ones<const D: usize>(
shape: Shape<D>,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_sum<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<1>;
fn int_sum_dim<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_mean_dim<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_argmax<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_argmin<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <B as Backend>::IntTensorPrimitive<D>;
fn int_abs<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>;
// Provided methods
fn int_to_data<const D: usize>(
tensor: &<B as Backend>::IntTensorPrimitive<D>
) -> Data<<B as Backend>::IntElem, D> { ... }
fn int_repeat<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize,
times: usize
) -> <B as Backend>::IntTensorPrimitive<D> { ... }
fn int_clamp_min<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
min: <B as Backend>::IntElem
) -> <B as Backend>::IntTensorPrimitive<D> { ... }
fn int_clamp_max<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
max: <B as Backend>::IntElem
) -> <B as Backend>::IntTensorPrimitive<D> { ... }
fn int_clamp<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
min: <B as Backend>::IntElem,
max: <B as Backend>::IntElem
) -> <B as Backend>::IntTensorPrimitive<D> { ... }
fn int_neg<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D> { ... }
fn int_full<const D: usize>(
shape: Shape<D>,
fill_value: <B as Backend>::IntElem,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<D> { ... }
fn int_mean<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<1> { ... }
fn int_max<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<1> { ... }
fn int_max_dim<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <B as Backend>::IntTensorPrimitive<D> { ... }
fn int_max_dim_with_indices<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> (<B as Backend>::IntTensorPrimitive<D>, <B as Backend>::IntTensorPrimitive<D>) { ... }
fn int_min<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<1> { ... }
fn int_min_dim<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <B as Backend>::IntTensorPrimitive<D> { ... }
fn int_min_dim_with_indices<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> (<B as Backend>::IntTensorPrimitive<D>, <B as Backend>::IntTensorPrimitive<D>) { ... }
}Expand description
Int Tensor API for basic and numeric operations, see tensor for documentation on each function.
Required Methods§
fn int_empty<const D: usize>(
shape: Shape<D>,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_empty<const D: usize>( shape: Shape<D>, device: &<B as Backend>::Device ) -> <B as Backend>::IntTensorPrimitive<D>
fn int_shape<const D: usize>(
tensor: &<B as Backend>::IntTensorPrimitive<D>
) -> Shape<D>
fn int_shape<const D: usize>( tensor: &<B as Backend>::IntTensorPrimitive<D> ) -> Shape<D>
fn int_into_data<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> Data<<B as Backend>::IntElem, D>
fn int_into_data<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D> ) -> Data<<B as Backend>::IntElem, D>
fn int_from_data<const D: usize>(
data: Data<<B as Backend>::IntElem, D>,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_from_data<const D: usize>( data: Data<<B as Backend>::IntElem, D>, device: &<B as Backend>::Device ) -> <B as Backend>::IntTensorPrimitive<D>
fn int_device<const D: usize>(
tensor: &<B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::Device
fn int_device<const D: usize>( tensor: &<B as Backend>::IntTensorPrimitive<D> ) -> <B as Backend>::Device
fn int_to_device<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_to_device<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D>, device: &<B as Backend>::Device ) -> <B as Backend>::IntTensorPrimitive<D>
Moves the tensor to the given device.
fn int_reshape<const D1: usize, const D2: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D1>,
shape: Shape<D2>
) -> <B as Backend>::IntTensorPrimitive<D2>
fn int_reshape<const D1: usize, const D2: usize>( tensor: <B as Backend>::IntTensorPrimitive<D1>, shape: Shape<D2> ) -> <B as Backend>::IntTensorPrimitive<D2>
fn int_slice<const D1: usize, const D2: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D1>,
indices: [Range<usize>; D2]
) -> <B as Backend>::IntTensorPrimitive<D1>
fn int_slice<const D1: usize, const D2: usize>( tensor: <B as Backend>::IntTensorPrimitive<D1>, indices: [Range<usize>; D2] ) -> <B as Backend>::IntTensorPrimitive<D1>
fn int_slice_assign<const D1: usize, const D2: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D1>,
indices: [Range<usize>; D2],
value: <B as Backend>::IntTensorPrimitive<D1>
) -> <B as Backend>::IntTensorPrimitive<D1>
fn int_slice_assign<const D1: usize, const D2: usize>( tensor: <B as Backend>::IntTensorPrimitive<D1>, indices: [Range<usize>; D2], value: <B as Backend>::IntTensorPrimitive<D1> ) -> <B as Backend>::IntTensorPrimitive<D1>
fn int_into_float<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<D>
fn int_into_float<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D> ) -> <B as Backend>::TensorPrimitive<D>
fn int_mask_where<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
mask: <B as Backend>::BoolTensorPrimitive<D>,
source: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_mask_where<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D>, mask: <B as Backend>::BoolTensorPrimitive<D>, source: <B as Backend>::IntTensorPrimitive<D> ) -> <B as Backend>::IntTensorPrimitive<D>
fn int_mask_fill<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
mask: <B as Backend>::BoolTensorPrimitive<D>,
value: <B as Backend>::IntElem
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_mask_fill<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D>, mask: <B as Backend>::BoolTensorPrimitive<D>, value: <B as Backend>::IntElem ) -> <B as Backend>::IntTensorPrimitive<D>
fn int_gather<const D: usize>(
dim: usize,
tensor: <B as Backend>::IntTensorPrimitive<D>,
indices: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_gather<const D: usize>( dim: usize, tensor: <B as Backend>::IntTensorPrimitive<D>, indices: <B as Backend>::IntTensorPrimitive<D> ) -> <B as Backend>::IntTensorPrimitive<D>
Gather elements from the tensor at the given indices.
Arguments
dim- The dimension to gather from.tensor- The tensor.indices- The indices.