Skip to main content

Module

Trait Module 

Source
pub trait Module: Send + Sync {
    // Required method
    fn forward(&self, input: &Variable) -> Variable;

    // Provided methods
    fn parameters(&self) -> Vec<Parameter> { ... }
    fn named_parameters(&self) -> HashMap<String, Parameter> { ... }
    fn num_parameters(&self) -> usize { ... }
    fn train(&mut self) { ... }
    fn eval(&mut self) { ... }
    fn set_training(&mut self, _training: bool) { ... }
    fn is_training(&self) -> bool { ... }
    fn zero_grad(&self) { ... }
    fn name(&self) -> &'static str { ... }
}
Expand description

Core trait for all neural network modules.

Every layer in Axonml implements this trait, which provides:

  • Forward pass computation
  • Parameter management
  • Training/evaluation mode switching
  • Module naming

Required Methods§

Source

fn forward(&self, input: &Variable) -> Variable

Performs the forward pass.

§Arguments
  • input - Input variable
§Returns

Output variable after applying this module’s transformation.

Provided Methods§

Source

fn parameters(&self) -> Vec<Parameter>

Returns all parameters of this module.

This includes parameters from all child modules.

Source

fn named_parameters(&self) -> HashMap<String, Parameter>

Returns named parameters of this module.

Source

fn num_parameters(&self) -> usize

Returns the number of trainable parameters.

Source

fn train(&mut self)

Sets the module to training mode.

Source

fn eval(&mut self)

Sets the module to evaluation mode.

Source

fn set_training(&mut self, _training: bool)

Sets the training mode.

Source

fn is_training(&self) -> bool

Returns whether the module is in training mode.

Source

fn zero_grad(&self)

Zeros all gradients of parameters.

Source

fn name(&self) -> &'static str

Returns the module name for debugging.

Implementors§

Source§

impl Module for LeNet

Source§

impl Module for MLP

Source§

impl Module for SimpleCNN

Source§

impl Module for BasicBlock

Source§

impl Module for Bottleneck

Source§

impl Module for ResNet

Source§

impl Module for Transformer

Source§

impl Module for TransformerDecoder

Source§

impl Module for TransformerDecoderLayer

Source§

impl Module for TransformerEncoder

Source§

impl Module for TransformerEncoderLayer

Source§

impl Module for VisionTransformer

Source§

impl Module for VGG

Source§

impl Module for VggClassifier

Source§

impl Module for VggFeatures

Source§

impl Module for ELU

Source§

impl Module for GELU

Source§

impl Module for Identity

Source§

impl Module for LeakyReLU

Source§

impl Module for LogSoftmax

Source§

impl Module for ReLU

Source§

impl Module for SiLU

Source§

impl Module for Sigmoid

Source§

impl Module for Softmax

Source§

impl Module for Tanh

Source§

impl Module for MultiHeadAttention

Source§

impl Module for Conv1d

Source§

impl Module for Conv2d

Source§

impl Module for AlphaDropout

Source§

impl Module for Dropout2d

Source§

impl Module for Dropout

Source§

impl Module for Embedding

Source§

impl Module for Linear

Source§

impl Module for BatchNorm1d

Source§

impl Module for BatchNorm2d

Source§

impl Module for GroupNorm

Source§

impl Module for InstanceNorm2d

Source§

impl Module for LayerNorm

Source§

impl Module for AdaptiveAvgPool2d

Source§

impl Module for AvgPool1d

Source§

impl Module for AvgPool2d

Source§

impl Module for MaxPool1d

Source§

impl Module for MaxPool2d

Source§

impl Module for GRU

Source§

impl Module for GRUCell

Source§

impl Module for LSTM

Source§

impl Module for LSTMCell

Source§

impl Module for RNN

Source§

impl Module for RNNCell

Source§

impl Module for MSELoss

Source§

impl Module for ModuleList

Source§

impl Module for Sequential