44 Conv1D(
int inChannels,
int outChannels,
int kernelSize,
int stride = 1,
45 int padding = 0,
int dilation = 1,
53 const Eigen::MatrixXd&
weights() const noexcept {
return W_; }
54 const Eigen::VectorXd&
biases() const noexcept {
return b_; }
57 void setBiases(
const Eigen::VectorXd& b) { b_ = b; }
66 std::pair<Eigen::MatrixXd, Eigen::MatrixXd>
forward(
67 const Eigen::MatrixXd& input)
const;
75 Eigen::MatrixXd
backward(
const Eigen::MatrixXd& nextW,
76 const Eigen::MatrixXd& nextdZ,
77 const Eigen::MatrixXd& currZ)
const;
86 Eigen::MatrixXd
backward(
const Eigen::MatrixXd& upstream,
87 const Eigen::MatrixXd& currZ)
const;
104 Eigen::MatrixXd
propagate(
const Eigen::MatrixXd& dZ)
const;
116 std::pair<Eigen::MatrixXd, Eigen::VectorXd>
grad(
117 const Eigen::MatrixXd& dZ,
const Eigen::MatrixXd& input)
const;
119 void update(
const Eigen::MatrixXd& dW,
const Eigen::VectorXd& db,
122 double lr)
noexcept {
128 int l_out(
int L_in)
const noexcept;
130 int l_in_from_lout(
int L_out)
const noexcept;
Per-activation hyperparameters for FlexNN::Activations.
Public activation enum and helpers for FlexNN.
Shared PODs for FlexNN::Layers — LayerType, DType, and per-type Params.
std::pair< Eigen::MatrixXd, Eigen::VectorXd > grad(const Eigen::MatrixXd &dZ, const Eigen::MatrixXd &input) const
Compute gradients dW and db for SGD update.
Definition Conv1D.cpp:193
Eigen::MatrixXd propagate(const Eigen::MatrixXd &dZ) const
Propagate gradient to previous layer: dX = W^T * dZ via col2im.
Definition Conv1D.cpp:143
void updateWeights(const Eigen::MatrixXd &dW, const Eigen::VectorXd &db, double lr) noexcept
Definition Conv1D.hpp:121
const Activations::ActivationParameters & activationParams() const noexcept
Definition Conv1D.hpp:51
LayerType type() const noexcept
Definition Conv1D.hpp:49
const Eigen::MatrixXd & weights() const noexcept
Definition Conv1D.hpp:53
void setWeights(const Eigen::MatrixXd &W)
Definition Conv1D.hpp:56
Activations::Activation activation() const noexcept
Definition Conv1D.hpp:50
void setBiases(const Eigen::VectorXd &b)
Definition Conv1D.hpp:57
void setActivationParameters(const Activations::ActivationParameters &p)
Definition Conv1D.hpp:58
std::pair< Eigen::MatrixXd, Eigen::MatrixXd > forward(const Eigen::MatrixXd &input) const
Forward: Z[oc][ol] = b[oc] + Σic Σk W[oc][ic*K+k] * Xpad[ic][ol*stride - pad + k*dilation]
Definition Conv1D.cpp:84
const Eigen::VectorXd & biases() const noexcept
Definition Conv1D.hpp:54
const Conv1DParams & params() const noexcept
Definition Conv1D.hpp:52
void update(const Eigen::MatrixXd &dW, const Eigen::VectorXd &db, double lr) noexcept
Definition Conv1D.cpp:245
Eigen::MatrixXd backward(const Eigen::MatrixXd &nextW, const Eigen::MatrixXd &nextdZ, const Eigen::MatrixXd &currZ) const
Backward for hidden layers (old signature, for dense_test compatibility).
Definition Conv1D.cpp:130
Activation
Activation function identifier.
Definition Activation.hpp:41
Definition BatchNorm1D.hpp:24
LayerType
Layer kind, stable on-wire (uint8_t).
Definition LayerTypes.hpp:22
@ Conv1D
1D temporal convolution
Hyperparameters for activations.
Definition ActivationParameters.hpp:30
Parameters for a Conv1D layer.
Definition LayerTypes.hpp:64