FlexNN 1
Fully connected neural network built from scratch with flexible n-layer design and multiple activations.
Loading...
Searching...
No Matches
FlexNN::Layers::MaxPool1D Class Reference

#include <Pool1D.hpp>

Public Member Functions

 MaxPool1D (Pool1DParams p, Activations::Activation act=Activations::Activation::None)
 
LayerType type () const noexcept
 
Activations::Activation activation () const noexcept
 
const Pool1DParams & params () const noexcept
 
std::pair< Eigen::MatrixXd, Eigen::MatrixXd > forward (const Eigen::MatrixXd &input) const
 
Eigen::MatrixXd backward (const Eigen::MatrixXd &upstream, const Eigen::MatrixXd &currZ) const
 
Eigen::MatrixXd backward (const Eigen::MatrixXd &nextW, const Eigen::MatrixXd &nextdZ, const Eigen::MatrixXd &currZ) const
 
Eigen::MatrixXd propagate (const Eigen::MatrixXd &dZ) const
 
std::pair< Eigen::MatrixXd, Eigen::VectorXd > grad (const Eigen::MatrixXd &dZ, const Eigen::MatrixXd &input) const
 
void update (const Eigen::MatrixXd &dW, const Eigen::VectorXd &db, double lr) noexcept
 
void updateWeights (const Eigen::MatrixXd &dW, const Eigen::VectorXd &db, double lr) noexcept
 

Constructor & Destructor Documentation

◆ MaxPool1D()

FlexNN::Layers::MaxPool1D::MaxPool1D ( Pool1DParams  p,
Activations::Activation  act = Activations::Activation::None 
)
explicit

Member Function Documentation

◆ activation()

Activations::Activation FlexNN::Layers::MaxPool1D::activation ( ) const
inlinenoexcept

◆ backward() [1/2]

Eigen::MatrixXd FlexNN::Layers::MaxPool1D::backward ( const Eigen::MatrixXd &  nextW,
const Eigen::MatrixXd &  nextdZ,
const Eigen::MatrixXd &  currZ 
) const

◆ backward() [2/2]

Eigen::MatrixXd FlexNN::Layers::MaxPool1D::backward ( const Eigen::MatrixXd &  upstream,
const Eigen::MatrixXd &  currZ 
) const

◆ forward()

std::pair< Eigen::MatrixXd, Eigen::MatrixXd > FlexNN::Layers::MaxPool1D::forward ( const Eigen::MatrixXd &  input) const

◆ grad()

std::pair< Eigen::MatrixXd, Eigen::VectorXd > FlexNN::Layers::MaxPool1D::grad ( const Eigen::MatrixXd &  dZ,
const Eigen::MatrixXd &  input 
) const

◆ params()

const Pool1DParams & FlexNN::Layers::MaxPool1D::params ( ) const
inlinenoexcept

◆ propagate()

Eigen::MatrixXd FlexNN::Layers::MaxPool1D::propagate ( const Eigen::MatrixXd &  dZ) const

◆ type()

LayerType FlexNN::Layers::MaxPool1D::type ( ) const
inlinenoexcept

◆ update()

void FlexNN::Layers::MaxPool1D::update ( const Eigen::MatrixXd &  dW,
const Eigen::VectorXd &  db,
double  lr 
)
noexcept

◆ updateWeights()

void FlexNN::Layers::MaxPool1D::updateWeights ( const Eigen::MatrixXd &  dW,
const Eigen::VectorXd &  db,
double  lr 
)
inlinenoexcept

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