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::services::interface1::Status
Class that holds the results of API calls. In case of API routine failure it contains the list of err...
Definition: error_handling.h:491
daal
Definition: algorithm_base_common.h:57
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:247
daal::algorithms::optimization_solver::iterative_solver::interface1::Parameter
Parameter base class for the iterative solver algorithm
Definition: iterative_solver_types.h:139
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::interface1::Parameter
Base class to represent computation parameters. Algorithm-specific parameters are represented as deri...
Definition: algorithm_types.h:86
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::batchIndices
data_management::NumericTablePtr batchIndices
Definition: adagrad_types.h:146
daal::services::interface1::SharedPtr
Shared pointer that retains shared ownership of an object through a pointer. Several SharedPtr object...
Definition: daal_shared_ptr.h:187
daal::algorithms::optimization_solver::adagrad::interface1::Parameter::degenerateCasesThreshold
double degenerateCasesThreshold
Definition: adagrad_types.h:150
daal::data_management::interface1::NumericTableIface::doAllocate
Definition: numeric_table.h:313
daal::algorithms::optimization_solver::adagrad::gradientSquareSum
Definition: adagrad_types.h:91
daal::algorithms::optimization_solver::adagrad::Method
Method
Definition: adagrad_types.h:80
daal::data_management::interface1::HomogenNumericTable
Class that provides methods to access data stored as a contiguous array of homogeneous feature vector...
Definition: homogen_numeric_table.h:76
daal::algorithms::optimization_solver::adagrad::interface1::Parameter
Parameter base class for the Adaptive gradient descent algorithm
Definition: adagrad_types.h:110