Struct burn_wgpu::WgpuBackend
source · pub struct WgpuBackend<G: GraphicsApi, F: FloatElement, I: IntElement> { /* private fields */ }Expand description
Wgpu backend.
Trait Implementations§
source§impl<G, F, I> ActivationOps<WgpuBackend<G, F, I>> for WgpuBackend<G, F, I>where
G: GraphicsApi + 'static,
F: FloatElement,
I: IntElement,
impl<G, F, I> ActivationOps<WgpuBackend<G, F, I>> for WgpuBackend<G, F, I>where G: GraphicsApi + 'static, F: FloatElement, I: IntElement,
source§fn relu<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn relu<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Applies the ReLU activation function. Read more
source§fn relu_backward<const D: usize>(
output: <B as Backend>::TensorPrimitive<D>,
grad: <B as Backend>::TensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<D>
fn relu_backward<const D: usize>( output: <B as Backend>::TensorPrimitive<D>, grad: <B as Backend>::TensorPrimitive<D> ) -> <B as Backend>::TensorPrimitive<D>
Applies the ReLU activation function backward. Read more
source§fn gelu<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<D>
fn gelu<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D> ) -> <B as Backend>::TensorPrimitive<D>
Applies the Gelu activation function. Read more
source§fn gelu_backward<const D: usize>(
x: <B as Backend>::TensorPrimitive<D>,
grad: <B as Backend>::TensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<D>
fn gelu_backward<const D: usize>( x: <B as Backend>::TensorPrimitive<D>, grad: <B as Backend>::TensorPrimitive<D> ) -> <B as Backend>::TensorPrimitive<D>
Applies the Gelu activation function backward. Read more
source§impl<G: GraphicsApi + 'static, F: FloatElement, I: IntElement> Backend for WgpuBackend<G, F, I>
impl<G: GraphicsApi + 'static, F: FloatElement, I: IntElement> Backend for WgpuBackend<G, F, I>
§type Device = WgpuDevice
type Device = WgpuDevice
Device type.
§type FullPrecisionBackend = WgpuBackend<G, f32, i32>
type FullPrecisionBackend = WgpuBackend<G, f32, i32>
Pointer to another backend that have a full precision float element type
§type FullPrecisionElem = f32
type FullPrecisionElem = f32
Full precision float element type.
§type TensorPrimitive<const D: usize> = WgpuTensor<F, D>
type TensorPrimitive<const D: usize> = WgpuTensor<F, D>
Tensor primitive to be used for all float operations.
§type IntTensorPrimitive<const D: usize> = WgpuTensor<I, D>
type IntTensorPrimitive<const D: usize> = WgpuTensor<I, D>
Tensor primitive to be used for all int operations.
§type BoolTensorPrimitive<const D: usize> = WgpuTensor<u32, D>
type BoolTensorPrimitive<const D: usize> = WgpuTensor<u32, D>
Tensor primitive to be used for all bool operations.
source§fn ad_enabled() -> bool
fn ad_enabled() -> bool
If autodiff is enabled.
source§impl<G, F, I> BoolTensorOps<WgpuBackend<G, F, I>> for WgpuBackend<G, F, I>where
G: GraphicsApi + 'static,
F: FloatElement,
I: IntElement,
impl<G, F, I> BoolTensorOps<WgpuBackend<G, F, I>> for WgpuBackend<G, F, I>where G: GraphicsApi + 'static, F: FloatElement, I: IntElement,
source§fn bool_empty<const D: usize>(
shape: Shape<D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn bool_empty<const D: usize>( shape: Shape<D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::BoolTensorPrimitive<D>
Creates a new bool tensor. Read more
source§fn bool_shape<const D: usize>(
tensor: &<Self as Backend>::BoolTensorPrimitive<D>
) -> Shape<D>
fn bool_shape<const D: usize>( tensor: &<Self as Backend>::BoolTensorPrimitive<D> ) -> Shape<D>
Returns the shape of the tensor. Read more
source§fn bool_into_data<const D: usize>(
tensor: <Self as Backend>::BoolTensorPrimitive<D>
) -> Reader<Data<bool, D>>
fn bool_into_data<const D: usize>( tensor: <Self as Backend>::BoolTensorPrimitive<D> ) -> Reader<Data<bool, D>>
Converts the tensor to a data structure. Read more
source§fn bool_from_data<const D: usize>(
data: Data<bool, D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn bool_from_data<const D: usize>( data: Data<bool, D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::BoolTensorPrimitive<D>
Creates a tensor from the data structure. Read more
source§fn bool_into_int<const D: usize>(
tensor: <Self as Backend>::BoolTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn bool_into_int<const D: usize>( tensor: <Self as Backend>::BoolTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Converts bool tensor to int tensor. Read more
source§fn bool_device<const D: usize>(
tensor: &<Self as Backend>::BoolTensorPrimitive<D>
) -> <Self as Backend>::Device
fn bool_device<const D: usize>( tensor: &<Self as Backend>::BoolTensorPrimitive<D> ) -> <Self as Backend>::Device
Gets the device of the tensor. Read more
source§fn bool_to_device<const D: usize>(
tensor: <Self as Backend>::BoolTensorPrimitive<D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn bool_to_device<const D: usize>( tensor: <Self as Backend>::BoolTensorPrimitive<D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::BoolTensorPrimitive<D>
Moves the tensor to the device.
source§fn bool_reshape<const D1: usize, const D2: usize>(
tensor: <Self as Backend>::BoolTensorPrimitive<D>,
shape: Shape<D2>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn bool_reshape<const D1: usize, const D2: usize>( tensor: <Self as Backend>::BoolTensorPrimitive<D>, shape: Shape<D2> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Reshapes the tensor. Read more
source§fn bool_slice<const D1: usize, const D2: usize>(
tensor: <Self as Backend>::BoolTensorPrimitive<D>,
ranges: [Range<usize>; D2]
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn bool_slice<const D1: usize, const D2: usize>( tensor: <Self as Backend>::BoolTensorPrimitive<D>, ranges: [Range<usize>; D2] ) -> <Self as Backend>::BoolTensorPrimitive<D>
Gets the values from the tensor for the given ranges. Read more
source§fn bool_slice_assign<const D1: usize, const D2: usize>(
tensor: <Self as Backend>::BoolTensorPrimitive<D>,
ranges: [Range<usize>; D2],
value: <Self as Backend>::BoolTensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn bool_slice_assign<const D1: usize, const D2: usize>( tensor: <Self as Backend>::BoolTensorPrimitive<D>, ranges: [Range<usize>; D2], value: <Self as Backend>::BoolTensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Sets the values in the tensor for the given ranges. Read more
source§fn bool_cat<const D: usize>(
tensors: Vec<<Self as Backend>::BoolTensorPrimitive<D>>,
dim: usize
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn bool_cat<const D: usize>( tensors: Vec<<Self as Backend>::BoolTensorPrimitive<D>>, dim: usize ) -> <Self as Backend>::BoolTensorPrimitive<D>
Concatenates the tensors along the given dimension. Read more
source§fn bool_equal<const D: usize>(
lhs: <Self as Backend>::BoolTensorPrimitive<D>,
rhs: <Self as Backend>::BoolTensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn bool_equal<const D: usize>( lhs: <Self as Backend>::BoolTensorPrimitive<D>, rhs: <Self as Backend>::BoolTensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Equates the two tensors. Read more
source§fn bool_not<const D: usize>(
tensor: <Self as Backend>::BoolTensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn bool_not<const D: usize>( tensor: <Self as Backend>::BoolTensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Inverses boolean values. Read more
source§fn bool_into_float<const D: usize>(
tensor: <Self as Backend>::BoolTensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn bool_into_float<const D: usize>( tensor: <Self as Backend>::BoolTensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Converts bool tensor to float tensor. Read more
source§fn bool_swap_dims<const D: usize>(
tensor: <Self as Backend>::BoolTensorPrimitive<D>,
dim1: usize,
dim2: usize
) -> <WgpuBackend<G, F, I> as Backend>::BoolTensorPrimitive<D>
fn bool_swap_dims<const D: usize>( tensor: <Self as Backend>::BoolTensorPrimitive<D>, dim1: usize, dim2: usize ) -> <WgpuBackend<G, F, I> as Backend>::BoolTensorPrimitive<D>
Swaps two dimensions of a bool tensor. Read more
source§fn bool_to_data<const D: usize>(
tensor: &<B as Backend>::BoolTensorPrimitive<D>
) -> Reader<Data<bool, D>>
fn bool_to_data<const D: usize>( tensor: &<B as Backend>::BoolTensorPrimitive<D> ) -> Reader<Data<bool, D>>
Gets the data from the tensor. Read more
source§fn bool_repeat<const D: usize>(
tensor: <B as Backend>::BoolTensorPrimitive<D>,
dim: usize,
times: usize
) -> <B as Backend>::BoolTensorPrimitive<D>
fn bool_repeat<const D: usize>( tensor: <B as Backend>::BoolTensorPrimitive<D>, dim: usize, times: usize ) -> <B as Backend>::BoolTensorPrimitive<D>
Repeats one dimension of the tensor a given number of times along that dimension. Read more
source§fn bool_transpose<const D: usize>(
tensor: <B as Backend>::BoolTensorPrimitive<D>
) -> <B as Backend>::BoolTensorPrimitive<D>
fn bool_transpose<const D: usize>( tensor: <B as Backend>::BoolTensorPrimitive<D> ) -> <B as Backend>::BoolTensorPrimitive<D>
Transposes a bool tensor. Read more
source§impl<G: Clone + GraphicsApi, F: Clone + FloatElement, I: Clone + IntElement> Clone for WgpuBackend<G, F, I>
impl<G: Clone + GraphicsApi, F: Clone + FloatElement, I: Clone + IntElement> Clone for WgpuBackend<G, F, I>
source§fn clone(&self) -> WgpuBackend<G, F, I>
fn clone(&self) -> WgpuBackend<G, F, I>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl<G: Debug + GraphicsApi, F: Debug + FloatElement, I: Debug + IntElement> Debug for WgpuBackend<G, F, I>
impl<G: Debug + GraphicsApi, F: Debug + FloatElement, I: Debug + IntElement> Debug for WgpuBackend<G, F, I>
source§impl<G: Default + GraphicsApi, F: Default + FloatElement, I: Default + IntElement> Default for WgpuBackend<G, F, I>
impl<G: Default + GraphicsApi, F: Default + FloatElement, I: Default + IntElement> Default for WgpuBackend<G, F, I>
source§fn default() -> WgpuBackend<G, F, I>
fn default() -> WgpuBackend<G, F, I>
Returns the “default value” for a type. Read more
source§impl<G, F, I> IntTensorOps<WgpuBackend<G, F, I>> for WgpuBackend<G, F, I>where
G: GraphicsApi + 'static,
F: FloatElement,
I: IntElement,
impl<G, F, I> IntTensorOps<WgpuBackend<G, F, I>> for WgpuBackend<G, F, I>where G: GraphicsApi + 'static, F: FloatElement, I: IntElement,
source§fn int_empty<const D: usize>(
shape: Shape<D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_empty<const D: usize>( shape: Shape<D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::IntTensorPrimitive<D>
Creates a new int tensor. Read more
source§fn int_shape<const D: usize>(
tensor: &<Self as Backend>::IntTensorPrimitive<D>
) -> Shape<D>
fn int_shape<const D: usize>( tensor: &<Self as Backend>::IntTensorPrimitive<D> ) -> Shape<D>
Returns the shape of the tensor. Read more
source§fn int_into_data<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>
) -> Reader<Data<I, D>>
fn int_into_data<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D> ) -> Reader<Data<I, D>>
Converts the tensor to a data structure. Read more
source§fn int_from_data<const D: usize>(
data: Data<I, D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_from_data<const D: usize>( data: Data<I, D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::IntTensorPrimitive<D>
Creates a tensor from the data structure. Read more
source§fn int_device<const D: usize>(
tensor: &<Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::Device
fn int_device<const D: usize>( tensor: &<Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::Device
Gets the device of the tensor. Read more
source§fn int_to_device<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_to_device<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::IntTensorPrimitive<D>
Moves the tensor to the given device.
source§fn int_reshape<const D1: usize, const D2: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
shape: Shape<D2>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_reshape<const D1: usize, const D2: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, shape: Shape<D2> ) -> <Self as Backend>::IntTensorPrimitive<D>
Reshapes the tensor. Read more
source§fn int_slice<const D1: usize, const D2: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
ranges: [Range<usize>; D2]
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_slice<const D1: usize, const D2: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, ranges: [Range<usize>; D2] ) -> <Self as Backend>::IntTensorPrimitive<D>
Gets the element at the given indices. Read more
source§fn int_slice_assign<const D1: usize, const D2: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
ranges: [Range<usize>; D2],
value: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_slice_assign<const D1: usize, const D2: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, ranges: [Range<usize>; D2], value: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Sets the element at the given indices. Read more
source§fn int_mask_where<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
mask: <Self as Backend>::BoolTensorPrimitive<D>,
value: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_mask_where<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, mask: <Self as Backend>::BoolTensorPrimitive<D>, value: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Fills the tensor with values from the source tensor if the mask is true at the given
indices. Read more
source§fn int_mask_fill<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
mask: <Self as Backend>::BoolTensorPrimitive<D>,
value: <Self as Backend>::IntElem
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_mask_fill<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, mask: <Self as Backend>::BoolTensorPrimitive<D>, value: <Self as Backend>::IntElem ) -> <Self as Backend>::IntTensorPrimitive<D>
Fills the tensor with the given value if the mask is true at the given indices. Read more
source§fn int_gather<const D: usize>(
dim: usize,
tensor: <Self as Backend>::IntTensorPrimitive<D>,
indices: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_gather<const D: usize>( dim: usize, tensor: <Self as Backend>::IntTensorPrimitive<D>, indices: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Gather elements from the tensor at the given indices. Read more
source§fn int_scatter<const D: usize>(
dim: usize,
tensor: <Self as Backend>::IntTensorPrimitive<D>,
indices: <Self as Backend>::IntTensorPrimitive<D>,
value: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_scatter<const D: usize>( dim: usize, tensor: <Self as Backend>::IntTensorPrimitive<D>, indices: <Self as Backend>::IntTensorPrimitive<D>, value: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Scatter a given value to the tensor at the given indices. Read more
source§fn int_select<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
dim: usize,
indices: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_select<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, dim: usize, indices: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Select tensor elements along the given dimension corresponding to the given indices. Read more
source§fn int_select_assign<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
dim: usize,
indices: <Self as Backend>::IntTensorPrimitive<D>,
value: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_select_assign<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, dim: usize, indices: <Self as Backend>::IntTensorPrimitive<D>, value: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Assign the selected elements along the given dimension corresponding to the given indices
to the given value. Read more
source§fn int_cat<const D: usize>(
tensors: Vec<<Self as Backend>::IntTensorPrimitive<D>>,
dim: usize
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_cat<const D: usize>( tensors: Vec<<Self as Backend>::IntTensorPrimitive<D>>, dim: usize ) -> <Self as Backend>::IntTensorPrimitive<D>
Concatenates the given tensors along the given dimension. Read more
source§fn int_equal<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn int_equal<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Elementwise equality comparison. Read more
source§fn int_equal_elem<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntElem
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn int_equal_elem<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntElem ) -> <Self as Backend>::BoolTensorPrimitive<D>
Elementwise equality comparison with a scalar. Read more
source§fn int_greater<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn int_greater<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Elementwise greater than comparison. Read more
source§fn int_greater_elem<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntElem
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn int_greater_elem<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntElem ) -> <Self as Backend>::BoolTensorPrimitive<D>
Elementwise greater than comparison with a scalar. Read more
source§fn int_greater_equal<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn int_greater_equal<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Elementwise greater than or equal comparison. Read more
source§fn int_greater_equal_elem<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntElem
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn int_greater_equal_elem<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntElem ) -> <Self as Backend>::BoolTensorPrimitive<D>
Elementwise greater than or equal comparison with a scalar. Read more
source§fn int_lower<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn int_lower<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Elementwise less than comparison. Read more
source§fn int_lower_elem<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntElem
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn int_lower_elem<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntElem ) -> <Self as Backend>::BoolTensorPrimitive<D>
Elementwise less than comparison with a scalar. Read more
source§fn int_lower_equal<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn int_lower_equal<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Elementwise less than or equal comparison. Read more
source§fn int_lower_equal_elem<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntElem
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn int_lower_equal_elem<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntElem ) -> <Self as Backend>::BoolTensorPrimitive<D>
Elementwise less than or equal comparison with a scalar. Read more
source§fn int_add<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_add<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Elementwise addition. Read more
source§fn int_add_scalar<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntElem
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_add_scalar<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntElem ) -> <Self as Backend>::IntTensorPrimitive<D>
Elementwise addition with a scalar. Read more
source§fn int_sub<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_sub<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Elementwise subtraction. Read more
source§fn int_sub_scalar<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntElem
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_sub_scalar<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntElem ) -> <Self as Backend>::IntTensorPrimitive<D>
Elementwise subtraction with a scalar. Read more
source§fn int_mul<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_mul<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Elementwise multiplication. Read more
source§fn int_mul_scalar<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntElem
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_mul_scalar<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntElem ) -> <Self as Backend>::IntTensorPrimitive<D>
Elementwise multiplication with a scalar. Read more
source§fn int_div<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_div<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Elementwise division. Read more
source§fn int_div_scalar<const D: usize>(
lhs: <Self as Backend>::IntTensorPrimitive<D>,
rhs: <Self as Backend>::IntElem
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_div_scalar<const D: usize>( lhs: <Self as Backend>::IntTensorPrimitive<D>, rhs: <Self as Backend>::IntElem ) -> <Self as Backend>::IntTensorPrimitive<D>
Elementwise division with a scalar. Read more
source§fn int_zeros<const D: usize>(
shape: Shape<D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_zeros<const D: usize>( shape: Shape<D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::IntTensorPrimitive<D>
Creates a tensor of zeros. Read more
source§fn int_ones<const D: usize>(
shape: Shape<D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_ones<const D: usize>( shape: Shape<D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::IntTensorPrimitive<D>
Creates a tensor of ones. Read more
source§fn int_sum<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_sum<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Sums all elements in the tensor. Read more
source§fn int_sum_dim<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_sum_dim<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, dim: usize ) -> <Self as Backend>::IntTensorPrimitive<D>
Sums all elements in the tensor along a dimension. Read more
source§fn int_mean_dim<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_mean_dim<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, dim: usize ) -> <Self as Backend>::IntTensorPrimitive<D>
Computes the mean of all elements in the tensor along a dimension. Read more
source§fn int_argmax<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_argmax<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, dim: usize ) -> <Self as Backend>::IntTensorPrimitive<D>
Gets the indices of the maximum elements along a dimension. Read more
source§fn int_argmin<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_argmin<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, dim: usize ) -> <Self as Backend>::IntTensorPrimitive<D>
Gets the indices of the minimum elements along a dimension. Read more
source§fn int_clamp_min<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
min: <Self as Backend>::IntElem
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_clamp_min<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, min: <Self as Backend>::IntElem ) -> <Self as Backend>::IntTensorPrimitive<D>
Clamps a tensor under a minimum value. Read more
source§fn int_clamp_max<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
max: <Self as Backend>::IntElem
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_clamp_max<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, max: <Self as Backend>::IntElem ) -> <Self as Backend>::IntTensorPrimitive<D>
Clamps a tensor over a maximum value. Read more
source§fn int_clamp<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
min: <Self as Backend>::IntElem,
max: <Self as Backend>::IntElem
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_clamp<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, min: <Self as Backend>::IntElem, max: <Self as Backend>::IntElem ) -> <Self as Backend>::IntTensorPrimitive<D>
Clamps a tensor between a minimum and maximum value. Read more
source§fn int_abs<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_abs<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Returns a new tensor with absolute values. Read more
source§fn int_into_float<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn int_into_float<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Converts int tensor to float tensor. Read more
source§fn int_swap_dims<const D: usize>(
tensor: <Self as Backend>::IntTensorPrimitive<D>,
dim1: usize,
dim2: usize
) -> <Self as Backend>::IntTensorPrimitive<D>
fn int_swap_dims<const D: usize>( tensor: <Self as Backend>::IntTensorPrimitive<D>, dim1: usize, dim2: usize ) -> <Self as Backend>::IntTensorPrimitive<D>
Swaps two dimensions of an int tensor. Read more
source§fn int_to_data<const D: usize>(
tensor: &<B as Backend>::IntTensorPrimitive<D>
) -> Reader<Data<<B as Backend>::IntElem, D>>
fn int_to_data<const D: usize>( tensor: &<B as Backend>::IntTensorPrimitive<D> ) -> Reader<Data<<B as Backend>::IntElem, D>>
Gets the data from the tensor. Read more
source§fn int_repeat<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize,
times: usize
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_repeat<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D>, dim: usize, times: usize ) -> <B as Backend>::IntTensorPrimitive<D>
Repeats the tensor along the given dimension the given number of times. Read more
source§fn int_neg<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_neg<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D> ) -> <B as Backend>::IntTensorPrimitive<D>
Elementwise negation. Read more
source§fn int_full<const D: usize>(
shape: Shape<D>,
fill_value: <B as Backend>::IntElem,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_full<const D: usize>( shape: Shape<D>, fill_value: <B as Backend>::IntElem, device: &<B as Backend>::Device ) -> <B as Backend>::IntTensorPrimitive<D>
Creates a tensor filled with given value. Read more
source§fn int_mean<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<1>
fn int_mean<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D> ) -> <B as Backend>::IntTensorPrimitive<1>
Computes the mean of all elements in the tensor. Read more
source§fn int_max<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<1>
fn int_max<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D> ) -> <B as Backend>::IntTensorPrimitive<1>
Gets the maximum element in the tensor. Read more
source§fn int_max_dim<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_max_dim<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D>, dim: usize ) -> <B as Backend>::IntTensorPrimitive<D>
Gets the maximum element in the tensor along a dimension. Read more
source§fn int_max_dim_with_indices<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> (<B as Backend>::IntTensorPrimitive<D>, <B as Backend>::IntTensorPrimitive<D>)
fn int_max_dim_with_indices<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D>, dim: usize ) -> (<B as Backend>::IntTensorPrimitive<D>, <B as Backend>::IntTensorPrimitive<D>)
Gets the maximum elements and corresponding indices along a dimension. Read more
source§fn int_min<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<1>
fn int_min<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D> ) -> <B as Backend>::IntTensorPrimitive<1>
Gets the minimum element in the tensor. Read more
source§fn int_min_dim<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_min_dim<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D>, dim: usize ) -> <B as Backend>::IntTensorPrimitive<D>
Gets the minimum elements in the tensor along a dimension. Read more
source§fn int_min_dim_with_indices<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>,
dim: usize
) -> (<B as Backend>::IntTensorPrimitive<D>, <B as Backend>::IntTensorPrimitive<D>)
fn int_min_dim_with_indices<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D>, dim: usize ) -> (<B as Backend>::IntTensorPrimitive<D>, <B as Backend>::IntTensorPrimitive<D>)
Gets the minimum elements and corresponding indices along a dimension. Read more
source§fn int_transpose<const D: usize>(
tensor: <B as Backend>::IntTensorPrimitive<D>
) -> <B as Backend>::IntTensorPrimitive<D>
fn int_transpose<const D: usize>( tensor: <B as Backend>::IntTensorPrimitive<D> ) -> <B as Backend>::IntTensorPrimitive<D>
Transposes an int tensor. Read more
source§impl<G, F, I> ModuleOps<WgpuBackend<G, F, I>> for WgpuBackend<G, F, I>where
G: GraphicsApi + 'static,
F: FloatElement,
I: IntElement,
impl<G, F, I> ModuleOps<WgpuBackend<G, F, I>> for WgpuBackend<G, F, I>where G: GraphicsApi + 'static, F: FloatElement, I: IntElement,
source§fn conv2d(
x: <Self as Backend>::TensorPrimitive<D>,
weight: <Self as Backend>::TensorPrimitive<D>,
bias: Option<<Self as Backend>::TensorPrimitive<D>>,
options: ConvOptions<2>
) -> <Self as Backend>::TensorPrimitive<D>
fn conv2d( x: <Self as Backend>::TensorPrimitive<D>, weight: <Self as Backend>::TensorPrimitive<D>, bias: Option<<Self as Backend>::TensorPrimitive<D>>, options: ConvOptions<2> ) -> <Self as Backend>::TensorPrimitive<D>
Two dimensional convolution. Read more
source§fn conv_transpose2d(
x: <Self as Backend>::TensorPrimitive<D>,
weight: <Self as Backend>::TensorPrimitive<D>,
bias: Option<<Self as Backend>::TensorPrimitive<D>>,
options: ConvTransposeOptions<2>
) -> <Self as Backend>::TensorPrimitive<D>
fn conv_transpose2d( x: <Self as Backend>::TensorPrimitive<D>, weight: <Self as Backend>::TensorPrimitive<D>, bias: Option<<Self as Backend>::TensorPrimitive<D>>, options: ConvTransposeOptions<2> ) -> <Self as Backend>::TensorPrimitive<D>
Two dimensional transposed convolution. Read more
source§fn avg_pool2d(
x: <Self as Backend>::TensorPrimitive<D>,
kernel_size: [usize; 2],
stride: [usize; 2],
padding: [usize; 2],
count_include_pad: bool
) -> <Self as Backend>::TensorPrimitive<D>
fn avg_pool2d( x: <Self as Backend>::TensorPrimitive<D>, kernel_size: [usize; 2], stride: [usize; 2], padding: [usize; 2], count_include_pad: bool ) -> <Self as Backend>::TensorPrimitive<D>
Two dimensional avg pooling. Read more
source§fn avg_pool2d_backward(
x: <Self as Backend>::TensorPrimitive<D>,
grad: <Self as Backend>::TensorPrimitive<D>,
kernel_size: [usize; 2],
stride: [usize; 2],
padding: [usize; 2],
count_include_pad: bool
) -> <Self as Backend>::TensorPrimitive<D>
fn avg_pool2d_backward( x: <Self as Backend>::TensorPrimitive<D>, grad: <Self as Backend>::TensorPrimitive<D>, kernel_size: [usize; 2], stride: [usize; 2], padding: [usize; 2], count_include_pad: bool ) -> <Self as Backend>::TensorPrimitive<D>
Backward pass for the avg pooling 2d operation.
source§fn max_pool2d(
x: <Self as Backend>::TensorPrimitive<D>,
kernel_size: [usize; 2],
stride: [usize; 2],
padding: [usize; 2],
dilation: [usize; 2]
) -> <Self as Backend>::TensorPrimitive<D>
fn max_pool2d( x: <Self as Backend>::TensorPrimitive<D>, kernel_size: [usize; 2], stride: [usize; 2], padding: [usize; 2], dilation: [usize; 2] ) -> <Self as Backend>::TensorPrimitive<D>
Two dimensional max pooling. Read more
source§fn max_pool2d_with_indices(
x: <Self as Backend>::TensorPrimitive<D>,
kernel_size: [usize; 2],
stride: [usize; 2],
padding: [usize; 2],
dilation: [usize; 2]
) -> MaxPool2dWithIndices<WgpuBackend<G, F, I>>
fn max_pool2d_with_indices( x: <Self as Backend>::TensorPrimitive<D>, kernel_size: [usize; 2], stride: [usize; 2], padding: [usize; 2], dilation: [usize; 2] ) -> MaxPool2dWithIndices<WgpuBackend<G, F, I>>
Two dimensional max pooling with indices. Read more
source§fn max_pool2d_with_indices_backward(
x: <Self as Backend>::TensorPrimitive<D>,
kernel_size: [usize; 2],
stride: [usize; 2],
padding: [usize; 2],
dilation: [usize; 2],
output_grad: <Self as Backend>::TensorPrimitive<D>,
indices: <Self as Backend>::IntTensorPrimitive<D>
) -> MaxPool2dBackward<WgpuBackend<G, F, I>>
fn max_pool2d_with_indices_backward( x: <Self as Backend>::TensorPrimitive<D>, kernel_size: [usize; 2], stride: [usize; 2], padding: [usize; 2], dilation: [usize; 2], output_grad: <Self as Backend>::TensorPrimitive<D>, indices: <Self as Backend>::IntTensorPrimitive<D> ) -> MaxPool2dBackward<WgpuBackend<G, F, I>>
Backward pass for the max pooling 2d operation.
source§fn adaptive_avg_pool2d(
x: <Self as Backend>::TensorPrimitive<D>,
output_size: [usize; 2]
) -> <Self as Backend>::TensorPrimitive<D>
fn adaptive_avg_pool2d( x: <Self as Backend>::TensorPrimitive<D>, output_size: [usize; 2] ) -> <Self as Backend>::TensorPrimitive<D>
Two dimensional adaptive avg pooling. Read more
source§fn adaptive_avg_pool2d_backward(
x: <Self as Backend>::TensorPrimitive<D>,
grad: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn adaptive_avg_pool2d_backward( x: <Self as Backend>::TensorPrimitive<D>, grad: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Backward pass for the adaptive avg pooling 2d operation.
source§fn embedding(
weights: <B as Backend>::TensorPrimitive<2>,
indices: <B as Backend>::IntTensorPrimitive<2>
) -> <B as Backend>::TensorPrimitive<3>
fn embedding( weights: <B as Backend>::TensorPrimitive<2>, indices: <B as Backend>::IntTensorPrimitive<2> ) -> <B as Backend>::TensorPrimitive<3>
Embedding operation. Read more
source§fn embedding_backward(
weights: <B as Backend>::TensorPrimitive<2>,
output_grad: <B as Backend>::TensorPrimitive<3>,
indices: <B as Backend>::IntTensorPrimitive<2>
) -> <B as Backend>::TensorPrimitive<2>
fn embedding_backward( weights: <B as Backend>::TensorPrimitive<2>, output_grad: <B as Backend>::TensorPrimitive<3>, indices: <B as Backend>::IntTensorPrimitive<2> ) -> <B as Backend>::TensorPrimitive<2>
Embedding backward operation. Read more
source§fn conv1d(
x: <B as Backend>::TensorPrimitive<3>,
weight: <B as Backend>::TensorPrimitive<3>,
bias: Option<<B as Backend>::TensorPrimitive<1>>,
options: ConvOptions<1>
) -> <B as Backend>::TensorPrimitive<3>
fn conv1d( x: <B as Backend>::TensorPrimitive<3>, weight: <B as Backend>::TensorPrimitive<3>, bias: Option<<B as Backend>::TensorPrimitive<1>>, options: ConvOptions<1> ) -> <B as Backend>::TensorPrimitive<3>
One dimensional convolution. Read more
source§fn conv1d_backward(
x: <B as Backend>::TensorPrimitive<3>,
weight: <B as Backend>::TensorPrimitive<3>,
bias: Option<<B as Backend>::TensorPrimitive<1>>,
output_grad: <B as Backend>::TensorPrimitive<3>,
options: ConvOptions<1>
) -> Conv1dBackward<B>
fn conv1d_backward( x: <B as Backend>::TensorPrimitive<3>, weight: <B as Backend>::TensorPrimitive<3>, bias: Option<<B as Backend>::TensorPrimitive<1>>, output_grad: <B as Backend>::TensorPrimitive<3>, options: ConvOptions<1> ) -> Conv1dBackward<B>
Backward pass for the conv1d operation.
source§fn conv2d_backward(
x: <B as Backend>::TensorPrimitive<4>,
weight: <B as Backend>::TensorPrimitive<4>,
bias: Option<<B as Backend>::TensorPrimitive<1>>,
output_grad: <B as Backend>::TensorPrimitive<4>,
options: ConvOptions<2>
) -> Conv2dBackward<B>
fn conv2d_backward( x: <B as Backend>::TensorPrimitive<4>, weight: <B as Backend>::TensorPrimitive<4>, bias: Option<<B as Backend>::TensorPrimitive<1>>, output_grad: <B as Backend>::TensorPrimitive<4>, options: ConvOptions<2> ) -> Conv2dBackward<B>
Backward pass for the conv2d operation.
source§fn conv_transpose1d(
x: <B as Backend>::TensorPrimitive<3>,
weight: <B as Backend>::TensorPrimitive<3>,
bias: Option<<B as Backend>::TensorPrimitive<1>>,
options: ConvTransposeOptions<1>
) -> <B as Backend>::TensorPrimitive<3>
fn conv_transpose1d( x: <B as Backend>::TensorPrimitive<3>, weight: <B as Backend>::TensorPrimitive<3>, bias: Option<<B as Backend>::TensorPrimitive<1>>, options: ConvTransposeOptions<1> ) -> <B as Backend>::TensorPrimitive<3>
One dimensional transposed convolution. Read more
source§fn conv_transpose1d_backward(
x: <B as Backend>::TensorPrimitive<3>,
weight: <B as Backend>::TensorPrimitive<3>,
bias: Option<<B as Backend>::TensorPrimitive<1>>,
output_grad: <B as Backend>::TensorPrimitive<3>,
options: ConvTransposeOptions<1>
) -> Conv1dBackward<B>
fn conv_transpose1d_backward( x: <B as Backend>::TensorPrimitive<3>, weight: <B as Backend>::TensorPrimitive<3>, bias: Option<<B as Backend>::TensorPrimitive<1>>, output_grad: <B as Backend>::TensorPrimitive<3>, options: ConvTransposeOptions<1> ) -> Conv1dBackward<B>
Backward pass for the conv transpose 1d operation.
source§fn conv_transpose2d_backward(
x: <B as Backend>::TensorPrimitive<4>,
weight: <B as Backend>::TensorPrimitive<4>,
bias: Option<<B as Backend>::TensorPrimitive<1>>,
output_grad: <B as Backend>::TensorPrimitive<4>,
options: ConvTransposeOptions<2>
) -> Conv2dBackward<B>
fn conv_transpose2d_backward( x: <B as Backend>::TensorPrimitive<4>, weight: <B as Backend>::TensorPrimitive<4>, bias: Option<<B as Backend>::TensorPrimitive<1>>, output_grad: <B as Backend>::TensorPrimitive<4>, options: ConvTransposeOptions<2> ) -> Conv2dBackward<B>
Backward pass for the conv transpose 2d operation.
source§fn unfold4d(
x: <B as Backend>::TensorPrimitive<4>,
kernel_size: [usize; 2],
options: UnfoldOptions
) -> <B as Backend>::TensorPrimitive<3>
fn unfold4d( x: <B as Backend>::TensorPrimitive<4>, kernel_size: [usize; 2], options: UnfoldOptions ) -> <B as Backend>::TensorPrimitive<3>
Four-dimensional unfolding. Read more
source§fn avg_pool1d(
x: <B as Backend>::TensorPrimitive<3>,
kernel_size: usize,
stride: usize,
padding: usize,
count_include_pad: bool
) -> <B as Backend>::TensorPrimitive<3>
fn avg_pool1d( x: <B as Backend>::TensorPrimitive<3>, kernel_size: usize, stride: usize, padding: usize, count_include_pad: bool ) -> <B as Backend>::TensorPrimitive<3>
One dimensional avg pooling. Read more
source§fn avg_pool1d_backward(
x: <B as Backend>::TensorPrimitive<3>,
grad: <B as Backend>::TensorPrimitive<3>,
kernel_size: usize,
stride: usize,
padding: usize,
count_include_pad: bool
) -> <B as Backend>::TensorPrimitive<3>
fn avg_pool1d_backward( x: <B as Backend>::TensorPrimitive<3>, grad: <B as Backend>::TensorPrimitive<3>, kernel_size: usize, stride: usize, padding: usize, count_include_pad: bool ) -> <B as Backend>::TensorPrimitive<3>
Backward pass for the avg pooling 1d operation.
source§fn adaptive_avg_pool1d(
x: <B as Backend>::TensorPrimitive<3>,
output_size: usize
) -> <B as Backend>::TensorPrimitive<3>
fn adaptive_avg_pool1d( x: <B as Backend>::TensorPrimitive<3>, output_size: usize ) -> <B as Backend>::TensorPrimitive<3>
One dimensional adaptive avg pooling. Read more
source§fn adaptive_avg_pool1d_backward(
x: <B as Backend>::TensorPrimitive<3>,
grad: <B as Backend>::TensorPrimitive<3>
) -> <B as Backend>::TensorPrimitive<3>
fn adaptive_avg_pool1d_backward( x: <B as Backend>::TensorPrimitive<3>, grad: <B as Backend>::TensorPrimitive<3> ) -> <B as Backend>::TensorPrimitive<3>
Backward pass for the adaptive avg pooling 1d operation.
source§fn max_pool1d(
x: <B as Backend>::TensorPrimitive<3>,
kernel_size: usize,
stride: usize,
padding: usize,
dilation: usize
) -> <B as Backend>::TensorPrimitive<3>
fn max_pool1d( x: <B as Backend>::TensorPrimitive<3>, kernel_size: usize, stride: usize, padding: usize, dilation: usize ) -> <B as Backend>::TensorPrimitive<3>
One dimensional max pooling. Read more
source§fn max_pool1d_with_indices(
x: <B as Backend>::TensorPrimitive<3>,
kernel_size: usize,
stride: usize,
padding: usize,
dilation: usize
) -> MaxPool1dWithIndices<B>
fn max_pool1d_with_indices( x: <B as Backend>::TensorPrimitive<3>, kernel_size: usize, stride: usize, padding: usize, dilation: usize ) -> MaxPool1dWithIndices<B>
One dimensional max pooling with indices. Read more
source§fn max_pool1d_with_indices_backward(
x: <B as Backend>::TensorPrimitive<3>,
kernel_size: usize,
stride: usize,
padding: usize,
dilation: usize,
output_grad: <B as Backend>::TensorPrimitive<3>,
indices: <B as Backend>::IntTensorPrimitive<3>
) -> MaxPool1dBackward<B>
fn max_pool1d_with_indices_backward( x: <B as Backend>::TensorPrimitive<3>, kernel_size: usize, stride: usize, padding: usize, dilation: usize, output_grad: <B as Backend>::TensorPrimitive<3>, indices: <B as Backend>::IntTensorPrimitive<3> ) -> MaxPool1dBackward<B>
Backward pass for the max pooling 1d operation.
source§impl<G, F, I> TensorOps<WgpuBackend<G, F, I>> for WgpuBackend<G, F, I>where
G: GraphicsApi + 'static,
F: FloatElement,
I: IntElement,
impl<G, F, I> TensorOps<WgpuBackend<G, F, I>> for WgpuBackend<G, F, I>where G: GraphicsApi + 'static, F: FloatElement, I: IntElement,
source§fn from_data<const D: usize>(
data: Data<<Self as Backend>::FloatElem, D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::TensorPrimitive<D>
fn from_data<const D: usize>( data: Data<<Self as Backend>::FloatElem, D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::TensorPrimitive<D>
Creates a new tensor from the data structure. Read more
source§fn random<const D: usize>(
shape: Shape<D>,
distribution: Distribution<<Self as Backend>::FloatElem>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::TensorPrimitive<D>
fn random<const D: usize>( shape: Shape<D>, distribution: Distribution<<Self as Backend>::FloatElem>, device: &<Self as Backend>::Device ) -> <Self as Backend>::TensorPrimitive<D>
Creates a new tensor with random values. Read more
source§fn shape<const D: usize>(
tensor: &<Self as Backend>::TensorPrimitive<D>
) -> Shape<D>
fn shape<const D: usize>( tensor: &<Self as Backend>::TensorPrimitive<D> ) -> Shape<D>
Gets the shape of the tensor. Read more
source§fn into_data<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> Reader<Data<<Self as Backend>::FloatElem, D>>
fn into_data<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> Reader<Data<<Self as Backend>::FloatElem, D>>
Converts the tensor to a data structure. Read more
source§fn device<const D: usize>(
tensor: &<Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::Device
fn device<const D: usize>( tensor: &<Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::Device
Gets the device of the tensor. Read more
source§fn to_device<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::TensorPrimitive<D>
fn to_device<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::TensorPrimitive<D>
Moves the tensor to the given device. Read more
source§fn empty<const D: usize>(
shape: Shape<D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::TensorPrimitive<D>
fn empty<const D: usize>( shape: Shape<D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::TensorPrimitive<D>
Creates an empty tensor with the given shape. Read more
source§fn add<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn add<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Adds two tensors together. Read more
source§fn add_scalar<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::FloatElem
) -> <Self as Backend>::TensorPrimitive<D>
fn add_scalar<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::FloatElem ) -> <Self as Backend>::TensorPrimitive<D>
Adds a scalar to a tensor. Read more
source§fn zeros<const D: usize>(
shape: Shape<D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::TensorPrimitive<D>
fn zeros<const D: usize>( shape: Shape<D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::TensorPrimitive<D>
Creates a new tensor with zeros. Read more
source§fn full<const D: usize>(
shape: Shape<D>,
fill_value: <Self as Backend>::FloatElem,
device: &WgpuDevice
) -> <Self as Backend>::TensorPrimitive<D>
fn full<const D: usize>( shape: Shape<D>, fill_value: <Self as Backend>::FloatElem, device: &WgpuDevice ) -> <Self as Backend>::TensorPrimitive<D>
Creates a tensor filled with given value. Read more
source§fn ones<const D: usize>(
shape: Shape<D>,
device: &<Self as Backend>::Device
) -> <Self as Backend>::TensorPrimitive<D>
fn ones<const D: usize>( shape: Shape<D>, device: &<Self as Backend>::Device ) -> <Self as Backend>::TensorPrimitive<D>
Creates a new tensor with ones. Read more
source§fn sub<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn sub<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Subtracts two tensors. Read more
source§fn sub_scalar<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::FloatElem
) -> <Self as Backend>::TensorPrimitive<D>
fn sub_scalar<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::FloatElem ) -> <Self as Backend>::TensorPrimitive<D>
Subtracts a scalar from a tensor. Read more
source§fn mul<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn mul<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Multiplies two tensors together element-wise.
source§fn mul_scalar<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::FloatElem
) -> <Self as Backend>::TensorPrimitive<D>
fn mul_scalar<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::FloatElem ) -> <Self as Backend>::TensorPrimitive<D>
Multiplies a tensor by a scalar. Read more
source§fn div<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn div<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Divides two tensors element-wise. Read more
source§fn div_scalar<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::FloatElem
) -> <Self as Backend>::TensorPrimitive<D>
fn div_scalar<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::FloatElem ) -> <Self as Backend>::TensorPrimitive<D>
Divides a tensor by a scalar. Read more
source§fn matmul<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn matmul<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Multiplies two tensors together using matrix multiplication. Read more
source§fn swap_dims<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
dim1: usize,
dim2: usize
) -> <Self as Backend>::TensorPrimitive<D>
fn swap_dims<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, dim1: usize, dim2: usize ) -> <Self as Backend>::TensorPrimitive<D>
Swaps two dimensions of a tensor. Read more
source§fn reshape<const D1: usize, const D2: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
shape: Shape<D2>
) -> <Self as Backend>::TensorPrimitive<D>
fn reshape<const D1: usize, const D2: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, shape: Shape<D2> ) -> <Self as Backend>::TensorPrimitive<D>
Reshapes a tensor. Read more
source§fn gather<const D: usize>(
dim: usize,
tensor: <Self as Backend>::TensorPrimitive<D>,
indices: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn gather<const D: usize>( dim: usize, tensor: <Self as Backend>::TensorPrimitive<D>, indices: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Gather elements from a tensor. Read more
source§fn scatter<const D: usize>(
dim: usize,
tensor: <Self as Backend>::TensorPrimitive<D>,
indices: <Self as Backend>::IntTensorPrimitive<D>,
value: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn scatter<const D: usize>( dim: usize, tensor: <Self as Backend>::TensorPrimitive<D>, indices: <Self as Backend>::IntTensorPrimitive<D>, value: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Scatter elements into a tensor. Read more
source§fn select<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
dim: usize,
indices: <Self as Backend>::IntTensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn select<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, dim: usize, indices: <Self as Backend>::IntTensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Select tensor elements along the given dimension corresponding for the given indices. Read more
source§fn select_assign<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
dim: usize,
indices: <Self as Backend>::IntTensorPrimitive<D>,
value: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn select_assign<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, dim: usize, indices: <Self as Backend>::IntTensorPrimitive<D>, value: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Assign the selected elements along the given dimension corresponding for the given indices
to the given value. Read more
source§fn slice<const D1: usize, const D2: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
ranges: [Range<usize>; D2]
) -> <Self as Backend>::TensorPrimitive<D>
fn slice<const D1: usize, const D2: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, ranges: [Range<usize>; D2] ) -> <Self as Backend>::TensorPrimitive<D>
Select tensor elements corresponding for the given ranges. Read more
source§fn slice_assign<const D1: usize, const D2: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
ranges: [Range<usize>; D2],
value: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn slice_assign<const D1: usize, const D2: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, ranges: [Range<usize>; D2], value: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Assign the selected elements corresponding for the given ranges to the given value. Read more
source§fn mask_where<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
mask: <Self as Backend>::BoolTensorPrimitive<D>,
value: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn mask_where<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, mask: <Self as Backend>::BoolTensorPrimitive<D>, value: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Update the given tensor with the value tensor where the mask is true. Read more
source§fn mask_fill<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
mask: <Self as Backend>::BoolTensorPrimitive<D>,
value: <Self as Backend>::FloatElem
) -> <Self as Backend>::TensorPrimitive<D>
fn mask_fill<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, mask: <Self as Backend>::BoolTensorPrimitive<D>, value: <Self as Backend>::FloatElem ) -> <Self as Backend>::TensorPrimitive<D>
Update the given tensor with the value where the mask is true. Read more
source§fn equal<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn equal<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Equal comparison of two tensors. Read more
source§fn equal_elem<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::FloatElem
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn equal_elem<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::FloatElem ) -> <Self as Backend>::BoolTensorPrimitive<D>
Equal comparison of a tensor and a scalar. Read more
source§fn greater<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn greater<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Greater than comparison of two tensors. Read more
source§fn greater_elem<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::FloatElem
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn greater_elem<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::FloatElem ) -> <Self as Backend>::BoolTensorPrimitive<D>
Greater than comparison of a tensor and a scalar. Read more
source§fn greater_equal<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn greater_equal<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Greater than or equal comparison of two tensors. Read more
source§fn greater_equal_elem<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::FloatElem
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn greater_equal_elem<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::FloatElem ) -> <Self as Backend>::BoolTensorPrimitive<D>
Greater than or equal comparison of a tensor and a scalar. Read more
source§fn lower<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn lower<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Less than comparison of two tensors. Read more
source§fn lower_elem<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::FloatElem
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn lower_elem<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::FloatElem ) -> <Self as Backend>::BoolTensorPrimitive<D>
Less than comparison of a tensor and a scalar. Read more
source§fn lower_equal<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn lower_equal<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::BoolTensorPrimitive<D>
Less than or equal comparison of two tensors. Read more
source§fn lower_equal_elem<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: <Self as Backend>::FloatElem
) -> <Self as Backend>::BoolTensorPrimitive<D>
fn lower_equal_elem<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: <Self as Backend>::FloatElem ) -> <Self as Backend>::BoolTensorPrimitive<D>
Less than or equal comparison of a tensor and a scalar. Read more
source§fn sum<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn sum<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Sum of all elements in a tensor. Read more
source§fn sum_dim<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
dim: usize
) -> <Self as Backend>::TensorPrimitive<D>
fn sum_dim<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, dim: usize ) -> <Self as Backend>::TensorPrimitive<D>
Sum of all elements in a tensor along a dimension. Read more
source§fn mean_dim<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
dim: usize
) -> <Self as Backend>::TensorPrimitive<D>
fn mean_dim<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, dim: usize ) -> <Self as Backend>::TensorPrimitive<D>
Mean of all elements in a tensor along a dimension. Read more
source§fn to_full_precision<const D: usize>(
tensor: &<Self as Backend>::TensorPrimitive<D>
) -> <<Self as Backend>::FullPrecisionBackend as Backend>::TensorPrimitive<D>
fn to_full_precision<const D: usize>( tensor: &<Self as Backend>::TensorPrimitive<D> ) -> <<Self as Backend>::FullPrecisionBackend as Backend>::TensorPrimitive<D>
Converts a tensor to full precision. Read more
source§fn from_full_precision<const D: usize>(
tensor: <<Self as Backend>::FullPrecisionBackend as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn from_full_precision<const D: usize>( tensor: <<Self as Backend>::FullPrecisionBackend as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Converts a tensor from full precision. Read more
source§fn exp<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn exp<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Returns a new tensor with exponential values. Read more
source§fn log<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn log<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Returns a new tensor with natural logarithm values. Read more
source§fn log1p<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn log1p<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Returns a new tensor with logarithm values of (1 + Xi). Read more
source§fn powf<const D: usize>(
lhs: <Self as Backend>::TensorPrimitive<D>,
rhs: f32
) -> <Self as Backend>::TensorPrimitive<D>
fn powf<const D: usize>( lhs: <Self as Backend>::TensorPrimitive<D>, rhs: f32 ) -> <Self as Backend>::TensorPrimitive<D>
Returns a new tensor with values raised to the power of
value. Read moresource§fn sqrt<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn sqrt<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Returns a new tensor with square root values. Read more
source§fn abs<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn abs<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Returns a new tensor with absolute values. Read more
source§fn cos<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn cos<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Returns a new tensor with cosine values. Read more
source§fn sin<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn sin<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Returns a new tensor with sine values. Read more
source§fn tanh<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn tanh<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Returns a new tensor with tangent values. Read more
source§fn erf<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::TensorPrimitive<D>
fn erf<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::TensorPrimitive<D>
Returns a new tensor with the error function values. Read more
source§fn cat<const D: usize>(
tensors: Vec<<Self as Backend>::TensorPrimitive<D>>,
dim: usize
) -> <Self as Backend>::TensorPrimitive<D>
fn cat<const D: usize>( tensors: Vec<<Self as Backend>::TensorPrimitive<D>>, dim: usize ) -> <Self as Backend>::TensorPrimitive<D>
Catcatenates tensors along a dimension. Read more
source§fn argmax<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
dim: usize
) -> <Self as Backend>::IntTensorPrimitive<D>
fn argmax<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, dim: usize ) -> <Self as Backend>::IntTensorPrimitive<D>
Gets the indices of the maximum elements of a tensor along an axis. Read more
source§fn argmin<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
dim: usize
) -> <Self as Backend>::IntTensorPrimitive<D>
fn argmin<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, dim: usize ) -> <Self as Backend>::IntTensorPrimitive<D>
Gets the indices of the minimum elements of a tensor along an axis. Read more
source§fn into_int<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>
) -> <Self as Backend>::IntTensorPrimitive<D>
fn into_int<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D> ) -> <Self as Backend>::IntTensorPrimitive<D>
Converts float tensor to int tensor. Read more
source§fn clamp_min<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
min: <Self as Backend>::FloatElem
) -> <Self as Backend>::TensorPrimitive<D>
fn clamp_min<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, min: <Self as Backend>::FloatElem ) -> <Self as Backend>::TensorPrimitive<D>
Clamps a tensor under a minimum value. Read more
source§fn clamp_max<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
max: <Self as Backend>::FloatElem
) -> <Self as Backend>::TensorPrimitive<D>
fn clamp_max<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, max: <Self as Backend>::FloatElem ) -> <Self as Backend>::TensorPrimitive<D>
Clamps a tensor over a maximum value. Read more
source§fn clamp<const D: usize>(
tensor: <Self as Backend>::TensorPrimitive<D>,
min: <Self as Backend>::FloatElem,
max: <Self as Backend>::FloatElem
) -> <Self as Backend>::TensorPrimitive<D>
fn clamp<const D: usize>( tensor: <Self as Backend>::TensorPrimitive<D>, min: <Self as Backend>::FloatElem, max: <Self as Backend>::FloatElem ) -> <Self as Backend>::TensorPrimitive<D>
Clamps a tensor between a minimum and maximum value. Read more
source§fn to_data<const D: usize>(
tensor: &<B as Backend>::TensorPrimitive<D>
) -> Reader<Data<<B as Backend>::FloatElem, D>>
fn to_data<const D: usize>( tensor: &<B as Backend>::TensorPrimitive<D> ) -> Reader<Data<<B as Backend>::FloatElem, D>>
Converts the tensor to a data structure. Read more
source§fn arange(
range: Range<usize>,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<1>
fn arange( range: Range<usize>, device: &<B as Backend>::Device ) -> <B as Backend>::IntTensorPrimitive<1>
Creates a new tensor with values from the given range. Read more
source§fn arange_step(
range: Range<usize>,
step: usize,
device: &<B as Backend>::Device
) -> <B as Backend>::IntTensorPrimitive<1>
fn arange_step( range: Range<usize>, step: usize, device: &<B as Backend>::Device ) -> <B as Backend>::IntTensorPrimitive<1>
Creates a new tensor with values from the given range with the given step size. Read more
source§fn repeat<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>,
dim: usize,
times: usize
) -> <B as Backend>::TensorPrimitive<D>
fn repeat<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D>, dim: usize, times: usize ) -> <B as Backend>::TensorPrimitive<D>
Repeat the tensor along the given dimension. Read more
source§fn neg<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<D>
fn neg<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D> ) -> <B as Backend>::TensorPrimitive<D>
Negates a tensor element-wise.
source§fn transpose<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<D>
fn transpose<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D> ) -> <B as Backend>::TensorPrimitive<D>
Transposes a tensor. Read more
source§fn detach<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<D>
fn detach<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D> ) -> <B as Backend>::TensorPrimitive<D>
Detaches a tensor from the computation graph.
source§fn set_require_grad<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>,
_require_grad: bool
) -> <B as Backend>::TensorPrimitive<D>
fn set_require_grad<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D>, _require_grad: bool ) -> <B as Backend>::TensorPrimitive<D>
Sets the
require_grad flag of a tensor.source§fn is_require_grad<const D: usize>(
_tensor: &<B as Backend>::TensorPrimitive<D>
) -> bool
fn is_require_grad<const D: usize>( _tensor: &<B as Backend>::TensorPrimitive<D> ) -> bool
Returns the
require_grad flag of a tensor.source§fn mean<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<1>
fn mean<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D> ) -> <B as Backend>::TensorPrimitive<1>
Mean of all elements in a tensor. Read more
source§fn max<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<1>
fn max<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D> ) -> <B as Backend>::TensorPrimitive<1>
Gets the maximum element of a tensor. Read more
source§fn max_dim<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>,
dim: usize
) -> <B as Backend>::TensorPrimitive<D>
fn max_dim<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D>, dim: usize ) -> <B as Backend>::TensorPrimitive<D>
Gets the maximum elements of a tensor along an axis. Read more
source§fn max_dim_with_indices<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>,
dim: usize
) -> (<B as Backend>::TensorPrimitive<D>, <B as Backend>::IntTensorPrimitive<D>)
fn max_dim_with_indices<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D>, dim: usize ) -> (<B as Backend>::TensorPrimitive<D>, <B as Backend>::IntTensorPrimitive<D>)
Gets the maximum elements of a tensor along an axis and their indices. Read more
source§fn min<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>
) -> <B as Backend>::TensorPrimitive<1>
fn min<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D> ) -> <B as Backend>::TensorPrimitive<1>
Gets the minimum element of a tensor. Read more
source§fn min_dim<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>,
dim: usize
) -> <B as Backend>::TensorPrimitive<D>
fn min_dim<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D>, dim: usize ) -> <B as Backend>::TensorPrimitive<D>
Gets the minimum elements of a tensor along an axis. Read more
source§fn min_dim_with_indices<const D: usize>(
tensor: <B as Backend>::TensorPrimitive<D>,
dim: usize
) -> (<B as Backend>::TensorPrimitive<D>, <B as Backend>::IntTensorPrimitive<D>)
fn min_dim_with_indices<const D: usize>( tensor: <B as Backend>::TensorPrimitive<D>, dim: usize ) -> (<B as Backend>::TensorPrimitive<D>, <B as Backend>::IntTensorPrimitive<D>)
Gets the minimum elements of a tensor along an axis and their indices. Read more
Auto Trait Implementations§
impl<G, F, I> RefUnwindSafe for WgpuBackend<G, F, I>where F: RefUnwindSafe, G: RefUnwindSafe, I: RefUnwindSafe,
impl<G, F, I> Send for WgpuBackend<G, F, I>
impl<G, F, I> Sync for WgpuBackend<G, F, I>
impl<G, F, I> Unpin for WgpuBackend<G, F, I>where F: Unpin, G: Unpin, I: Unpin,
impl<G, F, I> UnwindSafe for WgpuBackend<G, F, I>where F: UnwindSafe, G: UnwindSafe, I: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more