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