OpenNN
Open-source neural networks library
Loading...
Searching...
No Matches
opennn::OptimizerData Struct Reference

Per-optimizer scratch state shared across iterations. More...

#include <optimizer.h>

Public Member Functions

 OptimizerData ()=default
 Default constructor; data buffer left empty.
 
virtual ~OptimizerData ()=default
 Virtual destructor.
 
virtual void print () const
 Prints a human-readable summary of the scratch state.
 
void set (const vector< Shape > &slot_shapes, Device device=Device::CPU)
 Allocates the scratch buffer and slices it into views.
 

Public Attributes

Buffer data
 Owning storage for the per-slot scratch tensors.
 
vector< TensorViewviews
 Per-slot non-owning views into data.
 
VectorR potential_parameters
 Candidate parameter vector used by line searches.
 
VectorR training_direction
 Current search direction (e.g. quasi-Newton step).
 
float initial_learning_rate = 0.0f
 Initial learning rate at the start of a line search.
 
Index iteration = 0
 Iteration counter used by adaptive optimizers.
 

Detailed Description

Per-optimizer scratch state shared across iterations.

Holds an owning data buffer plus a vector of TensorViews into it (slot shapes are decided by the subclass), and three small fields used by line-search-based methods.

Constructor & Destructor Documentation

◆ OptimizerData()

opennn::OptimizerData::OptimizerData ( )
default

Default constructor; data buffer left empty.

◆ ~OptimizerData()

virtual opennn::OptimizerData::~OptimizerData ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ print()

virtual void opennn::OptimizerData::print ( ) const
virtual

Prints a human-readable summary of the scratch state.

◆ set()

void opennn::OptimizerData::set ( const vector< Shape > & slot_shapes,
Device device = Device::CPU )

Allocates the scratch buffer and slices it into views.

Parameters
slot_shapesPer-slot tensor shapes.
deviceCPU or GPU memory placement.

Member Data Documentation

◆ data

Buffer opennn::OptimizerData::data

Owning storage for the per-slot scratch tensors.

◆ initial_learning_rate

float opennn::OptimizerData::initial_learning_rate = 0.0f

Initial learning rate at the start of a line search.

◆ iteration

Index opennn::OptimizerData::iteration = 0

Iteration counter used by adaptive optimizers.

◆ potential_parameters

VectorR opennn::OptimizerData::potential_parameters

Candidate parameter vector used by line searches.

◆ training_direction

VectorR opennn::OptimizerData::training_direction

Current search direction (e.g. quasi-Newton step).

◆ views

vector<TensorView> opennn::OptimizerData::views

Per-slot non-owning views into data.