Trait burn_tensor::ops::TensorOps
source · pub trait TensorOps<B: Backend> {
Show 78 methods
// Required methods
fn from_data<const D: usize>(
data: Data<FloatElem<B>, D>,
device: &Device<B>
) -> FloatTensor<B, D>;
fn random<const D: usize>(
shape: Shape<D>,
distribution: Distribution,
device: &Device<B>
) -> FloatTensor<B, D>;
fn shape<const D: usize>(tensor: &FloatTensor<B, D>) -> Shape<D>;
fn into_data<const D: usize>(
tensor: FloatTensor<B, D>
) -> Reader<Data<FloatElem<B>, D>>;
fn device<const D: usize>(tensor: &FloatTensor<B, D>) -> Device<B>;
fn to_device<const D: usize>(
tensor: FloatTensor<B, D>,
device: &Device<B>
) -> FloatTensor<B, D>;
fn into_int<const D: usize>(tensor: FloatTensor<B, D>) -> IntTensor<B, D>;
fn empty<const D: usize>(
shape: Shape<D>,
device: &Device<B>
) -> FloatTensor<B, D>;
fn add<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn add_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>;
fn sub<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn sub_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>;
fn mul<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn mul_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>;
fn div<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn div_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>;
fn matmul<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn recip<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn swap_dims<const D: usize>(
tensor: FloatTensor<B, D>,
dim1: usize,
dim2: usize
) -> FloatTensor<B, D>;
fn reshape<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
shape: Shape<D2>
) -> FloatTensor<B, D2>;
fn gather<const D: usize>(
dim: usize,
tensor: FloatTensor<B, D>,
indices: IntTensor<B, D>
) -> FloatTensor<B, D>;
fn scatter<const D: usize>(
dim: usize,
tensor: FloatTensor<B, D>,
indices: IntTensor<B, D>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn select<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
indices: IntTensor<B, 1>
) -> FloatTensor<B, D>;
fn select_assign<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
indices: IntTensor<B, 1>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn slice<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
ranges: [Range<usize>; D2]
) -> FloatTensor<B, D1>;
fn slice_assign<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
ranges: [Range<usize>; D2],
value: FloatTensor<B, D1>
) -> FloatTensor<B, D1>;
fn mask_where<const D: usize>(
tensor: FloatTensor<B, D>,
mask: BoolTensor<B, D>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>;
fn mask_fill<const D: usize>(
tensor: FloatTensor<B, D>,
mask: BoolTensor<B, D>,
value: FloatElem<B>
) -> FloatTensor<B, D>;
fn equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>;
fn equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>;
fn greater<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>;
fn greater_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>;
fn greater_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>;
fn greater_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>;
fn lower<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>;
fn lower_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>;
fn lower_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>;
fn lower_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>;
fn sum<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>;
fn sum_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>;
fn mean_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>;
fn to_full_precision<const D: usize>(
tensor: &FloatTensor<B, D>
) -> FloatTensor<FullPrecisionBackend<B>, D>;
fn from_full_precision<const D: usize>(
tensor: FloatTensor<FullPrecisionBackend<B>, D>
) -> FloatTensor<B, D>;
fn exp<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn log<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn log1p<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn powf<const D: usize>(
tensor: FloatTensor<B, D>,
value: f32
) -> FloatTensor<B, D>;
fn sqrt<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn abs<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn cos<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn sin<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn tanh<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn erf<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>;
fn cat<const D: usize>(
tensors: Vec<FloatTensor<B, D>>,
dim: usize
) -> FloatTensor<B, D>;
fn argmax<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> IntTensor<B, D>;
fn argmin<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> IntTensor<B, D>;
// Provided methods
fn zeros<const D: usize>(
shape: Shape<D>,
device: &Device<B>
) -> FloatTensor<B, D> { ... }
fn ones<const D: usize>(
shape: Shape<D>,
device: &Device<B>
) -> FloatTensor<B, D> { ... }
fn full<const D: usize>(
shape: Shape<D>,
fill_value: FloatElem<B>,
device: &Device<B>
) -> FloatTensor<B, D> { ... }
fn to_data<const D: usize>(
tensor: &FloatTensor<B, D>
) -> Reader<Data<FloatElem<B>, D>> { ... }
fn arange(range: Range<usize>, device: &Device<B>) -> IntTensor<B, 1> { ... }
fn arange_step(
range: Range<usize>,
step: usize,
device: &Device<B>
) -> IntTensor<B, 1> { ... }
fn repeat<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
times: usize
) -> FloatTensor<B, D> { ... }
fn clamp_min<const D: usize>(
tensor: FloatTensor<B, D>,
min: FloatElem<B>
) -> FloatTensor<B, D> { ... }
fn clamp_max<const D: usize>(
tensor: FloatTensor<B, D>,
max: FloatElem<B>
) -> FloatTensor<B, D> { ... }
fn clamp<const D: usize>(
tensor: FloatTensor<B, D>,
min: FloatElem<B>,
max: FloatElem<B>
) -> FloatTensor<B, D> { ... }
fn neg<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D> { ... }
fn transpose<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D> { ... }
fn detach<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D> { ... }
fn set_require_grad<const D: usize>(
tensor: FloatTensor<B, D>,
_require_grad: bool
) -> FloatTensor<B, D> { ... }
fn is_require_grad<const D: usize>(_tensor: &FloatTensor<B, D>) -> bool { ... }
fn mean<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1> { ... }
fn max<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1> { ... }
fn max_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D> { ... }
fn max_dim_with_indices<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> (FloatTensor<B, D>, IntTensor<B, D>) { ... }
fn min<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1> { ... }
fn min_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D> { ... }
fn min_dim_with_indices<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> (FloatTensor<B, D>, IntTensor<B, D>) { ... }
}Expand description
Operations on float tensors.
Required Methods§
sourcefn from_data<const D: usize>(
data: Data<FloatElem<B>, D>,
device: &Device<B>
) -> FloatTensor<B, D>
fn from_data<const D: usize>( data: Data<FloatElem<B>, D>, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn random<const D: usize>(
shape: Shape<D>,
distribution: Distribution,
device: &Device<B>
) -> FloatTensor<B, D>
fn random<const D: usize>( shape: Shape<D>, distribution: Distribution, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn shape<const D: usize>(tensor: &FloatTensor<B, D>) -> Shape<D>
fn shape<const D: usize>(tensor: &FloatTensor<B, D>) -> Shape<D>
sourcefn device<const D: usize>(tensor: &FloatTensor<B, D>) -> Device<B>
fn device<const D: usize>(tensor: &FloatTensor<B, D>) -> Device<B>
sourcefn to_device<const D: usize>(
tensor: FloatTensor<B, D>,
device: &Device<B>
) -> FloatTensor<B, D>
fn to_device<const D: usize>( tensor: FloatTensor<B, D>, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn into_int<const D: usize>(tensor: FloatTensor<B, D>) -> IntTensor<B, D>
fn into_int<const D: usize>(tensor: FloatTensor<B, D>) -> IntTensor<B, D>
sourcefn add<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn add<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn add_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>
fn add_scalar<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn sub<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn sub<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn sub_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>
fn sub_scalar<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn mul<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn mul<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
Multiplies two tensors together element-wise.
sourcefn mul_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>
fn mul_scalar<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn div<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn div<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn div_scalar<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> FloatTensor<B, D>
fn div_scalar<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn matmul<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn matmul<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn recip<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn recip<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
Calculates the reciprocals elementwise
sourcefn swap_dims<const D: usize>(
tensor: FloatTensor<B, D>,
dim1: usize,
dim2: usize
) -> FloatTensor<B, D>
fn swap_dims<const D: usize>( tensor: FloatTensor<B, D>, dim1: usize, dim2: usize ) -> FloatTensor<B, D>
sourcefn reshape<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
shape: Shape<D2>
) -> FloatTensor<B, D2>
fn reshape<const D1: usize, const D2: usize>( tensor: FloatTensor<B, D1>, shape: Shape<D2> ) -> FloatTensor<B, D2>
sourcefn gather<const D: usize>(
dim: usize,
tensor: FloatTensor<B, D>,
indices: IntTensor<B, D>
) -> FloatTensor<B, D>
fn gather<const D: usize>( dim: usize, tensor: FloatTensor<B, D>, indices: IntTensor<B, D> ) -> FloatTensor<B, D>
sourcefn scatter<const D: usize>(
dim: usize,
tensor: FloatTensor<B, D>,
indices: IntTensor<B, D>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn scatter<const D: usize>( dim: usize, tensor: FloatTensor<B, D>, indices: IntTensor<B, D>, value: FloatTensor<B, D> ) -> FloatTensor<B, D>
sourcefn select<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
indices: IntTensor<B, 1>
) -> FloatTensor<B, D>
fn select<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, indices: IntTensor<B, 1> ) -> FloatTensor<B, D>
sourcefn select_assign<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
indices: IntTensor<B, 1>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn 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 slice<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
ranges: [Range<usize>; D2]
) -> FloatTensor<B, D1>
fn slice<const D1: usize, const D2: usize>( tensor: FloatTensor<B, D1>, ranges: [Range<usize>; D2] ) -> FloatTensor<B, D1>
sourcefn slice_assign<const D1: usize, const D2: usize>(
tensor: FloatTensor<B, D1>,
ranges: [Range<usize>; D2],
value: FloatTensor<B, D1>
) -> FloatTensor<B, D1>
fn slice_assign<const D1: usize, const D2: usize>( tensor: FloatTensor<B, D1>, ranges: [Range<usize>; D2], value: FloatTensor<B, D1> ) -> FloatTensor<B, D1>
sourcefn mask_where<const D: usize>(
tensor: FloatTensor<B, D>,
mask: BoolTensor<B, D>,
value: FloatTensor<B, D>
) -> FloatTensor<B, D>
fn 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 mask_fill<const D: usize>(
tensor: FloatTensor<B, D>,
mask: BoolTensor<B, D>,
value: FloatElem<B>
) -> FloatTensor<B, D>
fn mask_fill<const D: usize>( tensor: FloatTensor<B, D>, mask: BoolTensor<B, D>, value: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>
fn equal<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> BoolTensor<B, D>
sourcefn equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>
fn equal_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> BoolTensor<B, D>
sourcefn greater<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>
fn greater<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> BoolTensor<B, D>
sourcefn greater_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>
fn greater_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> BoolTensor<B, D>
sourcefn greater_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>
fn greater_equal<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> BoolTensor<B, D>
sourcefn greater_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>
fn greater_equal_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> BoolTensor<B, D>
sourcefn lower<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>
fn lower<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> BoolTensor<B, D>
sourcefn lower_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>
fn lower_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> BoolTensor<B, D>
sourcefn lower_equal<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatTensor<B, D>
) -> BoolTensor<B, D>
fn lower_equal<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatTensor<B, D> ) -> BoolTensor<B, D>
sourcefn lower_equal_elem<const D: usize>(
lhs: FloatTensor<B, D>,
rhs: FloatElem<B>
) -> BoolTensor<B, D>
fn lower_equal_elem<const D: usize>( lhs: FloatTensor<B, D>, rhs: FloatElem<B> ) -> BoolTensor<B, D>
sourcefn sum<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
fn sum<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
sourcefn sum_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>
fn sum_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> FloatTensor<B, D>
sourcefn mean_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>
fn mean_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> FloatTensor<B, D>
sourcefn to_full_precision<const D: usize>(
tensor: &FloatTensor<B, D>
) -> FloatTensor<FullPrecisionBackend<B>, D>
fn to_full_precision<const D: usize>( tensor: &FloatTensor<B, D> ) -> FloatTensor<FullPrecisionBackend<B>, D>
sourcefn from_full_precision<const D: usize>(
tensor: FloatTensor<FullPrecisionBackend<B>, D>
) -> FloatTensor<B, D>
fn from_full_precision<const D: usize>( tensor: FloatTensor<FullPrecisionBackend<B>, D> ) -> FloatTensor<B, D>
sourcefn exp<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn exp<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn log<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn log<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn log1p<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn log1p<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn powf<const D: usize>(
tensor: FloatTensor<B, D>,
value: f32
) -> FloatTensor<B, D>
fn powf<const D: usize>( tensor: FloatTensor<B, D>, value: f32 ) -> FloatTensor<B, D>
sourcefn sqrt<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn sqrt<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn abs<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn abs<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn cos<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn cos<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn sin<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn sin<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn tanh<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn tanh<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn erf<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn erf<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn cat<const D: usize>(
tensors: Vec<FloatTensor<B, D>>,
dim: usize
) -> FloatTensor<B, D>
fn cat<const D: usize>( tensors: Vec<FloatTensor<B, D>>, dim: usize ) -> FloatTensor<B, D>
Provided Methods§
sourcefn full<const D: usize>(
shape: Shape<D>,
fill_value: FloatElem<B>,
device: &Device<B>
) -> FloatTensor<B, D>
fn full<const D: usize>( shape: Shape<D>, fill_value: FloatElem<B>, device: &Device<B> ) -> FloatTensor<B, D>
sourcefn repeat<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize,
times: usize
) -> FloatTensor<B, D>
fn repeat<const D: usize>( tensor: FloatTensor<B, D>, dim: usize, times: usize ) -> FloatTensor<B, D>
sourcefn clamp_min<const D: usize>(
tensor: FloatTensor<B, D>,
min: FloatElem<B>
) -> FloatTensor<B, D>
fn clamp_min<const D: usize>( tensor: FloatTensor<B, D>, min: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn clamp_max<const D: usize>(
tensor: FloatTensor<B, D>,
max: FloatElem<B>
) -> FloatTensor<B, D>
fn clamp_max<const D: usize>( tensor: FloatTensor<B, D>, max: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn clamp<const D: usize>(
tensor: FloatTensor<B, D>,
min: FloatElem<B>,
max: FloatElem<B>
) -> FloatTensor<B, D>
fn clamp<const D: usize>( tensor: FloatTensor<B, D>, min: FloatElem<B>, max: FloatElem<B> ) -> FloatTensor<B, D>
sourcefn neg<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn neg<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
Negates a tensor element-wise.
sourcefn transpose<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn transpose<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
sourcefn detach<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
fn detach<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, D>
Detaches a tensor from the computation graph.
sourcefn set_require_grad<const D: usize>(
tensor: FloatTensor<B, D>,
_require_grad: bool
) -> FloatTensor<B, D>
fn 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 is_require_grad<const D: usize>(_tensor: &FloatTensor<B, D>) -> bool
fn is_require_grad<const D: usize>(_tensor: &FloatTensor<B, D>) -> bool
Returns the require_grad flag of a tensor.
sourcefn mean<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
fn mean<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
sourcefn max<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
fn max<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
sourcefn max_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>
fn max_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> FloatTensor<B, D>
sourcefn max_dim_with_indices<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> (FloatTensor<B, D>, IntTensor<B, D>)
fn max_dim_with_indices<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> (FloatTensor<B, D>, IntTensor<B, D>)
sourcefn min<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
fn min<const D: usize>(tensor: FloatTensor<B, D>) -> FloatTensor<B, 1>
sourcefn min_dim<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> FloatTensor<B, D>
fn min_dim<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> FloatTensor<B, D>
sourcefn min_dim_with_indices<const D: usize>(
tensor: FloatTensor<B, D>,
dim: usize
) -> (FloatTensor<B, D>, IntTensor<B, D>)
fn min_dim_with_indices<const D: usize>( tensor: FloatTensor<B, D>, dim: usize ) -> (FloatTensor<B, D>, IntTensor<B, D>)
Object Safety§
This trait is not object safe.