Deep Learning Algorithm Implementations 1.0.0
C++ implementations of fundamental deep learning algorithms
Loading...
Searching...
No Matches
dl::layers::Sequential< T > Class Template Reference

Sequential container for chaining modules. More...

#include <layers.hpp>

Inheritance diagram for dl::layers::Sequential< T >:
Collaboration diagram for dl::layers::Sequential< T >:

Public Member Functions

void add_module (std::shared_ptr< Module< T > > module)
 Add a module to the sequence.
 
Variable< T > forward (const Variable< T > &input) override
 Forward pass through all modules in sequence.
 
std::vector< Variable< T > * > parameters () override
 Get parameters from all modules.
 
void zero_grad () override
 Zero gradients for all modules.
 
void train (bool training=true) override
 Set training mode for all modules.
 
- Public Member Functions inherited from dl::layers::Module< T >
virtual ~Module ()=default
 
virtual void eval ()
 Set evaluation mode.
 
bool is_training () const
 Check if module is in training mode.
 

Additional Inherited Members

- Protected Attributes inherited from dl::layers::Module< T >
bool training_ = true
 

Detailed Description

template<typename T>
class dl::layers::Sequential< T >

Sequential container for chaining modules.

Definition at line 173 of file layers.hpp.

Member Function Documentation

◆ add_module()

template<typename T >
void dl::layers::Sequential< T >::add_module ( std::shared_ptr< Module< T > >  module)

Add a module to the sequence.

Definition at line 116 of file layers.cpp.

◆ forward()

template<typename T >
Variable< T > dl::layers::Sequential< T >::forward ( const Variable< T > &  input)
overridevirtual

Forward pass through all modules in sequence.

Implements dl::layers::Module< T >.

Definition at line 121 of file layers.cpp.

◆ parameters()

template<typename T >
std::vector< Variable< T > * > dl::layers::Sequential< T >::parameters ( )
overridevirtual

Get parameters from all modules.

Implements dl::layers::Module< T >.

Definition at line 133 of file layers.cpp.

◆ train()

template<typename T >
void dl::layers::Sequential< T >::train ( bool  training = true)
overridevirtual

Set training mode for all modules.

Reimplemented from dl::layers::Module< T >.

Definition at line 150 of file layers.cpp.

◆ zero_grad()

template<typename T >
void dl::layers::Sequential< T >::zero_grad ( )
overridevirtual

Zero gradients for all modules.

Reimplemented from dl::layers::Module< T >.

Definition at line 143 of file layers.cpp.


The documentation for this class was generated from the following files: