Deep Learning Algorithm Implementations 1.0.0
C++ implementations of fundamental deep learning algorithms
|
Linear (fully connected) layer: y = xW^T + b. More...
#include <layers.hpp>
Public Member Functions | |
Linear (size_t in_features, size_t out_features, bool bias=true) | |
Constructor. | |
Variable< T > | forward (const Variable< T > &input) override |
Forward pass: y = xW^T + b. | |
std::vector< Variable< T > * > | parameters () override |
Get parameters (weight and bias) | |
Variable< T > & | weight () |
Variable< T > & | bias () |
const Variable< T > & | weight () const |
const Variable< T > & | bias () const |
![]() | |
virtual | ~Module ()=default |
virtual void | zero_grad () |
Zero gradients of all parameters. | |
virtual void | train (bool training=true) |
Set training mode. | |
virtual void | eval () |
Set evaluation mode. | |
bool | is_training () const |
Check if module is in training mode. | |
Additional Inherited Members | |
![]() | |
bool | training_ = true |
Linear (fully connected) layer: y = xW^T + b.
Definition at line 82 of file layers.hpp.
dl::layers::Linear< T >::Linear | ( | size_t | in_features, |
size_t | out_features, | ||
bool | bias = true |
||
) |
Constructor.
in_features | Number of input features |
out_features | Number of output features |
bias | Whether to include bias term |
Definition at line 13 of file layers.cpp.
|
inline |
Definition at line 106 of file layers.hpp.
|
inline |
Definition at line 108 of file layers.hpp.
|
overridevirtual |
Forward pass: y = xW^T + b.
input | Input variable of shape (batch_size, in_features) |
Implements dl::layers::Module< T >.
Definition at line 38 of file layers.cpp.
|
overridevirtual |
Get parameters (weight and bias)
Implements dl::layers::Module< T >.
Definition at line 54 of file layers.cpp.
|
inline |
Definition at line 105 of file layers.hpp.
|
inline |
Definition at line 107 of file layers.hpp.