Mila 0.13.48
Deep Neural Network Library
Loading...
Searching...
No Matches
Mila::Dnn::LinearConfig Class Referenceexport

Configuration object for a Linear (fully connected) layer. More...

Inheritance diagram for Mila::Dnn::LinearConfig:
Collaboration diagram for Mila::Dnn::LinearConfig:

Public Member Functions

 LinearConfig (dim_t input_features, dim_t output_features)
 Construct a LinearConfig with required feature dimensions.
void fromMetadata (const SerializationMetadata &meta) override
 Populate configuration from provided metadata.
dim_t getInputFeatures () const noexcept
 Get the configured number of input features.
dim_t getOutputFeatures () const noexcept
 Get the configured number of output features.
bool hasBias () const noexcept
 Query whether the bias term is enabled.
SerializationMetadata toMetadata () const override
 Convert configuration into SerializationMetadata.
std::string toString () const override
 Human-readable summary suitable for logging.
void validate () const override
 Validate the configuration values.
template<typename Self>
Self && withBias (this Self &&self, bool has_bias)
 Fluent setter for bias enable flag.
template<typename Self>
Self && withInputFeatures (this Self &&self, dim_t input_features)
 Fluent setter for input features.
template<typename Self>
Self && withOutputFeatures (this Self &&self, dim_t output_features)
 Fluent setter for output features.
Public Member Functions inherited from Mila::Dnn::ComponentConfig
virtual ~ComponentConfig ()=default
 Virtual destructor for polymorphic base.

Private Attributes

bool has_bias_ { true }
 Whether the layer has a bias term.
dim_t input_features_
 Number of input features (must be > 0).
dim_t output_features_
 Number of output features (must be > 0).

Detailed Description

Configuration object for a Linear (fully connected) layer.

LinearConfig describes parameters required to construct a Linear layer: input and output feature dimensions and whether a bias is present.

Instances are lightweight value objects intended to be passed into module factories or constructors. Call validate() prior to constructing runtime objects to surface configuration errors early.

Constructor & Destructor Documentation

◆ LinearConfig()

Mila::Dnn::LinearConfig::LinearConfig ( dim_t input_features,
dim_t output_features )
inline

Construct a LinearConfig with required feature dimensions.

Parameters
input_featuresNumber of input features (must be > 0).
output_featuresNumber of output features (must be > 0).

Member Function Documentation

◆ fromMetadata()

void Mila::Dnn::LinearConfig::fromMetadata ( const SerializationMetadata & meta)
inlineoverridevirtual

Populate configuration from provided metadata.

Missing keys are ignored, leaving defaults intact. Type mismatches result in no assignment (use tryGet* helpers).

Parameters
metaMetadata to read configuration values from.

Implements Mila::Dnn::ComponentConfig.

Here is the call graph for this function:

◆ getInputFeatures()

dim_t Mila::Dnn::LinearConfig::getInputFeatures ( ) const
inlinenoexcept

Get the configured number of input features.

Returns
dim_t Number of input features configured.

◆ getOutputFeatures()

dim_t Mila::Dnn::LinearConfig::getOutputFeatures ( ) const
inlinenoexcept

Get the configured number of output features.

Returns
dim_t Number of output features configured.

◆ hasBias()

bool Mila::Dnn::LinearConfig::hasBias ( ) const
inlinenoexcept

Query whether the bias term is enabled.

Returns
bool True if bias is enabled; false otherwise.

◆ toMetadata()

SerializationMetadata Mila::Dnn::LinearConfig::toMetadata ( ) const
inlineoverridevirtual

Convert configuration into SerializationMetadata.

Produces keys:

  • "precision" : integer (ComputePrecision::Policy)
  • "input_features" : integer
  • "output_features" : integer
  • "has_bias" : boolean
Returns
SerializationMetadata Metadata representing this configuration.

Implements Mila::Dnn::ComponentConfig.

Here is the call graph for this function:

◆ toString()

std::string Mila::Dnn::LinearConfig::toString ( ) const
inlineoverridevirtual

Human-readable summary suitable for logging.

Returns
std::string Compact description of the configuration.

Implements Mila::Dnn::ComponentConfig.

◆ validate()

void Mila::Dnn::LinearConfig::validate ( ) const
inlineoverridevirtual

Validate the configuration values.

Throws std::invalid_argument when the configuration is invalid.

Implements Mila::Dnn::ComponentConfig.

◆ withBias()

template<typename Self>
Self && Mila::Dnn::LinearConfig::withBias ( this Self && self,
bool has_bias )
inline

Fluent setter for bias enable flag.

Template Parameters
SelfConcrete config type (deduced via explicit object parameter)
Parameters
has_biasTrue to include a bias parameter, false to omit it.
Returns
Self&& Reference to this configuration for chaining.
Here is the caller graph for this function:

◆ withInputFeatures()

template<typename Self>
Self && Mila::Dnn::LinearConfig::withInputFeatures ( this Self && self,
dim_t input_features )
inline

Fluent setter for input features.

Parameters
input_featuresNumber of input features.
Returns
Self&& Reference to this configuration for chaining.

◆ withOutputFeatures()

template<typename Self>
Self && Mila::Dnn::LinearConfig::withOutputFeatures ( this Self && self,
dim_t output_features )
inline

Fluent setter for output features.

Parameters
output_featuresNumber of output features.
Returns
Self&& Reference to this configuration for chaining.

Member Data Documentation

◆ has_bias_

bool Mila::Dnn::LinearConfig::has_bias_ { true }
private

Whether the layer has a bias term.

Default is true.

◆ input_features_

dim_t Mila::Dnn::LinearConfig::input_features_
private

Number of input features (must be > 0).

◆ output_features_

dim_t Mila::Dnn::LinearConfig::output_features_
private

Number of output features (must be > 0).


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