22 #ifndef __LOGISTIC_REGRESSION_TRAINING_BATCH_H__
23 #define __LOGISTIC_REGRESSION_TRAINING_BATCH_H__
25 #include "algorithms/classifier/classifier_training_batch.h"
26 #include "algorithms/logistic_regression/logistic_regression_training_types.h"
32 namespace logistic_regression
51 template<
typename algorithmFPType, Method method, CpuType cpu>
52 class DAAL_EXPORT BatchContainer :
public TrainingContainerIface<batch>
60 BatchContainer(daal::services::Environment::env *daalEnv);
67 services::Status compute() DAAL_C11_OVERRIDE;
68 services::Status setupCompute() DAAL_C11_OVERRIDE;
88 template<
typename algorithmFPType = DAAL_ALGORITHM_FP_TYPE, Method method = defaultDense>
89 class DAAL_EXPORT Batch :
public classifier::training::Batch
92 typedef classifier::training::Batch super;
93 typedef optimization_solver::iterative_solver::interface1::BatchPtr SolverPtr;
95 typedef typename super::InputType InputType;
96 typedef algorithms::logistic_regression::training::interface1::Parameter ParameterType;
97 typedef algorithms::logistic_regression::training::interface1::Result ResultType;
106 Batch(
size_t nClasses,
const SolverPtr& solver = SolverPtr());
114 Batch(
const Batch<algorithmFPType, method> &other);
126 ParameterType& parameter() {
return *
static_cast<ParameterType*
>(_par); }
132 const ParameterType& parameter()
const {
return *
static_cast<const ParameterType*
>(_par); }
138 InputType * getInput() DAAL_C11_OVERRIDE {
return &input; }
144 virtual int getMethod() const DAAL_C11_OVERRIDE {
return(
int)method; }
150 ResultPtr getResult()
152 return ResultType::cast(_result);
158 services::Status resetResult() DAAL_C11_OVERRIDE
160 _result.reset(
new ResultType());
161 DAAL_CHECK(_result, services::ErrorNullResult);
163 return services::Status();
171 services::SharedPtr<Batch<algorithmFPType, method> > clone()
const
173 return services::SharedPtr<Batch<algorithmFPType, method> >(cloneImpl());
177 virtual Batch<algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
179 return new Batch<algorithmFPType, method>(*this);
182 services::Status allocateResult() DAAL_C11_OVERRIDE
184 ResultPtr res = getResult();
185 DAAL_CHECK(res, services::ErrorNullResult);
186 services::Status s = res->template allocate<algorithmFPType>(&input, ¶meter(), method);
187 _res = _result.get();
193 _ac =
new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env);
195 _result.reset(
new ResultType());
216 template<
typename algorithmFPType, Method method, CpuType cpu>
217 class DAAL_EXPORT BatchContainer :
public TrainingContainerIface<batch>
225 BatchContainer(daal::services::Environment::env *daalEnv);
232 services::Status compute() DAAL_C11_OVERRIDE;
233 services::Status setupCompute() DAAL_C11_OVERRIDE;
253 template<
typename algorithmFPType = DAAL_ALGORITHM_FP_TYPE, Method method = defaultDense>
254 class DAAL_EXPORT Batch :
public classifier::training::Batch
257 typedef classifier::training::Batch super;
258 typedef optimization_solver::iterative_solver::BatchPtr SolverPtr;
260 typedef typename super::InputType InputType;
261 typedef algorithms::logistic_regression::training::Parameter ParameterType;
262 typedef algorithms::logistic_regression::training::Result ResultType;
271 Batch(
size_t nClasses,
const SolverPtr& solver = SolverPtr());
279 Batch(
const Batch<algorithmFPType, method> &other);
291 ParameterType& parameter() {
return *
static_cast<ParameterType*
>(_par); }
297 const ParameterType& parameter()
const {
return *
static_cast<const ParameterType*
>(_par); }
303 InputType * getInput() DAAL_C11_OVERRIDE {
return &input; }
309 virtual int getMethod() const DAAL_C11_OVERRIDE {
return(
int)method; }
315 ResultPtr getResult()
317 return ResultType::cast(_result);
323 services::Status resetResult() DAAL_C11_OVERRIDE
325 _result.reset(
new ResultType());
326 DAAL_CHECK(_result, services::ErrorNullResult);
328 return services::Status();
336 services::SharedPtr<Batch<algorithmFPType, method> > clone()
const
338 return services::SharedPtr<Batch<algorithmFPType, method> >(cloneImpl());
342 virtual Batch<algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
344 return new Batch<algorithmFPType, method>(*this);
347 services::Status allocateResult() DAAL_C11_OVERRIDE
349 ResultPtr res = getResult();
350 DAAL_CHECK(res, services::ErrorNullResult);
351 services::Status s = res->template allocate<algorithmFPType>(&input, ¶meter(), method);
352 _res = _result.get();
358 _ac =
new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env);
360 _result.reset(
new ResultType());
365 using interface2::BatchContainer;
366 using interface2::Batch;
372 #endif // __LOGISTIC_REGRESSION_TRAINING_BATCH_H__
daal::algorithms::logistic_regression::training::interface2::Batch::getMethod
virtual int getMethod() const DAAL_C11_OVERRIDE
Definition: logistic_regression_training_batch.h:309
daal::algorithms::logistic_regression::training::interface1::Batch::parameter
const ParameterType & parameter() const
Definition: logistic_regression_training_batch.h:132
daal
Definition: algorithm_base_common.h:31
daal::algorithms::logistic_regression::training::interface2::Batch::input
InputType input
Definition: logistic_regression_training_batch.h:264
daal::algorithms::logistic_regression::training::interface2::Batch::getResult
ResultPtr getResult()
Definition: logistic_regression_training_batch.h:315
daal::algorithms::logistic_regression::training::interface1::Batch::resetResult
services::Status resetResult() DAAL_C11_OVERRIDE
Definition: logistic_regression_training_batch.h:158
daal::algorithms::logistic_regression::training::interface2::BatchContainer
Provides methods to run implementations of logistic regression model-based training. This class is associated with daal::algorithms::logistic_regression::training::Batch class.
Definition: logistic_regression_training_batch.h:217
daal::algorithms::logistic_regression::training::interface2::Batch::parameter
ParameterType & parameter()
Definition: logistic_regression_training_batch.h:291
daal::algorithms::logistic_regression::training::interface1::Batch::~Batch
~Batch()
Definition: logistic_regression_training_batch.h:117
daal::algorithms::logistic_regression::training::interface1::Batch::clone
services::SharedPtr< Batch< algorithmFPType, method > > clone() const
Definition: logistic_regression_training_batch.h:171
daal::algorithms::logistic_regression::training::interface1::Parameter
logistic regression algorithm parameters
Definition: logistic_regression_training_types.h:68
daal::batch
Definition: daal_defines.h:110
daal::algorithms::logistic_regression::training::interface1::Batch::getResult
ResultPtr getResult()
Definition: logistic_regression_training_batch.h:150
daal::algorithms::logistic_regression::training::interface1::Batch::input
InputType input
Definition: logistic_regression_training_batch.h:99
daal::algorithms::logistic_regression::training::interface1::Batch::getInput
InputType * getInput() DAAL_C11_OVERRIDE
Definition: logistic_regression_training_batch.h:138
daal::algorithms::logistic_regression::training::interface1::BatchContainer
Provides methods to run implementations of logistic regression model-based training.
Definition: logistic_regression_training_batch.h:52
daal::algorithms::logistic_regression::training::interface2::Batch::~Batch
~Batch()
Definition: logistic_regression_training_batch.h:282
daal::algorithms::logistic_regression::training::interface2::Batch::clone
services::SharedPtr< Batch< algorithmFPType, method > > clone() const
Definition: logistic_regression_training_batch.h:336
daal::algorithms::logistic_regression::training::interface1::Batch::getMethod
virtual int getMethod() const DAAL_C11_OVERRIDE
Definition: logistic_regression_training_batch.h:144
daal::algorithms::logistic_regression::training::interface1::Result
Provides methods to access the result obtained with the compute() method of model-based training...
Definition: logistic_regression_training_types.h:90
daal::algorithms::logistic_regression::training::interface1::Batch::parameter
ParameterType & parameter()
Definition: logistic_regression_training_batch.h:126
daal::algorithms::logistic_regression::training::interface2::Batch::getInput
InputType * getInput() DAAL_C11_OVERRIDE
Definition: logistic_regression_training_batch.h:303
daal::algorithms::logistic_regression::training::interface2::Batch::parameter
const ParameterType & parameter() const
Definition: logistic_regression_training_batch.h:297
daal::algorithms::logistic_regression::training::interface1::Batch
Trains model of the logistic regression algorithms in the batch processing mode.
Definition: logistic_regression_training_batch.h:89
daal::algorithms::logistic_regression::training::interface2::Batch
Trains model of the logistic regression algorithms in the batch processing mode.
Definition: logistic_regression_training_batch.h:254
daal::algorithms::logistic_regression::training::interface2::Batch::resetResult
services::Status resetResult() DAAL_C11_OVERRIDE
Definition: logistic_regression_training_batch.h:323
daal::services::ErrorNullResult
Definition: error_indexes.h:96
daal::algorithms::TrainingContainerIface
Abstract interface class that provides virtual methods to access and run implementations of the model...
Definition: training.h:50