24 #ifndef __LBFGS_TYPES_H__
25 #define __LBFGS_TYPES_H__
27 #include "algorithms/algorithm.h"
28 #include "data_management/data/numeric_table.h"
29 #include "data_management/data/homogen_numeric_table.h"
30 #include "data_management/data/memory_block.h"
31 #include "services/daal_defines.h"
32 #include "algorithms/optimization_solver/iterative_solver/iterative_solver_batch.h"
33 #include "algorithms/optimization_solver/objective_function/sum_of_functions_batch.h"
34 #include "algorithms/engines/mt19937/mt19937.h"
48 namespace optimization_solver
78 correctionPairs = iterative_solver::lastOptionalData + 1,
84 averageArgumentLIterations,
88 lastOptionalData = averageArgumentLIterations,
104 struct DAAL_EXPORT Parameter :
public optimization_solver::iterative_solver::interface1::Parameter
117 DAAL_DEPRECATED Parameter(sum_of_functions::interface1::BatchPtr
function = sum_of_functions::interface1::BatchPtr(),
118 size_t nIterations = 100,
double accuracyThreshold = 1.0e-5,
119 size_t batchSize = 10,
size_t correctionPairBatchSize_ = 100,
120 size_t m = 10,
size_t L = 10,
size_t seed = 777);
122 DAAL_DEPRECATED_VIRTUAL
virtual ~Parameter() {}
129 engines::EnginePtr engine;
131 data_management::NumericTablePtr batchIndices;
133 size_t correctionPairBatchSize;
136 data_management::NumericTablePtr correctionPairBatchIndices;
140 data_management::NumericTablePtr stepLengthSequence;
147 DAAL_DEPRECATED_VIRTUAL
virtual services::Status check() const DAAL_C11_OVERRIDE;
158 class DAAL_EXPORT Input : public optimization_solver::iterative_solver::interface1::Input
161 typedef optimization_solver::iterative_solver::interface1::Input super;
162 DAAL_DEPRECATED Input();
163 DAAL_DEPRECATED Input(
const Input& other);
172 DAAL_DEPRECATED data_management::NumericTablePtr
get(OptionalDataId id)
const;
179 DAAL_DEPRECATED
void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
188 DAAL_DEPRECATED_VIRTUAL
virtual services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
196 class DAAL_EXPORT Result :
public optimization_solver::iterative_solver::interface1::Result
199 DECLARE_SERIALIZABLE_CAST(Result);
200 typedef optimization_solver::iterative_solver::interface1::Result super;
202 DAAL_DEPRECATED Result() {}
212 template <
typename algorithmFPType>
213 DAAL_EXPORT DAAL_DEPRECATED services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
const int method);
220 DAAL_DEPRECATED data_management::NumericTablePtr
get(OptionalDataId id)
const;
227 DAAL_DEPRECATED
void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
237 DAAL_DEPRECATED_VIRTUAL
virtual services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
238 int method)
const DAAL_C11_OVERRIDE;
240 typedef services::SharedPtr<Result> ResultPtr;
257 struct DAAL_EXPORT Parameter :
public optimization_solver::iterative_solver::Parameter
270 Parameter(sum_of_functions::BatchPtr
function = sum_of_functions::BatchPtr(),
271 size_t nIterations = 100,
double accuracyThreshold = 1.0e-5,
272 size_t batchSize = 10,
size_t correctionPairBatchSize_ = 100,
273 size_t m = 10,
size_t L = 10,
size_t seed = 777);
275 virtual ~Parameter() {}
282 engines::EnginePtr engine;
284 data_management::NumericTablePtr batchIndices;
286 size_t correctionPairBatchSize;
289 data_management::NumericTablePtr correctionPairBatchIndices;
293 data_management::NumericTablePtr stepLengthSequence;
300 virtual services::Status check() const DAAL_C11_OVERRIDE;
311 class DAAL_EXPORT Input : public optimization_solver::iterative_solver::Input
314 typedef optimization_solver::iterative_solver::Input super;
316 Input(
const Input& other);
325 data_management::NumericTablePtr
get(OptionalDataId id)
const;
332 void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
341 virtual services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
349 class DAAL_EXPORT Result :
public optimization_solver::iterative_solver::Result
352 DECLARE_SERIALIZABLE_CAST(Result);
353 typedef optimization_solver::iterative_solver::Result super;
365 template <
typename algorithmFPType>
366 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
const int method);
373 data_management::NumericTablePtr
get(OptionalDataId id)
const;
380 void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
390 virtual services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
391 int method)
const DAAL_C11_OVERRIDE;
393 typedef services::SharedPtr<Result> ResultPtr;
398 using interface2::Parameter;
399 using interface2::Input;
400 using interface2::Result;
401 using interface2::ResultPtr;
daal::algorithms::optimization_solver::lbfgs::Method
Method
Definition: lbfgs_types.h:67
daal::algorithms::optimization_solver::lbfgs::interface1::Parameter::correctionPairBatchIndices
data_management::NumericTablePtr correctionPairBatchIndices
Definition: lbfgs_types.h:136
daal::algorithms::optimization_solver::lbfgs::interface1::Parameter::engine
engines::EnginePtr engine
Definition: lbfgs_types.h:129
daal::algorithms::optimization_solver::lbfgs::interface2::Parameter::L
size_t L
Definition: lbfgs_types.h:280
daal::algorithms::optimization_solver::lbfgs::interface1::Parameter::L
size_t L
Definition: lbfgs_types.h:127
daal::algorithms::optimization_solver::lbfgs::interface2::Parameter::seed
size_t seed
Definition: lbfgs_types.h:281
daal::algorithms::optimization_solver::lbfgs::interface1::Parameter::correctionPairBatchSize
size_t correctionPairBatchSize
Definition: lbfgs_types.h:133
daal::algorithms::optimization_solver::lbfgs::interface2::Parameter::correctionPairBatchSize
size_t correctionPairBatchSize
Definition: lbfgs_types.h:286
daal::algorithms::optimization_solver::lbfgs::interface1::Parameter::seed
size_t seed
Definition: lbfgs_types.h:128
daal::algorithms::optimization_solver::lbfgs::interface1::Parameter::m
size_t m
Definition: lbfgs_types.h:124
daal::algorithms::optimization_solver::lbfgs::interface2::Parameter::correctionPairBatchIndices
data_management::NumericTablePtr correctionPairBatchIndices
Definition: lbfgs_types.h:289
daal::algorithms::optimization_solver::lbfgs::defaultDense
Definition: lbfgs_types.h:69
daal::algorithms::optimization_solver::lbfgs::OptionalDataId
OptionalDataId
Definition: lbfgs_types.h:76
daal::algorithms::optimization_solver::lbfgs::interface1::Parameter::stepLengthSequence
data_management::NumericTablePtr stepLengthSequence
Definition: lbfgs_types.h:140
daal::algorithms::optimization_solver::lbfgs::interface2::Parameter::m
size_t m
Definition: lbfgs_types.h:277
daal::algorithms::optimization_solver::lbfgs::interface2::Parameter::engine
engines::EnginePtr engine
Definition: lbfgs_types.h:282
daal::algorithms::optimization_solver::lbfgs::interface1::Parameter
Parameter class for LBFGS algorithm
Definition: lbfgs_types.h:104
daal::algorithms::optimization_solver::lbfgs::interface1::Input
Input class for LBFGS algorithm
Definition: lbfgs_types.h:158
daal::algorithms::optimization_solver::lbfgs::correctionPairs
Definition: lbfgs_types.h:78
daal::algorithms::optimization_solver::lbfgs::correctionIndices
Definition: lbfgs_types.h:81
daal::algorithms::optimization_solver::lbfgs::averageArgumentLIterations
Definition: lbfgs_types.h:84
daal::algorithms::optimization_solver::lbfgs::interface2::Input
Input class for LBFGS algorithm
Definition: lbfgs_types.h:311
daal::algorithms::optimization_solver::iterative_solver::interface1::Input
Input parameters for the iterative solver algorithm
Definition: iterative_solver_types.h:160
daal::algorithms::optimization_solver::lbfgs::interface2::Parameter
Parameter class for LBFGS algorithm
Definition: lbfgs_types.h:257
daal::algorithms::optimization_solver::lbfgs::interface1::Result
Results obtained with the compute() method of the LBFGS algorithm in the batch processing mode...
Definition: lbfgs_types.h:196
daal::algorithms::optimization_solver::iterative_solver::interface1::Result
Results obtained with the compute() method of the iterative solver algorithm in the batch processing ...
Definition: iterative_solver_types.h:223
daal::algorithms::optimization_solver::lbfgs::interface2::Result
Results obtained with the compute() method of the LBFGS algorithm in the batch processing mode...
Definition: lbfgs_types.h:349
daal::algorithms::optimization_solver::iterative_solver::interface1::Parameter
Parameter base class for the iterative solver algorithm
Definition: iterative_solver_types.h:115
daal::algorithms::em_gmm::nIterations
Definition: em_gmm_types.h:99
daal::algorithms::optimization_solver::lbfgs::interface2::Parameter::stepLengthSequence
data_management::NumericTablePtr stepLengthSequence
Definition: lbfgs_types.h:293