22 #ifndef __ADAGRAD_TYPES_H__
23 #define __ADAGRAD_TYPES_H__
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/numeric_table.h"
27 #include "data_management/data/homogen_numeric_table.h"
28 #include "services/daal_defines.h"
29 #include "algorithms/optimization_solver/iterative_solver/iterative_solver_types.h"
30 #include "algorithms/engines/mt19937/mt19937.h"
36 namespace optimization_solver
65 gradientSquareSum = iterative_solver::lastOptionalData + 1,
68 lastOptionalData = gradientSquareSum
84 struct DAAL_EXPORT Parameter :
public optimization_solver::iterative_solver::Parameter
101 const sum_of_functions::BatchPtr &function_,
102 size_t nIterations_ = 100,
103 double accuracyThreshold_ = 1.0e-05,
104 data_management::NumericTablePtr batchIndices_ = data_management::NumericTablePtr(),
105 const size_t batchSize_ = 128,
106 data_management::NumericTablePtr learningRate_ = data_management::HomogenNumericTable<double>::create(1, 1, data_management::NumericTableIface::doAllocate, 0.01),
107 double degenerateCasesThreshold_ = 1.0e-08,
111 virtual ~Parameter() {}
118 virtual services::Status check()
const DAAL_C11_OVERRIDE;
120 data_management::NumericTablePtr batchIndices;
123 data_management::NumericTablePtr learningRate;
124 double degenerateCasesThreshold;
127 engines::EnginePtr engine;
139 class DAAL_EXPORT Input :
public optimization_solver::iterative_solver::Input
142 typedef optimization_solver::iterative_solver::Input super;
144 Input(
const Input& other);
154 data_management::NumericTablePtr
get(OptionalDataId id)
const;
161 void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
170 virtual services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
178 class DAAL_EXPORT Result :
public optimization_solver::iterative_solver::Result
181 DECLARE_SERIALIZABLE_CAST(Result);
182 typedef optimization_solver::iterative_solver::Result super;
196 template <
typename algorithmFPType>
197 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
const int method);
204 data_management::NumericTablePtr
get(OptionalDataId id)
const;
211 void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
221 virtual services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
222 int method)
const DAAL_C11_OVERRIDE;
224 typedef services::SharedPtr<Result> ResultPtr;
229 using interface1::Parameter;
230 using interface1::Input;
231 using interface1::Result;
232 using interface1::ResultPtr;
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::engine
engines::EnginePtr engine
Definition: adagrad_types.h:127
daal
Definition: algorithm_base_common.h:31
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::seed
size_t seed
Definition: adagrad_types.h:125
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:178
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::learningRate
data_management::NumericTablePtr learningRate
Definition: adagrad_types.h:123
daal::algorithms::optimization_solver::adagrad::OptionalDataId
OptionalDataId
Definition: adagrad_types.h:63
daal::algorithms::optimization_solver::adagrad::defaultDense
Definition: adagrad_types.h:56
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::batchIndices
data_management::NumericTablePtr batchIndices
Definition: adagrad_types.h:120
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::degenerateCasesThreshold
double degenerateCasesThreshold
Definition: adagrad_types.h:124
daal::algorithms::optimization_solver::adagrad::gradientSquareSum
Definition: adagrad_types.h:65
daal::algorithms::optimization_solver::adagrad::Method
Method
Definition: adagrad_types.h:54
daal::algorithms::optimization_solver::adagrad::interface1::Parameter
Parameter base class for the Adaptive gradient descent algorithm
Definition: adagrad_types.h:84