Trait burn_tensor::ops::FloatTensorOps
source · pub trait FloatTensorOps<B: Backend> {
Show 96 methods
// Required methods
fn float_from_data<const D: usize>(
data: TensorData,
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>,
) -> impl Future<Output = TensorData> + Send;
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_remainder_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_permute<const D: usize>(
tensor: FloatTensor<B, D>,
axes: [usize; D],
) -> FloatTensor<B, D>;
fn float_flip<const D: usize>(
tensor: FloatTensor<B, D>,
axes: &[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_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_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>;
fn float_expand<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
shape: Shape<D2>,
) -> FloatTensor<B, D2>;
// 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_repeat_dim<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_not_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>,
) -> BoolTensor<B, D> { ... }
fn float_not_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>,
) -> BoolTensor<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_prod<const D: usize>(
tensor: FloatTensor<B, D>,
) -> FloatTensor<B, 1> { ... }
fn float_prod_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
) -> FloatTensor<B, D> { ... }
fn float_mean<const D: usize>(
tensor: FloatTensor<B, D>,
) -> FloatTensor<B, 1> { ... }
fn float_into_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_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_cat<const D: usize>(
tensors: Vec<FloatTensor<B, D>>,
dim: usize,
) -> 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>> { ... }
fn float_any<const D: usize>(tensor: FloatTensor<B, D>) -> BoolTensor<B, 1> { ... }
fn float_any_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
) -> BoolTensor<B, D> { ... }
fn float_all<const D: usize>(tensor: FloatTensor<B, D>) -> BoolTensor<B, 1> { ... }
fn float_all_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
) -> BoolTensor<B, D> { ... }
fn float_sign<const D: usize>(
tensor: FloatTensor<B, D>,
) -> FloatTensor<B, D> { ... }
fn float_sort<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
descending: bool,
) -> FloatTensor<B, D> { ... }
fn float_sort_with_indices<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
descending: bool,
) -> (FloatTensor<B, D>, IntTensor<B, D>) { ... }
fn float_argsort<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
descending: bool,
) -> IntTensor<B, D> { ... }
}
Expand description
Operations on float tensors.
Required Methods§
sourcefn float_from_data<const D: usize>(
data: TensorData,
device: &Device<B>,
) -> FloatTensor<B, D>
fn float_from_data<const D: usize>( data: TensorData, 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>,
) -> impl Future<Output = TensorData> + Send
fn float_into_data<const D: usize>( tensor: FloatTensor<B, D>, ) -> impl Future<Output = TensorData> + Send
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_remainder_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>,
) -> FloatTensor<B, D>
fn float_remainder_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 element-wise
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_permute<const D: usize>(
tensor: FloatTensor<B, D>,
axes: [usize; D],
) -> FloatTensor<B, D>
fn float_permute<const D: usize>( tensor: FloatTensor<B, D>, axes: [usize; D], ) -> FloatTensor<B, D>
sourcefn float_flip<const D: usize>(
tensor: FloatTensor<B, D>,
axes: &[usize],
) -> FloatTensor<B, D>
fn float_flip<const D: usize>( tensor: FloatTensor<B, D>, axes: &[usize], ) -> FloatTensor<B, D>
Reverse the order of elements in a tensor along the given axes.
§Arguments
tensor
- The tensor to reverse.axes
- The axes to reverse.
The tensor with the elements reversed.
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_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_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>
sourcefn float_expand<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
shape: Shape<D2>,
) -> FloatTensor<B, D2>
fn float_expand<const D1: usize, const D2: usize>( tensor: FloatTensor<B, D1>, shape: Shape<D2>, ) -> FloatTensor<B, D2>
Broadcasts the float tensor
to the given shape
.
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_repeat_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
times: usize,
) -> FloatTensor<B, D>
fn float_repeat_dim<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_not_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>,
) -> BoolTensor<B, D>
fn float_not_equal<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D>, ) -> BoolTensor<B, D>
sourcefn float_not_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>,
) -> BoolTensor<B, D>
fn float_not_equal_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B>, ) -> BoolTensor<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_prod<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
fn float_prod<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
sourcefn float_prod_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
) -> FloatTensor<B, D>
fn float_prod_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, ) -> FloatTensor<B, D>
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_into_full_precision<const D: usize>(
tensor: FloatTensor<B, D>,
) -> FloatTensor<FullPrecisionBackend<B>, D>
fn float_into_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_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_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_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>>
sourcefn float_any<const D: usize>(tensor: FloatTensor<B, D>) -> BoolTensor<B, 1>
fn float_any<const D: usize>(tensor: FloatTensor<B, D>) -> BoolTensor<B, 1>
sourcefn float_any_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
) -> BoolTensor<B, D>
fn float_any_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, ) -> BoolTensor<B, D>
Tests if any element in the float tensor
evaluates to True along a given dimension dim
.
§Arguments
tensor
- The tensor to test.dim
- The axis along which to test.
§Returns
A boolean tensor Tensor<B, D, Bool>
with the same size as input tensor
, except in the dim
axis
where the size is 1. The elem in the dim
axis is True if any element along this dim in the
input evaluates to True, False otherwise.
sourcefn float_all<const D: usize>(tensor: FloatTensor<B, D>) -> BoolTensor<B, 1>
fn float_all<const D: usize>(tensor: FloatTensor<B, D>) -> BoolTensor<B, 1>
sourcefn float_all_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
) -> BoolTensor<B, D>
fn float_all_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, ) -> BoolTensor<B, D>
Tests if all elements in the float tensor
evaluate to True along a given dimension dim
.
§Arguments
tensor
- The tensor to test.dim
- The axis along which to test.
§Returns
A boolean tensor Tensor<B, D, Bool>
with the same size as input tensor
, except in the dim
axis
where the size is 1. The elem in the dim
axis is True if all elements along this dim in the input
evaluates to True, False otherwise.
sourcefn float_sign<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn float_sign<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn float_sort<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
descending: bool,
) -> FloatTensor<B, D>
fn float_sort<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, descending: bool, ) -> FloatTensor<B, D>
Sort the elements of the input tensor
by value in along a given dimension.
This sort is unstable (i.e., may reorder equal elements).
§Arguments
tensor
- The input tensor.dim
- The axis along which to sort.descending
- The sorting order.
§Returns
A tensor with the same shape as the input tensor, where the elements are sorted by value.
sourcefn float_sort_with_indices<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
descending: bool,
) -> (FloatTensor<B, D>, IntTensor<B, D>)
fn float_sort_with_indices<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, descending: bool, ) -> (FloatTensor<B, D>, IntTensor<B, D>)
Sort the elements of the input tensor
by value in along a given dimension.
This sort is unstable (i.e., may reorder equal elements).
§Arguments
tensor
- The input tensor.dim
- The axis along which to sort.descending
- The sorting order.
§Returns
A tensor with the same shape as the input tensor and corresponding indices, where the elements are sorted by value and the indices map back to the original input tensor.
sourcefn float_argsort<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
descending: bool,
) -> IntTensor<B, D>
fn float_argsort<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, descending: bool, ) -> IntTensor<B, D>
Returns the indices that sort the elements of the input tensor
by value along a given dimension.
This sort is unstable (i.e., may reorder equal elements).
§Arguments
tensor
- The input tensor.dim
- The axis along which to sort.descending
- The sorting order.
§Returns
A tensor with the same shape as the input tensor the indices map back to the original input tensor.