48 #ifndef __ADAGRAD_TYPES_H__
49 #define __ADAGRAD_TYPES_H__
51 #include "algorithms/algorithm.h"
52 #include "data_management/data/numeric_table.h"
53 #include "data_management/data/homogen_numeric_table.h"
54 #include "services/daal_defines.h"
55 #include "algorithms/optimization_solver/iterative_solver/iterative_solver_types.h"
56 #include "algorithms/engines/mt19937/mt19937.h"
62 namespace optimization_solver
91 gradientSquareSum = iterative_solver::lastOptionalData + 1,
94 lastOptionalData = gradientSquareSum
110 struct DAAL_EXPORT Parameter :
public optimization_solver::iterative_solver::Parameter
127 const sum_of_functions::BatchPtr &function_,
128 size_t nIterations_ = 100,
129 double accuracyThreshold_ = 1.0e-05,
130 data_management::NumericTablePtr batchIndices_ = data_management::NumericTablePtr(),
131 const size_t batchSize_ = 128,
132 data_management::NumericTablePtr learningRate_ = data_management::HomogenNumericTable<double>::create(1, 1, data_management::NumericTableIface::doAllocate, 0.01),
133 double degenerateCasesThreshold_ = 1.0e-08,
137 virtual ~Parameter() {}
144 virtual services::Status check()
const DAAL_C11_OVERRIDE;
146 data_management::NumericTablePtr batchIndices;
149 data_management::NumericTablePtr learningRate;
150 double degenerateCasesThreshold;
153 engines::EnginePtr engine;
165 class DAAL_EXPORT Input :
public optimization_solver::iterative_solver::Input
168 typedef optimization_solver::iterative_solver::Input super;
170 Input(
const Input& other);
180 data_management::NumericTablePtr
get(OptionalDataId id)
const;
187 void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
196 virtual services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
204 class DAAL_EXPORT Result :
public optimization_solver::iterative_solver::Result
207 DECLARE_SERIALIZABLE_CAST(Result);
208 typedef optimization_solver::iterative_solver::Result super;
222 template <
typename algorithmFPType>
223 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
const int method);
230 data_management::NumericTablePtr
get(OptionalDataId id)
const;
237 void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
247 virtual services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
248 int method)
const DAAL_C11_OVERRIDE;
250 typedef services::SharedPtr<Result> ResultPtr;
255 using interface1::Parameter;
256 using interface1::Input;
257 using interface1::Result;
258 using interface1::ResultPtr;
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::engine
engines::EnginePtr engine
Definition: adagrad_types.h:153
daal
Definition: algorithm_base_common.h:57
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::seed
size_t seed
Definition: adagrad_types.h:151
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:204
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::learningRate
data_management::NumericTablePtr learningRate
Definition: adagrad_types.h:149
daal::algorithms::optimization_solver::adagrad::OptionalDataId
OptionalDataId
Definition: adagrad_types.h:89
daal::algorithms::optimization_solver::adagrad::defaultDense
Definition: adagrad_types.h:82
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::batchIndices
data_management::NumericTablePtr batchIndices
Definition: adagrad_types.h:146
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::degenerateCasesThreshold
double degenerateCasesThreshold
Definition: adagrad_types.h:150
daal::algorithms::optimization_solver::adagrad::gradientSquareSum
Definition: adagrad_types.h:91
daal::algorithms::optimization_solver::adagrad::Method
Method
Definition: adagrad_types.h:80
daal::algorithms::optimization_solver::adagrad::interface1::Parameter
Parameter base class for the Adaptive gradient descent algorithm
Definition: adagrad_types.h:110