pub struct MaxPool2d {
pub kernel_size: [usize; 2],
pub stride: [usize; 2],
pub padding: [usize; 2],
}Expand description
2D max pooling layer.
Slides a kernel window over each [H, W] spatial plane, taking the
maximum value in each window. Zero parameters.
Input shape: [B, C, H, W]
Output shape: [B, C, H_out, W_out]
Fields§
§kernel_size: [usize; 2]§stride: [usize; 2]§padding: [usize; 2]Implementations§
Trait Implementations§
Source§impl<T: Float> Module<T> for MaxPool2d
impl<T: Float> Module<T> for MaxPool2d
Source§fn forward(&self, input: &Tensor<T>) -> FerrotorchResult<Tensor<T>>
fn forward(&self, input: &Tensor<T>) -> FerrotorchResult<Tensor<T>>
Forward pass. Takes input tensor, returns output tensor.
Source§fn parameters(&self) -> Vec<&Parameter<T>>
fn parameters(&self) -> Vec<&Parameter<T>>
Iterate over all learnable parameters.
Source§fn parameters_mut(&mut self) -> Vec<&mut Parameter<T>>
fn parameters_mut(&mut self) -> Vec<&mut Parameter<T>>
Iterate over all learnable parameters mutably.
Source§fn named_parameters(&self) -> Vec<(String, &Parameter<T>)>
fn named_parameters(&self) -> Vec<(String, &Parameter<T>)>
Named parameters for state dict serialization. Read more
Source§fn is_training(&self) -> bool
fn is_training(&self) -> bool
Whether the module is in training mode.
Source§fn to_device(&mut self, device: Device) -> FerrotorchResult<()>
fn to_device(&mut self, device: Device) -> FerrotorchResult<()>
Move all parameters and buffers to a device. Read more
Source§fn state_dict(&self) -> StateDict<T>
fn state_dict(&self) -> StateDict<T>
Export parameters and buffers as a state dict (torch parity). Read more
Source§fn buffers(&self) -> Vec<&Buffer<T>>
fn buffers(&self) -> Vec<&Buffer<T>>
Iterate over all non-trainable buffers (e.g. running mean / variance
in BatchNorm). Default returns empty — concrete modules with buffers
override.
Source§fn buffers_mut(&mut self) -> Vec<&mut Buffer<T>>
fn buffers_mut(&mut self) -> Vec<&mut Buffer<T>>
Mutable iteration over all buffers. Default returns empty.
Source§fn named_buffers(&self) -> Vec<(String, &Buffer<T>)>
fn named_buffers(&self) -> Vec<(String, &Buffer<T>)>
Named buffers (dot-separated paths for nested modules). Default
returns empty.
Source§fn as_any(&self) -> Option<&dyn Any>
fn as_any(&self) -> Option<&dyn Any>
Downcast hook for type-erased buffer-loader dispatch. (#984) Read more
Source§fn children(&self) -> Vec<&dyn Module<T>>
fn children(&self) -> Vec<&dyn Module<T>>
Direct child modules. Default returns empty (leaf module).
Source§fn named_children(&self) -> Vec<(String, &dyn Module<T>)>
fn named_children(&self) -> Vec<(String, &dyn Module<T>)>
Direct child modules with their attribute names. Default returns
empty.
Source§fn modules(&self) -> Vec<&dyn Module<T>>where
Self: Sized,
fn modules(&self) -> Vec<&dyn Module<T>>where
Self: Sized,
All modules in this subtree, depth-first (self first, then each
child’s descendants in order). Read more
Source§fn descendants_dyn(&self) -> Vec<&dyn Module<T>>
fn descendants_dyn(&self) -> Vec<&dyn Module<T>>
All strict descendants of
self in depth-first order. Object-safe.Source§fn named_modules(&self) -> Vec<(String, &dyn Module<T>)>where
Self: Sized,
fn named_modules(&self) -> Vec<(String, &dyn Module<T>)>where
Self: Sized,
All modules in this subtree with dot-separated path names. The root
is named
""; children paths are joined with ..Source§fn named_descendants_dyn(&self) -> Vec<(String, &dyn Module<T>)>
fn named_descendants_dyn(&self) -> Vec<(String, &dyn Module<T>)>
Strict descendants with dot-paths. Object-safe.
Source§fn with_forward_hook(
self,
hook: ForwardHook<T>,
) -> (HookedModule<Self, T>, HookHandle)where
Self: Sized,
fn with_forward_hook(
self,
hook: ForwardHook<T>,
) -> (HookedModule<Self, T>, HookHandle)where
Self: Sized,
Wrap this module in a
HookedModule and register a forward hook.
Returns the wrapper paired with a HookHandle that can be used to
remove the hook later. The wrapper implements Module<T> itself, so
it slots into any place the original module did. Mirrors
torch.nn.Module.register_forward_hook.Source§fn with_forward_pre_hook(
self,
hook: ForwardPreHook<T>,
) -> (HookedModule<Self, T>, HookHandle)where
Self: Sized,
fn with_forward_pre_hook(
self,
hook: ForwardPreHook<T>,
) -> (HookedModule<Self, T>, HookHandle)where
Self: Sized,
Wrap this module in a
HookedModule and register a forward
pre-hook. See Self::with_forward_hook. Mirrors
torch.nn.Module.register_forward_pre_hook.Source§fn with_backward_hook(
self,
hook: BackwardHook<T>,
) -> (HookedModule<Self, T>, HookHandle)where
Self: Sized,
fn with_backward_hook(
self,
hook: BackwardHook<T>,
) -> (HookedModule<Self, T>, HookHandle)where
Self: Sized,
Wrap this module in a
HookedModule and register a backward hook.
See Self::with_forward_hook. Mirrors
torch.nn.Module.register_backward_hook.Source§fn zero_grad(&self) -> FerrotorchResult<()>
fn zero_grad(&self) -> FerrotorchResult<()>
Set the gradient of every parameter to
None. Read moreSource§fn requires_grad_(&mut self, requires_grad: bool)
fn requires_grad_(&mut self, requires_grad: bool)
Toggle
requires_grad on every parameter (freeze / unfreeze the
module). Mirrors torch.nn.Module.requires_grad_.Source§fn apply_to_parameters(&mut self, f: &mut dyn FnMut(&mut Parameter<T>))
fn apply_to_parameters(&mut self, f: &mut dyn FnMut(&mut Parameter<T>))
Apply a function to every parameter in this module. Mirrors
torch.nn.Module.apply for the parameter case (true apply recurses
over all submodules; the recursive form requires &mut dyn Module
which conflicts with this trait’s &mut self borrow). Read moreSource§fn load_state_dict(
&mut self,
state: &StateDict<T>,
strict: bool,
) -> FerrotorchResult<()>
fn load_state_dict( &mut self, state: &StateDict<T>, strict: bool, ) -> FerrotorchResult<()>
Load parameters from a state dict. Read more
Auto Trait Implementations§
impl Freeze for MaxPool2d
impl RefUnwindSafe for MaxPool2d
impl Send for MaxPool2d
impl Sync for MaxPool2d
impl Unpin for MaxPool2d
impl UnsafeUnpin for MaxPool2d
impl UnwindSafe for MaxPool2d
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more