#include <BatchNorm1D.hpp>
|
| | BatchNorm1D (BatchNormParams p, Activations::Activation act=Activations::Activation::None) |
| |
| | BatchNorm1D (int numFeatures, float epsilon=1e-5f, Activations::Activation act=Activations::Activation::None) |
| |
| LayerType | type () const noexcept |
| |
| Activations::Activation | activation () const noexcept |
| |
| const BatchNormParams & | params () const noexcept |
| |
| const Eigen::VectorXd & | gamma () const noexcept |
| |
| const Eigen::VectorXd & | beta () const noexcept |
| |
| const Eigen::VectorXd & | runningMean () const noexcept |
| |
| const Eigen::VectorXd & | runningVar () const noexcept |
| |
| void | setGamma (const Eigen::VectorXd &g) |
| |
| void | setBeta (const Eigen::VectorXd &b) |
| |
| void | setRunningMean (const Eigen::VectorXd &m) |
| |
| void | setRunningVar (const Eigen::VectorXd &v) |
| |
| std::pair< Eigen::MatrixXd, Eigen::MatrixXd > | forward (const Eigen::MatrixXd &input) const |
| | Forward with batch stats (training) — updates running stats.
|
| |
| std::pair< Eigen::MatrixXd, Eigen::MatrixXd > | forward (const Eigen::MatrixXd &input, bool training) const |
| | Forward with explicit training flag.
|
| |
| 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 |
| |
◆ BatchNorm1D() [1/2]
◆ BatchNorm1D() [2/2]
◆ activation()
◆ backward() [1/2]
| Eigen::MatrixXd FlexNN::Layers::BatchNorm1D::backward |
( |
const Eigen::MatrixXd & |
nextW, |
|
|
const Eigen::MatrixXd & |
nextdZ, |
|
|
const Eigen::MatrixXd & |
currZ |
|
) |
| const |
◆ backward() [2/2]
| Eigen::MatrixXd FlexNN::Layers::BatchNorm1D::backward |
( |
const Eigen::MatrixXd & |
upstream, |
|
|
const Eigen::MatrixXd & |
currZ |
|
) |
| const |
◆ beta()
| const Eigen::VectorXd & FlexNN::Layers::BatchNorm1D::beta |
( |
| ) |
const |
|
inlinenoexcept |
◆ forward() [1/2]
| std::pair< Eigen::MatrixXd, Eigen::MatrixXd > FlexNN::Layers::BatchNorm1D::forward |
( |
const Eigen::MatrixXd & |
input | ) |
const |
Forward with batch stats (training) — updates running stats.
Uses batch mean/var per feature (row) across batch*L_out? For 1D case with flattened [F*L × batch] input, we treat each row as a feature and compute mean/var over cols (batch). This matches the flattened Dense/BatchNorm stack where each feature is a separate row.
- Parameters
-
| input | [F × batch] or [F*L × batch] (each row is a feature) |
- Returns
- Pair (Z, A) where Z is normalized
y and A = act(Z) (None)
◆ forward() [2/2]
| std::pair< Eigen::MatrixXd, Eigen::MatrixXd > FlexNN::Layers::BatchNorm1D::forward |
( |
const Eigen::MatrixXd & |
input, |
|
|
bool |
training |
|
) |
| const |
Forward with explicit training flag.
When training==false, uses runningMean/Var (for predict).
◆ gamma()
| const Eigen::VectorXd & FlexNN::Layers::BatchNorm1D::gamma |
( |
| ) |
const |
|
inlinenoexcept |
◆ grad()
| std::pair< Eigen::MatrixXd, Eigen::VectorXd > FlexNN::Layers::BatchNorm1D::grad |
( |
const Eigen::MatrixXd & |
dZ, |
|
|
const Eigen::MatrixXd & |
input |
|
) |
| const |
◆ params()
◆ propagate()
| Eigen::MatrixXd FlexNN::Layers::BatchNorm1D::propagate |
( |
const Eigen::MatrixXd & |
dZ | ) |
const |
◆ runningMean()
| const Eigen::VectorXd & FlexNN::Layers::BatchNorm1D::runningMean |
( |
| ) |
const |
|
inlinenoexcept |
◆ runningVar()
| const Eigen::VectorXd & FlexNN::Layers::BatchNorm1D::runningVar |
( |
| ) |
const |
|
inlinenoexcept |
◆ setBeta()
| void FlexNN::Layers::BatchNorm1D::setBeta |
( |
const Eigen::VectorXd & |
b | ) |
|
|
inline |
◆ setGamma()
| void FlexNN::Layers::BatchNorm1D::setGamma |
( |
const Eigen::VectorXd & |
g | ) |
|
|
inline |
◆ setRunningMean()
| void FlexNN::Layers::BatchNorm1D::setRunningMean |
( |
const Eigen::VectorXd & |
m | ) |
|
|
inline |
◆ setRunningVar()
| void FlexNN::Layers::BatchNorm1D::setRunningVar |
( |
const Eigen::VectorXd & |
v | ) |
|
|
inline |
◆ type()
| LayerType FlexNN::Layers::BatchNorm1D::type |
( |
| ) |
const |
|
inlinenoexcept |
◆ update()
| void FlexNN::Layers::BatchNorm1D::update |
( |
const Eigen::MatrixXd & |
dW, |
|
|
const Eigen::VectorXd & |
db, |
|
|
double |
lr |
|
) |
| |
|
noexcept |
◆ updateWeights()
| void FlexNN::Layers::BatchNorm1D::updateWeights |
( |
const Eigen::MatrixXd & |
dW, |
|
|
const Eigen::VectorXd & |
db, |
|
|
double |
lr |
|
) |
| |
|
inlinenoexcept |
The documentation for this class was generated from the following files: