pub struct Tensor4D<const M: usize, const N: usize, const O: usize, const P: usize, Tape = NoneTape> { /* private fields */ }
Expand description
A 4d super::Tensor with shape (M, N, O, P). Backed by data [[[[f32; P]; O]; N]; M]
.
Implementations
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> Tensor4D<M, N, O, P, NoneTape>
impl<const M: usize, const N: usize, const O: usize, const P: usize> Tensor4D<M, N, O, P, NoneTape>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourcepub fn value_mask(self, mask: &Tensor4D<M, N, O, P, NoneTape>, value: f32) -> Self
pub fn value_mask(self, mask: &Tensor4D<M, N, O, P, NoneTape>, value: f32) -> Self
Calls value_mask() on self
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape> Tensor4D<M, N, O, P, TapeL>
impl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape> Tensor4D<M, N, O, P, TapeL>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape> Tensor4D<M, N, O, P, TapeL>
impl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape> Tensor4D<M, N, O, P, TapeL>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourcepub fn normalize<Axes>(self, epsilon: f32) -> Selfwhere
Self: Reduce<Axes>,
<Self as HasArrayType>::Array: HasAxes<Axes>,
pub fn normalize<Axes>(self, epsilon: f32) -> Selfwhere
Self: Reduce<Axes>,
<Self as HasArrayType>::Array: HasAxes<Axes>,
Calls normalize()
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourcepub fn logsumexp<T, Axes>(self) -> Twhere
Self: ReduceTo<T, Axes>,
pub fn logsumexp<T, Axes>(self) -> Twhere
Self: ReduceTo<T, Axes>,
Calls logsumexp() on self
with Axes
.
sourcepub fn log_softmax<Axes>(self) -> Selfwhere
Self: Reduce<Axes>,
pub fn log_softmax<Axes>(self) -> Selfwhere
Self: Reduce<Axes>,
Calls log_softmax() on self
with Axes
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor4D<M, N, O, P, H>
sourceimpl<const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Tensor4D<B, C, H, W, T>
impl<const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Tensor4D<B, C, H, W, T>
sourceimpl<const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Tensor4D<B, C, H, W, T>
impl<const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Tensor4D<B, C, H, W, T>
sourcepub fn avg2d<const K: usize, const S: usize, const P: usize>(
self
) -> Tensor4D<B, C, { _ }, { _ }, T>
pub fn avg2d<const K: usize, const S: usize, const P: usize>(
self
) -> Tensor4D<B, C, { _ }, { _ }, T>
Avg pool on a batch of images. K
is kernel size, S
is stride, P
is padding.
Trait Implementations
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Add<Tensor4D<M, N, O, P, H>> for f32
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Add<Tensor4D<M, N, O, P, H>> for f32
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape, TapeR: Tape> Add<Tensor4D<M, N, O, P, TapeR>> for Tensor4D<M, N, O, P, TapeL>where
TapeL: Merge<TapeR>,
impl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape, TapeR: Tape> Add<Tensor4D<M, N, O, P, TapeR>> for Tensor4D<M, N, O, P, TapeL>where
TapeL: Merge<TapeR>,
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Add<f32> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Add<f32> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<1>, Axis<2>)> for Tensor1D<P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<1>, Axis<2>)> for Tensor1D<P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<1>, Axis<3>)> for Tensor1D<O, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<1>, Axis<3>)> for Tensor1D<O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<1>)> for Tensor2D<O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<1>)> for Tensor2D<O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<2>, Axis<3>)> for Tensor1D<N, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<2>, Axis<3>)> for Tensor1D<N, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<2>)> for Tensor2D<N, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<2>)> for Tensor2D<N, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<3>)> for Tensor2D<N, O, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<3>)> for Tensor2D<N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<1>, Axis<2>, Axis<3>)> for Tensor1D<M, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<1>, Axis<2>, Axis<3>)> for Tensor1D<M, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<1>, Axis<2>)> for Tensor2D<M, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<1>, Axis<2>)> for Tensor2D<M, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<1>, Axis<3>)> for Tensor2D<M, O, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<1>, Axis<3>)> for Tensor2D<M, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<2>, Axis<3>)> for Tensor2D<M, N, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, (Axis<2>, Axis<3>)> for Tensor2D<M, N, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, AllAxes> for Tensor0D<H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, AllAxes> for Tensor0D<H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<0>> for Tensor3D<N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<0>> for Tensor3D<N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<1>> for Tensor3D<M, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<1>> for Tensor3D<M, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<2>> for Tensor3D<M, N, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<2>> for Tensor3D<M, N, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<3>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> BroadcastTo<Tensor4D<M, N, O, P, H>, Axis<3>> for Tensor3D<M, N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Clone> Clone for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Clone> Clone for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, Tape: Debug> Debug for Tensor4D<M, N, O, P, Tape>
impl<const M: usize, const N: usize, const O: usize, const P: usize, Tape: Debug> Debug for Tensor4D<M, N, O, P, Tape>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> Default for Tensor4D<M, N, O, P, NoneTape>
impl<const M: usize, const N: usize, const O: usize, const P: usize> Default for Tensor4D<M, N, O, P, NoneTape>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape, TapeR: Tape> Div<Tensor4D<M, N, O, P, TapeR>> for Tensor4D<M, N, O, P, TapeL>where
TapeL: Merge<TapeR>,
impl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape, TapeR: Tape> Div<Tensor4D<M, N, O, P, TapeR>> for Tensor4D<M, N, O, P, TapeL>where
TapeL: Merge<TapeR>,
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Div<f32> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Div<f32> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H> HasArrayData for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H> HasArrayData for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H> HasArrayType for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H> HasArrayType for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H> HasDevice for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H> HasDevice for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H> HasUniqueId for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H> HasUniqueId for Tensor4D<M, N, O, P, H>
sourceimpl<const B1: usize, const B2: usize, const M: usize, const K: usize, const N: usize, R: Tape, L: Tape + Merge<R>> MatMulTrTyping<Tensor4D<B1, B2, N, K, R>> for Tensor4D<B1, B2, M, K, L>
impl<const B1: usize, const B2: usize, const M: usize, const K: usize, const N: usize, R: Tape, L: Tape + Merge<R>> MatMulTrTyping<Tensor4D<B1, B2, N, K, R>> for Tensor4D<B1, B2, M, K, L>
sourceimpl<const B1: usize, const B2: usize, const M: usize, const K: usize, const N: usize, R: Tape, L: Tape + Merge<R>> MatMulTyping<Tensor4D<B1, B2, K, N, R>> for Tensor4D<B1, B2, M, K, L>
impl<const B1: usize, const B2: usize, const M: usize, const K: usize, const N: usize, R: Tape, L: Tape + Merge<R>> MatMulTyping<Tensor4D<B1, B2, K, N, R>> for Tensor4D<B1, B2, M, K, L>
sourceimpl<const B: usize, const C: usize, const H: usize, const W: usize> Module<Tensor4D<B, C, H, W, NoneTape>> for BatchNorm2D<C>
impl<const B: usize, const C: usize, const H: usize, const W: usize> Module<Tensor4D<B, C, H, W, NoneTape>> for BatchNorm2D<C>
sourcefn forward(&self, x: Tensor4D<B, C, H, W, NoneTape>) -> Self::Output
fn forward(&self, x: Tensor4D<B, C, H, W, NoneTape>) -> Self::Output
Inference 4d forward - does not update Self::running_mean and Self::running_var
sourceimpl<const K: usize, const S: usize, const P: usize, const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for AvgPool2D<K, S, P>
impl<const K: usize, const S: usize, const P: usize, const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for AvgPool2D<K, S, P>
sourceimpl<const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for AvgPoolGlobal
impl<const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for AvgPoolGlobal
sourceimpl<const K: usize, const S: usize, const P: usize, const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for MaxPool2D<K, S, P>
impl<const K: usize, const S: usize, const P: usize, const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for MaxPool2D<K, S, P>
sourceimpl<const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for MaxPoolGlobal
impl<const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for MaxPoolGlobal
sourceimpl<const K: usize, const S: usize, const P: usize, const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for MinPool2D<K, S, P>
impl<const K: usize, const S: usize, const P: usize, const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for MinPool2D<K, S, P>
sourceimpl<const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for MinPoolGlobal
impl<const B: usize, const C: usize, const H: usize, const W: usize, T: Tape> Module<Tensor4D<B, C, H, W, T>> for MinPoolGlobal
sourceimpl<T: Tape, const B: usize, const I: usize, const O: usize, const K: usize, const S: usize, const P: usize, const H: usize, const W: usize> Module<Tensor4D<B, I, H, W, T>> for Conv2D<I, O, K, S, P>
impl<T: Tape, const B: usize, const I: usize, const O: usize, const K: usize, const S: usize, const P: usize, const H: usize, const W: usize> Module<Tensor4D<B, I, H, W, T>> for Conv2D<I, O, K, S, P>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Module<Tensor4D<M, N, O, P, H>> for Flatten2Dwhere
Assert<{ _ }>: ConstTrue,
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Module<Tensor4D<M, N, O, P, H>> for Flatten2Dwhere
Assert<{ _ }>: ConstTrue,
sourceimpl<const B: usize, const C: usize, const H: usize, const W: usize> ModuleMut<Tensor4D<B, C, H, W, OwnedTape>> for BatchNorm2D<C>
impl<const B: usize, const C: usize, const H: usize, const W: usize> ModuleMut<Tensor4D<B, C, H, W, OwnedTape>> for BatchNorm2D<C>
sourcefn forward_mut(&mut self, x: Tensor4D<B, C, H, W, OwnedTape>) -> Self::Output
fn forward_mut(&mut self, x: Tensor4D<B, C, H, W, OwnedTape>) -> Self::Output
Training 4d forward - updates Self::running_mean and Self::running_var
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Mul<Tensor4D<M, N, O, P, H>> for f32
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Mul<Tensor4D<M, N, O, P, H>> for f32
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape, TapeR: Tape> Mul<Tensor4D<M, N, O, P, TapeR>> for Tensor4D<M, N, O, P, TapeL>where
TapeL: Merge<TapeR>,
impl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape, TapeR: Tape> Mul<Tensor4D<M, N, O, P, TapeR>> for Tensor4D<M, N, O, P, TapeL>where
TapeL: Merge<TapeR>,
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Mul<f32> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Mul<f32> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Neg for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Neg for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<1>, Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, N, O, P, H>, (Axis<0>, Axis<1>, Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, N, P, O, H>, (Axis<0>, Axis<1>, Axis<3>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, N, P, O, H>, (Axis<0>, Axis<1>, Axis<3>, Axis<2>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, O, N, P, H>, (Axis<0>, Axis<2>, Axis<1>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, O, N, P, H>, (Axis<0>, Axis<2>, Axis<1>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, O, P, N, H>, (Axis<0>, Axis<2>, Axis<3>, Axis<1>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, O, P, N, H>, (Axis<0>, Axis<2>, Axis<3>, Axis<1>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, P, N, O, H>, (Axis<0>, Axis<3>, Axis<1>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, P, N, O, H>, (Axis<0>, Axis<3>, Axis<1>, Axis<2>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, P, O, N, H>, (Axis<0>, Axis<3>, Axis<2>, Axis<1>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<M, P, O, N, H>, (Axis<0>, Axis<3>, Axis<2>, Axis<1>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, M, O, P, H>, (Axis<1>, Axis<0>, Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, M, O, P, H>, (Axis<1>, Axis<0>, Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, M, P, O, H>, (Axis<1>, Axis<0>, Axis<3>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, M, P, O, H>, (Axis<1>, Axis<0>, Axis<3>, Axis<2>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, O, M, P, H>, (Axis<1>, Axis<2>, Axis<0>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, O, M, P, H>, (Axis<1>, Axis<2>, Axis<0>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, O, P, M, H>, (Axis<1>, Axis<2>, Axis<3>, Axis<0>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, O, P, M, H>, (Axis<1>, Axis<2>, Axis<3>, Axis<0>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, P, M, O, H>, (Axis<1>, Axis<3>, Axis<0>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, P, M, O, H>, (Axis<1>, Axis<3>, Axis<0>, Axis<2>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, P, O, M, H>, (Axis<1>, Axis<3>, Axis<2>, Axis<0>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<N, P, O, M, H>, (Axis<1>, Axis<3>, Axis<2>, Axis<0>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, M, N, P, H>, (Axis<2>, Axis<0>, Axis<1>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, M, N, P, H>, (Axis<2>, Axis<0>, Axis<1>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, M, P, N, H>, (Axis<2>, Axis<0>, Axis<3>, Axis<1>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, M, P, N, H>, (Axis<2>, Axis<0>, Axis<3>, Axis<1>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, N, M, P, H>, (Axis<2>, Axis<1>, Axis<0>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, N, M, P, H>, (Axis<2>, Axis<1>, Axis<0>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, N, P, M, H>, (Axis<2>, Axis<1>, Axis<3>, Axis<0>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, N, P, M, H>, (Axis<2>, Axis<1>, Axis<3>, Axis<0>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, P, M, N, H>, (Axis<2>, Axis<3>, Axis<0>, Axis<1>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, P, M, N, H>, (Axis<2>, Axis<3>, Axis<0>, Axis<1>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, P, N, M, H>, (Axis<2>, Axis<3>, Axis<1>, Axis<0>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<O, P, N, M, H>, (Axis<2>, Axis<3>, Axis<1>, Axis<0>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, M, N, O, H>, (Axis<3>, Axis<0>, Axis<1>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, M, N, O, H>, (Axis<3>, Axis<0>, Axis<1>, Axis<2>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, M, O, N, H>, (Axis<3>, Axis<0>, Axis<2>, Axis<1>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, M, O, N, H>, (Axis<3>, Axis<0>, Axis<2>, Axis<1>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, N, M, O, H>, (Axis<3>, Axis<1>, Axis<0>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, N, M, O, H>, (Axis<3>, Axis<1>, Axis<0>, Axis<2>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, N, O, M, H>, (Axis<3>, Axis<1>, Axis<2>, Axis<0>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, N, O, M, H>, (Axis<3>, Axis<1>, Axis<2>, Axis<0>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, O, M, N, H>, (Axis<3>, Axis<2>, Axis<0>, Axis<1>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, O, M, N, H>, (Axis<3>, Axis<2>, Axis<0>, Axis<1>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, O, N, M, H>, (Axis<3>, Axis<2>, Axis<1>, Axis<0>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> PermuteTo<Tensor4D<P, O, N, M, H>, (Axis<3>, Axis<2>, Axis<1>, Axis<0>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, HIn: Tape, HOut: Tape> PutTape<HOut> for Tensor4D<M, N, O, P, HIn>
impl<const M: usize, const N: usize, const O: usize, const P: usize, HIn: Tape, HOut: Tape> PutTape<HOut> for Tensor4D<M, N, O, P, HIn>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H> Randomize<f32> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H> Randomize<f32> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<1>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<1>, Axis<2>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<1>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<1>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<1>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<1>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<2>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<0>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<1>, Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<1>, Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<1>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<1>, Axis<2>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<1>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<1>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<(Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<AllAxes> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<AllAxes> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<0>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<0>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<1>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<1>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<2>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<2>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<3>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reduce<Axis<3>> for Tensor4D<M, N, O, P, H>
sourceimpl<const A: usize, const B: usize, const C: usize, const D: usize, H: Tape> Reshape<Tensor0D<H>> for Tensor4D<A, B, C, D, H>where
Assert<{ _ }>: ConstTrue,
impl<const A: usize, const B: usize, const C: usize, const D: usize, H: Tape> Reshape<Tensor0D<H>> for Tensor4D<A, B, C, D, H>where
Assert<{ _ }>: ConstTrue,
sourceimpl<const A: usize, const B: usize, const C: usize, const D: usize, const M: usize, H: Tape> Reshape<Tensor1D<M, H>> for Tensor4D<A, B, C, D, H>where
Assert<{ _ }>: ConstTrue,
impl<const A: usize, const B: usize, const C: usize, const D: usize, const M: usize, H: Tape> Reshape<Tensor1D<M, H>> for Tensor4D<A, B, C, D, H>where
Assert<{ _ }>: ConstTrue,
sourceimpl<const A: usize, const B: usize, const C: usize, const D: usize, const M: usize, const N: usize, H: Tape> Reshape<Tensor2D<M, N, H>> for Tensor4D<A, B, C, D, H>where
Assert<{ _ }>: ConstTrue,
impl<const A: usize, const B: usize, const C: usize, const D: usize, const M: usize, const N: usize, H: Tape> Reshape<Tensor2D<M, N, H>> for Tensor4D<A, B, C, D, H>where
Assert<{ _ }>: ConstTrue,
sourceimpl<const A: usize, const B: usize, const C: usize, const D: usize, const M: usize, const N: usize, const O: usize, H: Tape> Reshape<Tensor3D<M, N, O, H>> for Tensor4D<A, B, C, D, H>where
Assert<{ _ }>: ConstTrue,
impl<const A: usize, const B: usize, const C: usize, const D: usize, const M: usize, const N: usize, const O: usize, H: Tape> Reshape<Tensor3D<M, N, O, H>> for Tensor4D<A, B, C, D, H>where
Assert<{ _ }>: ConstTrue,
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reshape<Tensor4D<M, N, O, P, H>> for Tensor0D<H>where
Assert<{ _ }>: ConstTrue,
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reshape<Tensor4D<M, N, O, P, H>> for Tensor0D<H>where
Assert<{ _ }>: ConstTrue,
sourceimpl<const A: usize, const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reshape<Tensor4D<M, N, O, P, H>> for Tensor1D<A, H>where
Assert<{ _ }>: ConstTrue,
impl<const A: usize, const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reshape<Tensor4D<M, N, O, P, H>> for Tensor1D<A, H>where
Assert<{ _ }>: ConstTrue,
sourceimpl<const A: usize, const B: usize, const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reshape<Tensor4D<M, N, O, P, H>> for Tensor2D<A, B, H>where
Assert<{ _ }>: ConstTrue,
impl<const A: usize, const B: usize, const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reshape<Tensor4D<M, N, O, P, H>> for Tensor2D<A, B, H>where
Assert<{ _ }>: ConstTrue,
sourceimpl<const A: usize, const B: usize, const C: usize, const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reshape<Tensor4D<M, N, O, P, H>> for Tensor3D<A, B, C, H>where
Assert<{ _ }>: ConstTrue,
impl<const A: usize, const B: usize, const C: usize, const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reshape<Tensor4D<M, N, O, P, H>> for Tensor3D<A, B, C, H>where
Assert<{ _ }>: ConstTrue,
sourceimpl<const A: usize, const B: usize, const C: usize, const D: usize, const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reshape<Tensor4D<M, N, O, P, H>> for Tensor4D<A, B, C, D, H>where
Assert<{ _ }>: ConstTrue,
impl<const A: usize, const B: usize, const C: usize, const D: usize, const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Reshape<Tensor4D<M, N, O, P, H>> for Tensor4D<A, B, C, D, H>where
Assert<{ _ }>: ConstTrue,
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, N, O, H>, Axis<3>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, N, O, H>, Axis<3>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, N, P, H>, Axis<2>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, N, P, H>, Axis<2>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, O, P, H>, Axis<1>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<M, O, P, H>, Axis<1>> for Tensor4D<M, N, O, P, H>
type Indices = [usize; M]
sourcefn select(self, indices: &Self::Indices) -> Tensor3D<M, O, P, H>
fn select(self, indices: &Self::Indices) -> Tensor3D<M, O, P, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<N, O, P, H>, Axis<0>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> SelectTo<Tensor3D<N, O, P, H>, Axis<0>> for Tensor4D<M, N, O, P, H>
type Indices = usize
sourcefn select(self, indices: &Self::Indices) -> Tensor3D<N, O, P, H>
fn select(self, indices: &Self::Indices) -> Tensor3D<N, O, P, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, const O: usize, const B: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<B, Z, N, O, H>, Axis<0>> for Tensor3D<M, N, O, H>
impl<const M: usize, const N: usize, const O: usize, const B: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<B, Z, N, O, H>, Axis<0>> for Tensor3D<M, N, O, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, N, O, Z, H>, Axis<3>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, N, O, Z, H>, Axis<3>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, N, Z, P, H>, Axis<2>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, N, Z, P, H>, Axis<2>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, Z, O, P, H>, Axis<1>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<M, Z, O, P, H>, Axis<1>> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<Z, N, O, P, H>, Axis<0>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, const Z: usize, H: Tape> SelectTo<Tensor4D<Z, N, O, P, H>, Axis<0>> for Tensor4D<M, N, O, P, H>
type Indices = [usize; Z]
sourcefn select(self, indices: &Self::Indices) -> Tensor4D<Z, N, O, P, H>
fn select(self, indices: &Self::Indices) -> Tensor4D<Z, N, O, P, H>
Select sub elements using Self::Indices.
The same element can be selected multiple times depending
on Self::Indices. Read more
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Sub<Tensor4D<M, N, O, P, H>> for f32
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Sub<Tensor4D<M, N, O, P, H>> for f32
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape, TapeR: Tape> Sub<Tensor4D<M, N, O, P, TapeR>> for Tensor4D<M, N, O, P, TapeL>where
TapeL: Merge<TapeR>,
impl<const M: usize, const N: usize, const O: usize, const P: usize, TapeL: Tape, TapeR: Tape> Sub<Tensor4D<M, N, O, P, TapeR>> for Tensor4D<M, N, O, P, TapeL>where
TapeL: Merge<TapeR>,
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Sub<f32> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Sub<f32> for Tensor4D<M, N, O, P, H>
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> Tensor for Tensor4D<M, N, O, P, H>
sourcefn split_tape(self) -> (Self::NoTape, Self::Tape)
fn split_tape(self) -> (Self::NoTape, Self::Tape)
Removes whatever Tape this tensor has and returns itself without a tape.
sourcefn with_empty_tape(&self) -> Self
fn with_empty_tape(&self) -> Self
Clones self and initializes a new empty tape.
sourceimpl<const M: usize, const N: usize, const O: usize, const P: usize> TensorCreator for Tensor4D<M, N, O, P, NoneTape>
impl<const M: usize, const N: usize, const O: usize, const P: usize> TensorCreator for Tensor4D<M, N, O, P, NoneTape>
sourcefn new(data: Self::Array) -> Self
fn new(data: Self::Array) -> Self
Create a new tensor with
Self::Array
on the stack. This just boxes Self::Array
and calls TensorCreator::new_boxed.impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor0D<H>, AllAxes> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor1D<M, H>, (Axis<1>, Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor1D<N, H>, (Axis<0>, Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor1D<O, H>, (Axis<0>, Axis<1>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor1D<P, H>, (Axis<0>, Axis<1>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor2D<M, N, H>, (Axis<2>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor2D<M, O, H>, (Axis<1>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor2D<M, P, H>, (Axis<1>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor2D<N, O, H>, (Axis<0>, Axis<3>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor2D<N, P, H>, (Axis<0>, Axis<2>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor2D<O, P, H>, (Axis<0>, Axis<1>)> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor3D<M, N, O, H>, Axis<3>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor3D<M, N, P, H>, Axis<2>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor3D<M, O, P, H>, Axis<1>> for Tensor4D<M, N, O, P, H>
impl<const M: usize, const N: usize, const O: usize, const P: usize, H: Tape> ReduceTo<Tensor3D<N, O, P, H>, Axis<0>> for Tensor4D<M, N, O, P, H>
Auto Trait Implementations
impl<const M: usize, const N: usize, const O: usize, const P: usize, Tape> RefUnwindSafe for Tensor4D<M, N, O, P, Tape>where
Tape: RefUnwindSafe,
impl<const M: usize, const N: usize, const O: usize, const P: usize, Tape> Send for Tensor4D<M, N, O, P, Tape>where
Tape: Send,
impl<const M: usize, const N: usize, const O: usize, const P: usize, Tape> Sync for Tensor4D<M, N, O, P, Tape>where
Tape: Sync,
impl<const M: usize, const N: usize, const O: usize, const P: usize, Tape> Unpin for Tensor4D<M, N, O, P, Tape>where
Tape: Unpin,
impl<const M: usize, const N: usize, const O: usize, const P: usize, Tape> UnwindSafe for Tensor4D<M, N, O, P, Tape>where
Tape: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CanUpdateWithGradients for Twhere
T: Tensor<Dtype = f32>,
impl<T> CanUpdateWithGradients for Twhere
T: Tensor<Dtype = f32>,
sourcefn update<G>(&mut self, grads: &mut G, unused: &mut UnusedTensors)where
G: GradientProvider,
fn update<G>(&mut self, grads: &mut G, unused: &mut UnusedTensors)where
G: GradientProvider,
Subtracts the gradient for the tensor from HasArrayData::mut_data.