24 #ifndef __ADAGRAD_TYPES_H__
25 #define __ADAGRAD_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 "services/daal_defines.h"
31 #include "algorithms/optimization_solver/iterative_solver/iterative_solver_types.h"
32 #include "algorithms/engines/mt19937/mt19937.h"
38 namespace optimization_solver
67 gradientSquareSum = iterative_solver::lastOptionalData + 1,
70 lastOptionalData = gradientSquareSum
86 struct DAAL_EXPORT Parameter :
public optimization_solver::iterative_solver::interface1::Parameter
102 DAAL_DEPRECATED Parameter(
103 const sum_of_functions::interface1::BatchPtr &function_,
104 size_t nIterations_ = 100,
105 double accuracyThreshold_ = 1.0e-05,
106 data_management::NumericTablePtr batchIndices_ = data_management::NumericTablePtr(),
107 const size_t batchSize_ = 128,
108 data_management::NumericTablePtr learningRate_ = data_management::HomogenNumericTable<double>::create(1, 1, data_management::NumericTableIface::doAllocate, 0.01),
109 double degenerateCasesThreshold_ = 1.0e-08,
113 DAAL_DEPRECATED_VIRTUAL
virtual ~Parameter() {}
120 DAAL_DEPRECATED_VIRTUAL
virtual services::Status check()
const DAAL_C11_OVERRIDE;
122 data_management::NumericTablePtr batchIndices;
125 data_management::NumericTablePtr learningRate;
126 double degenerateCasesThreshold;
129 engines::EnginePtr engine;
141 class DAAL_EXPORT Input :
public optimization_solver::iterative_solver::interface1::Input
144 typedef optimization_solver::iterative_solver::interface1::Input super;
145 DAAL_DEPRECATED Input();
146 DAAL_DEPRECATED Input(
const Input& other);
156 DAAL_DEPRECATED data_management::NumericTablePtr
get(OptionalDataId id)
const;
163 DAAL_DEPRECATED
void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
172 DAAL_DEPRECATED_VIRTUAL
virtual services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
180 class DAAL_EXPORT Result :
public optimization_solver::iterative_solver::interface1::Result
183 DECLARE_SERIALIZABLE_CAST(Result);
184 typedef optimization_solver::iterative_solver::interface1::Result super;
186 DAAL_DEPRECATED Result() {}
198 template <
typename algorithmFPType>
199 DAAL_EXPORT DAAL_DEPRECATED services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
const int method);
206 DAAL_DEPRECATED data_management::NumericTablePtr
get(OptionalDataId id)
const;
213 DAAL_DEPRECATED
void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
223 DAAL_DEPRECATED_VIRTUAL
virtual services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
224 int method)
const DAAL_C11_OVERRIDE;
226 typedef services::SharedPtr<Result> ResultPtr;
245 struct DAAL_EXPORT Parameter :
public optimization_solver::iterative_solver::Parameter
262 const sum_of_functions::BatchPtr &function_,
263 size_t nIterations_ = 100,
264 double accuracyThreshold_ = 1.0e-05,
265 data_management::NumericTablePtr batchIndices_ = data_management::NumericTablePtr(),
266 const size_t batchSize_ = 128,
267 data_management::NumericTablePtr learningRate_ = data_management::HomogenNumericTable<double>::create(1, 1, data_management::NumericTableIface::doAllocate, 0.01),
268 double degenerateCasesThreshold_ = 1.0e-08,
272 virtual ~Parameter() {}
279 virtual services::Status check()
const DAAL_C11_OVERRIDE;
281 data_management::NumericTablePtr batchIndices;
284 data_management::NumericTablePtr learningRate;
285 double degenerateCasesThreshold;
288 engines::EnginePtr engine;
300 class DAAL_EXPORT Input :
public optimization_solver::iterative_solver::Input
303 typedef optimization_solver::iterative_solver::Input super;
305 Input(
const Input& other);
315 data_management::NumericTablePtr
get(OptionalDataId id)
const;
322 void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
331 virtual services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
339 class DAAL_EXPORT Result :
public optimization_solver::iterative_solver::Result
342 DECLARE_SERIALIZABLE_CAST(Result);
343 typedef optimization_solver::iterative_solver::Result super;
357 template <
typename algorithmFPType>
358 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
const int method);
365 data_management::NumericTablePtr
get(OptionalDataId id)
const;
372 void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
382 virtual services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
383 int method)
const DAAL_C11_OVERRIDE;
385 typedef services::SharedPtr<Result> ResultPtr;
390 using interface2::Parameter;
391 using interface2::Input;
392 using interface2::Result;
393 using interface2::ResultPtr;
daal::algorithms::optimization_solver::adagrad::interface2::Parameter::learningRate
data_management::NumericTablePtr learningRate
Definition: adagrad_types.h:284
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::seed
size_t seed
Definition: adagrad_types.h:127
daal::algorithms::optimization_solver::adagrad::interface1::Parameter
Parameter base class for the Adaptive gradient descent algorithm
Definition: adagrad_types.h:86
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::batchIndices
data_management::NumericTablePtr batchIndices
Definition: adagrad_types.h:122
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::degenerateCasesThreshold
double degenerateCasesThreshold
Definition: adagrad_types.h:126
daal::algorithms::optimization_solver::adagrad::gradientSquareSum
Definition: adagrad_types.h:67
daal::algorithms::optimization_solver::adagrad::interface2::Result
Results obtained with the compute() method of the adagrad algorithm in the batch processing mode...
Definition: adagrad_types.h:339
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::learningRate
data_management::NumericTablePtr learningRate
Definition: adagrad_types.h:125
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::engine
engines::EnginePtr engine
Definition: adagrad_types.h:129
daal::algorithms::optimization_solver::adagrad::interface2::Parameter
Parameter base class for the Adaptive gradient descent algorithm
Definition: adagrad_types.h:245
daal::algorithms::optimization_solver::adagrad::interface2::Input
Input class for the Adaptive gradient descent algorithm
Definition: adagrad_types.h:300
daal::algorithms::optimization_solver::adagrad::interface2::Parameter::engine
engines::EnginePtr engine
Definition: adagrad_types.h:288
daal::algorithms::optimization_solver::adagrad::defaultDense
Definition: adagrad_types.h:58
daal::algorithms::optimization_solver::adagrad::OptionalDataId
OptionalDataId
Definition: adagrad_types.h:65
daal::algorithms::optimization_solver::adagrad::Method
Method
Definition: adagrad_types.h:56
daal::algorithms::optimization_solver::adagrad::interface2::Parameter::seed
size_t seed
Definition: adagrad_types.h:286
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::adagrad::interface2::Parameter::degenerateCasesThreshold
double degenerateCasesThreshold
Definition: adagrad_types.h:285
daal::algorithms::optimization_solver::adagrad::interface2::Parameter::batchIndices
data_management::NumericTablePtr batchIndices
Definition: adagrad_types.h:281
daal::algorithms::optimization_solver::adagrad::interface1::Input
Input class for the Adaptive gradient descent algorithm
Definition: adagrad_types.h:141
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::iterative_solver::interface1::Parameter
Parameter base class for the iterative solver algorithm
Definition: iterative_solver_types.h:115
daal::algorithms::optimization_solver::adagrad::interface1::Result
Results obtained with the compute() method of the adagrad algorithm in the batch processing mode...
Definition: adagrad_types.h:180