Trait neuronika::ConvolveWithGroups [−][src]
pub trait ConvolveWithGroups<Inp, Ker, Pad: PaddingMode> { type Output; fn convolve_with_groups(
input: Inp,
kernel: Ker,
stride: &[usize],
dilation: &[usize],
padding: &[usize],
padding_mode: Pad,
groups: usize
) -> Self::Output; }
Expand description
Grouped convolution.
Associated Types
The type of the grouped convolution’s result. See the differentiability arithmetic for more details.
Required methods
Implementors
impl<F1, B1, F2, B2, Pad> ConvolveWithGroups<VarDiff<F1, B1>, VarDiff<F2, B2>, Pad> for VarDiff<F1, B1> where
F1: NData + 'static,
<F1::Dim as Dimension>::Smaller: RemoveAxis,
<<F1::Dim as Dimension>::Smaller as Dimension>::Smaller: ReflPad + ReplPad,
B1: Gradient<Dim = F1::Dim> + Overwrite,
F2: NData<Dim = F1::Dim> + 'static,
B2: Gradient<Dim = F2::Dim> + Overwrite,
Pad: PaddingMode + 'static,
[src]
impl<F1, B1, F2, B2, Pad> ConvolveWithGroups<VarDiff<F1, B1>, VarDiff<F2, B2>, Pad> for VarDiff<F1, B1> where
F1: NData + 'static,
<F1::Dim as Dimension>::Smaller: RemoveAxis,
<<F1::Dim as Dimension>::Smaller as Dimension>::Smaller: ReflPad + ReplPad,
B1: Gradient<Dim = F1::Dim> + Overwrite,
F2: NData<Dim = F1::Dim> + 'static,
B2: Gradient<Dim = F2::Dim> + Overwrite,
Pad: PaddingMode + 'static,
[src]impl<F1, F2, B2, Pad> ConvolveWithGroups<Var<F1>, VarDiff<F2, B2>, Pad> for Var<F1> where
F1: NData + 'static,
<F1::Dim as Dimension>::Smaller: RemoveAxis,
<<F1::Dim as Dimension>::Smaller as Dimension>::Smaller: ReflPad + ReplPad,
F2: NData<Dim = F1::Dim> + 'static,
B2: Gradient<Dim = F2::Dim> + Overwrite,
Pad: PaddingMode + 'static,
[src]
impl<F1, F2, B2, Pad> ConvolveWithGroups<Var<F1>, VarDiff<F2, B2>, Pad> for Var<F1> where
F1: NData + 'static,
<F1::Dim as Dimension>::Smaller: RemoveAxis,
<<F1::Dim as Dimension>::Smaller as Dimension>::Smaller: ReflPad + ReplPad,
F2: NData<Dim = F1::Dim> + 'static,
B2: Gradient<Dim = F2::Dim> + Overwrite,
Pad: PaddingMode + 'static,
[src]