Trait burn_tensor::ops::FloatTensorOps
source · pub trait FloatTensorOps<B: Backend> {
Show 83 methods
// Required methods
fn float_from_data<const D: usize>(
data: Data<FloatElem<B>, D>,
device: &Device<B>
) -> FloatTensor<B, D>;
fn float_random<const D: usize>(
shape: Shape<D>,
distribution: Distribution,
device: &Device<B>
) -> FloatTensor<B, D>;
fn float_shape<const D: usize>(tensor: &FloatTensor<B, D>) -> Shape<D>;
fn float_into_data<const D: usize>(
tensor: FloatTensor<B, D>
) -> Reader<Data<FloatElem<B>, D>>;
fn float_device<const D: usize>(tensor: &FloatTensor<B, D>) -> Device<B>;
fn float_to_device<const D: usize>(
tensor: FloatTensor<B, D>,
device: &Device<B>
) -> FloatTensor<B, D>;
fn float_into_int<const D: usize>(
tensor: FloatTensor<B, D>
) -> IntTensor<B, D>;
fn float_empty<const D: usize>(
shape: Shape<D>,
device: &Device<B>
) -> FloatTensor<B, D>;
fn float_add<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_add_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>;
fn float_sub<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_sub_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>;
fn float_mul<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_mul_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>;
fn float_div<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_div_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>;
fn float_matmul<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_recip<const D: usize>(
tensor: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_swap_dims<const D: usize>(
tensor: FloatTensor<B, D>,
dim1: usize,
dim2: usize
) -> FloatTensor<B, D>;
fn float_reshape<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
shape: Shape<D2>
) -> FloatTensor<B, D2>;
fn float_gather<const D: usize>(
dim: usize,
tensor: FloatTensor<B, D>,
indices: IntTensor<B, D>
) -> FloatTensor<B, D>;
fn float_scatter<const D: usize>(
dim: usize,
tensor: FloatTensor<B, D>,
indices: IntTensor<B, D>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_select<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
indices: IntTensor<B, 1>
) -> FloatTensor<B, D>;
fn float_select_assign<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
indices: IntTensor<B, 1>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_slice<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
ranges: [Range<usize>; D2]
) -> FloatTensor<B, D1>;
fn float_slice_assign<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
ranges: [Range<usize>; D2],
value: FloatTensor<B, D1>
) -> FloatTensor<B, D1>;
fn float_mask_where<const D: usize>(
tensor: FloatTensor<B, D>,
mask: BoolTensor<B, D>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_mask_fill<const D: usize>(
tensor: FloatTensor<B, D>,
mask: BoolTensor<B, D>,
value: FloatElem<B>
) -> FloatTensor<B, D>;
fn float_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>;
fn float_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>;
fn float_greater<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>;
fn float_greater_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>;
fn float_greater_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>;
fn float_greater_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>;
fn float_lower<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>;
fn float_lower_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>;
fn float_lower_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>;
fn float_lower_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>;
fn float_sum<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>;
fn float_sum_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>;
fn float_mean_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>;
fn float_to_full_precision<const D: usize>(
tensor: &FloatTensor<B, D>
) -> FloatTensor<FullPrecisionBackend<B>, D>;
fn float_from_full_precision<const D: usize>(
tensor: FloatTensor<FullPrecisionBackend<B>, D>
) -> FloatTensor<B, D>;
fn float_exp<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn float_log<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn float_log1p<const D: usize>(
tensor: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_powf<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_powf_scalar<const D: usize>(
tensor: FloatTensor<B, D>,
value: f32
) -> FloatTensor<B, D>;
fn float_sqrt<const D: usize>(
tensor: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_abs<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn float_cos<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn float_sin<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn float_tanh<const D: usize>(
tensor: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn float_erf<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn float_cat<const D: usize>(
tensors: Vec<FloatTensor<B, D>>,
dim: usize
) -> FloatTensor<B, D>;
fn float_argmax<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> IntTensor<B, D>;
fn float_argmin<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> IntTensor<B, D>;
// Provided methods
fn float_zeros<const D: usize>(
shape: Shape<D>,
device: &Device<B>
) -> FloatTensor<B, D> { ... }
fn float_ones<const D: usize>(
shape: Shape<D>,
device: &Device<B>
) -> FloatTensor<B, D> { ... }
fn float_full<const D: usize>(
shape: Shape<D>,
fill_value: FloatElem<B>,
device: &Device<B>
) -> FloatTensor<B, D> { ... }
fn float_to_data<const D: usize>(
tensor: &FloatTensor<B, D>
) -> Reader<Data<FloatElem<B>, D>> { ... }
fn float_arange(range: Range<usize>, device: &Device<B>) -> IntTensor<B, 1> { ... }
fn float_arange_step(
range: Range<usize>,
step: usize,
device: &Device<B>
) -> IntTensor<B, 1> { ... }
fn float_repeat<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
times: usize
) -> FloatTensor<B, D> { ... }
fn float_clamp_min<const D: usize>(
tensor: FloatTensor<B, D>,
min: FloatElem<B>
) -> FloatTensor<B, D> { ... }
fn float_clamp_max<const D: usize>(
tensor: FloatTensor<B, D>,
max: FloatElem<B>
) -> FloatTensor<B, D> { ... }
fn float_clamp<const D: usize>(
tensor: FloatTensor<B, D>,
min: FloatElem<B>,
max: FloatElem<B>
) -> FloatTensor<B, D> { ... }
fn float_neg<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D> { ... }
fn float_transpose<const D: usize>(
tensor: FloatTensor<B, D>
) -> FloatTensor<B, D> { ... }
fn float_detach<const D: usize>(
tensor: FloatTensor<B, D>
) -> FloatTensor<B, D> { ... }
fn float_set_require_grad<const D: usize>(
tensor: FloatTensor<B, D>,
_require_grad: bool
) -> FloatTensor<B, D> { ... }
fn float_is_require_grad<const D: usize>(
_tensor: &FloatTensor<B, D>
) -> bool { ... }
fn float_mean<const D: usize>(
tensor: FloatTensor<B, D>
) -> FloatTensor<B, 1> { ... }
fn float_powi<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: IntTensor<B, D>
) -> FloatTensor<B, D> { ... }
fn float_powi_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: IntElem<B>
) -> FloatTensor<B, D> { ... }
fn float_max<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1> { ... }
fn float_max_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D> { ... }
fn float_max_dim_with_indices<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> (FloatTensor<B, D>, IntTensor<B, D>) { ... }
fn float_min<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1> { ... }
fn float_min_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D> { ... }
fn float_min_dim_with_indices<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> (FloatTensor<B, D>, IntTensor<B, D>) { ... }
fn float_narrow<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
start: usize,
length: usize
) -> FloatTensor<B, D> { ... }
fn float_chunk<const D: usize>(
tensor: FloatTensor<B, D>,
chunks: usize,
dim: usize
) -> Vec<FloatTensor<B, D>> { ... }
}Expand description
Operations on float tensors.
Required Methods§
sourcefn float_from_data<const D: usize>(
data: Data<FloatElem<B>, D>,
device: &Device<B>
) -> FloatTensor<B, D>
fn float_from_data<const D: usize>( data: Data<FloatElem<B>, D>, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn float_random<const D: usize>(
shape: Shape<D>,
distribution: Distribution,
device: &Device<B>
) -> FloatTensor<B, D>
fn float_random<const D: usize>( shape: Shape<D>, distribution: Distribution, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn float_shape<const D: usize>(tensor: &FloatTensor<B, D>) -> Shape<D>
fn float_shape<const D: usize>(tensor: &FloatTensor<B, D>) -> Shape<D>
sourcefn float_into_data<const D: usize>(
tensor: FloatTensor<B, D>
) -> Reader<Data<FloatElem<B>, D>>
fn float_into_data<const D: usize>( tensor: FloatTensor<B, D> ) -> Reader<Data<FloatElem<B>, D>>
sourcefn float_device<const D: usize>(tensor: &FloatTensor<B, D>) -> Device<B>
fn float_device<const D: usize>(tensor: &FloatTensor<B, D>) -> Device<B>
sourcefn float_to_device<const D: usize>(
tensor: FloatTensor<B, D>,
device: &Device<B>
) -> FloatTensor<B, D>
fn float_to_device<const D: usize>( tensor: FloatTensor<B, D>, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn float_into_int<const D: usize>(tensor: FloatTensor<B, D>) -> IntTensor<B, D>
fn float_into_int<const D: usize>(tensor: FloatTensor<B, D>) -> IntTensor<B, D>
sourcefn float_empty<const D: usize>(
shape: Shape<D>,
device: &Device<B>
) -> FloatTensor<B, D>
fn float_empty<const D: usize>( shape: Shape<D>, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn float_add<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn float_add<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn float_add_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>
fn float_add_scalar<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn float_sub<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn float_sub<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn float_sub_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>
fn float_sub_scalar<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn float_mul<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn float_mul<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
Multiplies two tensors together element-wise.
sourcefn float_mul_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>
fn float_mul_scalar<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn float_div<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn float_div<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn float_div_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>
fn float_div_scalar<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn float_matmul<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn float_matmul<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn float_recip<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_recip<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
Calculates the reciprocals elementwise
sourcefn float_swap_dims<const D: usize>(
tensor: FloatTensor<B, D>,
dim1: usize,
dim2: usize
) -> FloatTensor<B, D>
fn float_swap_dims<const D: usize>( tensor: FloatTensor<B, D>, dim1: usize, dim2: usize ) -> FloatTensor<B, D>
sourcefn float_reshape<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
shape: Shape<D2>
) -> FloatTensor<B, D2>
fn float_reshape<const D1: usize, const D2: usize>( tensor: FloatTensor<B, D1>, shape: Shape<D2> ) -> FloatTensor<B, D2>
sourcefn float_gather<const D: usize>(
dim: usize,
tensor: FloatTensor<B, D>,
indices: IntTensor<B, D>
) -> FloatTensor<B, D>
fn float_gather<const D: usize>( dim: usize, tensor: FloatTensor<B, D>, indices: IntTensor<B, D> ) -> FloatTensor<B, D>
sourcefn float_scatter<const D: usize>(
dim: usize,
tensor: FloatTensor<B, D>,
indices: IntTensor<B, D>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn float_scatter<const D: usize>( dim: usize, tensor: FloatTensor<B, D>, indices: IntTensor<B, D>, value: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn float_select<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
indices: IntTensor<B, 1>
) -> FloatTensor<B, D>
fn float_select<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, indices: IntTensor<B, 1> ) -> FloatTensor<B, D>
sourcefn float_select_assign<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
indices: IntTensor<B, 1>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn float_select_assign<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, indices: IntTensor<B, 1>, value: FloatTensor<B, D> ) -> FloatTensor<B, D>
Assign the selected elements along the given dimension corresponding for the given indices to the given value.
§Arguments
tensor- The tensor to select from.dim- The dimension to select from.indices- The indices to select.value- The value to assign.
§Returns
The tensor with the selected elements assigned to the given value.
sourcefn float_slice<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
ranges: [Range<usize>; D2]
) -> FloatTensor<B, D1>
fn float_slice<const D1: usize, const D2: usize>( tensor: FloatTensor<B, D1>, ranges: [Range<usize>; D2] ) -> FloatTensor<B, D1>
sourcefn float_slice_assign<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
ranges: [Range<usize>; D2],
value: FloatTensor<B, D1>
) -> FloatTensor<B, D1>
fn float_slice_assign<const D1: usize, const D2: usize>( tensor: FloatTensor<B, D1>, ranges: [Range<usize>; D2], value: FloatTensor<B, D1> ) -> FloatTensor<B, D1>
sourcefn float_mask_where<const D: usize>(
tensor: FloatTensor<B, D>,
mask: BoolTensor<B, D>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn float_mask_where<const D: usize>( tensor: FloatTensor<B, D>, mask: BoolTensor<B, D>, value: FloatTensor<B, D> ) -> FloatTensor<B, D>
Update the given tensor with the value tensor where the mask is true.
§Arguments
tensor- The tensor to select from.mask- The boolean mask to select with.value- The value to assign to the selected elements from the value tensor.
§Returns
The tensor with the selected elements assigned to the given value.
sourcefn float_mask_fill<const D: usize>(
tensor: FloatTensor<B, D>,
mask: BoolTensor<B, D>,
value: FloatElem<B>
) -> FloatTensor<B, D>
fn float_mask_fill<const D: usize>( tensor: FloatTensor<B, D>, mask: BoolTensor<B, D>, value: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn float_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>
fn float_equal<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> BoolTensor<B, D>
sourcefn float_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>
fn float_equal_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> BoolTensor<B, D>
sourcefn float_greater<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>
fn float_greater<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> BoolTensor<B, D>
sourcefn float_greater_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>
fn float_greater_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> BoolTensor<B, D>
sourcefn float_greater_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>
fn float_greater_equal<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> BoolTensor<B, D>
sourcefn float_greater_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>
fn float_greater_equal_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> BoolTensor<B, D>
sourcefn float_lower<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>
fn float_lower<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> BoolTensor<B, D>
sourcefn float_lower_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>
fn float_lower_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> BoolTensor<B, D>
sourcefn float_lower_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>
fn float_lower_equal<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> BoolTensor<B, D>
sourcefn float_lower_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>
fn float_lower_equal_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> BoolTensor<B, D>
sourcefn float_sum<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
fn float_sum<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
sourcefn float_sum_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>
fn float_sum_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> FloatTensor<B, D>
sourcefn float_mean_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>
fn float_mean_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> FloatTensor<B, D>
sourcefn float_to_full_precision<const D: usize>(
tensor: &FloatTensor<B, D>
) -> FloatTensor<FullPrecisionBackend<B>, D>
fn float_to_full_precision<const D: usize>( tensor: &FloatTensor<B, D> ) -> FloatTensor<FullPrecisionBackend<B>, D>
sourcefn float_from_full_precision<const D: usize>(
tensor: FloatTensor<FullPrecisionBackend<B>, D>
) -> FloatTensor<B, D>
fn float_from_full_precision<const D: usize>( tensor: FloatTensor<FullPrecisionBackend<B>, D> ) -> FloatTensor<B, D>
sourcefn float_exp<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_exp<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn float_log<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_log<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn float_log1p<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_log1p<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn float_powf<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn float_powf<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn float_powf_scalar<const D: usize>(
tensor: FloatTensor<B, D>,
value: f32
) -> FloatTensor<B, D>
fn float_powf_scalar<const D: usize>( tensor: FloatTensor<B, D>, value: f32 ) -> FloatTensor<B, D>
sourcefn float_sqrt<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_sqrt<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn float_abs<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_abs<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn float_cos<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_cos<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn float_sin<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_sin<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn float_tanh<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_tanh<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn float_erf<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_erf<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn float_cat<const D: usize>(
tensors: Vec<FloatTensor<B, D>>,
dim: usize
) -> FloatTensor<B, D>
fn float_cat<const D: usize>( tensors: Vec<FloatTensor<B, D>>, dim: usize ) -> FloatTensor<B, D>
sourcefn float_argmax<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> IntTensor<B, D>
fn float_argmax<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> IntTensor<B, D>
sourcefn float_argmin<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> IntTensor<B, D>
fn float_argmin<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> IntTensor<B, D>
Provided Methods§
sourcefn float_zeros<const D: usize>(
shape: Shape<D>,
device: &Device<B>
) -> FloatTensor<B, D>
fn float_zeros<const D: usize>( shape: Shape<D>, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn float_ones<const D: usize>(
shape: Shape<D>,
device: &Device<B>
) -> FloatTensor<B, D>
fn float_ones<const D: usize>( shape: Shape<D>, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn float_full<const D: usize>(
shape: Shape<D>,
fill_value: FloatElem<B>,
device: &Device<B>
) -> FloatTensor<B, D>
fn float_full<const D: usize>( shape: Shape<D>, fill_value: FloatElem<B>, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn float_to_data<const D: usize>(
tensor: &FloatTensor<B, D>
) -> Reader<Data<FloatElem<B>, D>>
fn float_to_data<const D: usize>( tensor: &FloatTensor<B, D> ) -> Reader<Data<FloatElem<B>, D>>
sourcefn float_arange_step(
range: Range<usize>,
step: usize,
device: &Device<B>
) -> IntTensor<B, 1>
fn float_arange_step( range: Range<usize>, step: usize, device: &Device<B> ) -> IntTensor<B, 1>
sourcefn float_repeat<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
times: usize
) -> FloatTensor<B, D>
fn float_repeat<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, times: usize ) -> FloatTensor<B, D>
sourcefn float_clamp_min<const D: usize>(
tensor: FloatTensor<B, D>,
min: FloatElem<B>
) -> FloatTensor<B, D>
fn float_clamp_min<const D: usize>( tensor: FloatTensor<B, D>, min: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn float_clamp_max<const D: usize>(
tensor: FloatTensor<B, D>,
max: FloatElem<B>
) -> FloatTensor<B, D>
fn float_clamp_max<const D: usize>( tensor: FloatTensor<B, D>, max: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn float_clamp<const D: usize>(
tensor: FloatTensor<B, D>,
min: FloatElem<B>,
max: FloatElem<B>
) -> FloatTensor<B, D>
fn float_clamp<const D: usize>( tensor: FloatTensor<B, D>, min: FloatElem<B>, max: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn float_neg<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_neg<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
Negates a tensor element-wise.
sourcefn float_transpose<const D: usize>(
tensor: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn float_transpose<const D: usize>( tensor: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn float_detach<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_detach<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
Detaches a tensor from the computation graph.
sourcefn float_set_require_grad<const D: usize>(
tensor: FloatTensor<B, D>,
_require_grad: bool
) -> FloatTensor<B, D>
fn float_set_require_grad<const D: usize>( tensor: FloatTensor<B, D>, _require_grad: bool ) -> FloatTensor<B, D>
Sets the require_grad flag of a tensor.
sourcefn float_is_require_grad<const D: usize>(_tensor: &FloatTensor<B, D>) -> bool
fn float_is_require_grad<const D: usize>(_tensor: &FloatTensor<B, D>) -> bool
Returns the require_grad flag of a tensor.
sourcefn float_mean<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
fn float_mean<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
sourcefn float_powi<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: IntTensor<B, D>
) -> FloatTensor<B, D>
fn float_powi<const D: usize>( lhs: FloatTensor<B, D>, rhs: IntTensor<B, D> ) -> FloatTensor<B, D>
sourcefn float_powi_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: IntElem<B>
) -> FloatTensor<B, D>
fn float_powi_scalar<const D: usize>( lhs: FloatTensor<B, D>, rhs: IntElem<B> ) -> FloatTensor<B, D>
sourcefn float_max<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
fn float_max<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
sourcefn float_max_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>
fn float_max_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> FloatTensor<B, D>
sourcefn float_max_dim_with_indices<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> (FloatTensor<B, D>, IntTensor<B, D>)
fn float_max_dim_with_indices<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> (FloatTensor<B, D>, IntTensor<B, D>)
sourcefn float_min<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
fn float_min<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
sourcefn float_min_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>
fn float_min_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> FloatTensor<B, D>
sourcefn float_min_dim_with_indices<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> (FloatTensor<B, D>, IntTensor<B, D>)
fn float_min_dim_with_indices<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> (FloatTensor<B, D>, IntTensor<B, D>)
sourcefn float_narrow<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
start: usize,
length: usize
) -> FloatTensor<B, D>
fn float_narrow<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, start: usize, length: usize ) -> FloatTensor<B, D>
Returns a new tensor with the given dimension narrowed to the given range.
§Arguments
dim- The dimension along which the tensor will be narrowed.start- The starting point of the given range.length- The ending point of the given range.
§Panics
- If the dimension is greater than the number of dimensions of the tensor.
- If the given range exceeds the number of elements on the given dimension.
§Returns
A new tensor with the given dimension narrowed to the given range.
sourcefn float_chunk<const D: usize>(
tensor: FloatTensor<B, D>,
chunks: usize,
dim: usize
) -> Vec<FloatTensor<B, D>>
fn float_chunk<const D: usize>( tensor: FloatTensor<B, D>, chunks: usize, dim: usize ) -> Vec<FloatTensor<B, D>>
Object Safety§
This trait is not object safe.