23 #ifndef __MSE_BATCH_H__
24 #define __MSE_BATCH_H__
26 #include "algorithms/algorithm.h"
27 #include "data_management/data/numeric_table.h"
28 #include "data_management/data/homogen_numeric_table.h"
29 #include "services/daal_defines.h"
30 #include "sum_of_functions_batch.h"
31 #include "mse_types.h"
37 namespace optimization_solver
58 template<
typename algorithmFPType, Method method, CpuType cpu>
59 class DAAL_EXPORT BatchContainer :
public daal::algorithms::AnalysisContainerIface<batch>
67 BatchContainer(daal::services::Environment::env *daalEnv);
69 virtual ~BatchContainer();
75 virtual services::Status compute() DAAL_C11_OVERRIDE;
94 template<
typename algorithmFPType = DAAL_ALGORITHM_FP_TYPE, Method method = defaultDense>
95 class DAAL_EXPORT Batch :
public sum_of_functions::interface1::Batch
98 typedef sum_of_functions::interface1::Batch super;
100 typedef algorithms::optimization_solver::mse::interface1::Input InputType;
101 typedef algorithms::optimization_solver::mse::interface1::Parameter ParameterType;
102 typedef typename super::ResultType ResultType;
107 Batch(
size_t numberOfTerms) : parameter(numberOfTerms), sum_of_functions::interface1::Batch(numberOfTerms, &input, ¶meter)
120 Batch(
const Batch<algorithmFPType, method> &other) :
121 parameter(other.parameter), sum_of_functions::interface1::Batch(other.parameter.numberOfTerms, &input, ¶meter), input(other.input)
130 virtual int getMethod() const DAAL_C11_OVERRIDE {
return(
int)method; }
137 services::SharedPtr<Batch<algorithmFPType, method> > clone()
const
139 return services::SharedPtr<Batch<algorithmFPType, method> >(cloneImpl());
147 services::Status allocate()
149 return allocateResult();
153 virtual Batch<algorithmFPType, method> *cloneImpl() const DAAL_C11_OVERRIDE
155 return new Batch<algorithmFPType, method>(*this);
158 virtual services::Status allocateResult() DAAL_C11_OVERRIDE
160 services::Status s = _result->allocate<algorithmFPType>(&input, ¶meter, (int) method);
161 _res = _result.get();
167 Analysis<batch>::_ac =
new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env);
174 ParameterType parameter;
196 template<
typename algorithmFPType, Method method, CpuType cpu>
197 class DAAL_EXPORT BatchContainer :
public daal::algorithms::AnalysisContainerIface<batch>
205 BatchContainer(daal::services::Environment::env *daalEnv);
207 virtual ~BatchContainer();
213 virtual services::Status compute() DAAL_C11_OVERRIDE;
232 template<
typename algorithmFPType = DAAL_ALGORITHM_FP_TYPE, Method method = defaultDense>
233 class DAAL_EXPORT Batch :
public sum_of_functions::Batch
236 typedef sum_of_functions::Batch super;
238 typedef algorithms::optimization_solver::mse::Input InputType;
239 typedef algorithms::optimization_solver::mse::Parameter ParameterType;
240 typedef typename super::ResultType ResultType;
245 Batch(
size_t numberOfTerms);
255 Batch(
const Batch<algorithmFPType, method> &other);
261 ParameterType& parameter() {
return *
static_cast<ParameterType*
>(_par); }
267 const ParameterType& parameter()
const {
return *
static_cast<const ParameterType*
>(_par); }
273 virtual int getMethod() const DAAL_C11_OVERRIDE {
return(
int)method; }
280 services::SharedPtr<Batch<algorithmFPType, method> > clone()
const
282 return services::SharedPtr<Batch<algorithmFPType, method> >(cloneImpl());
290 services::Status allocate()
292 return allocateResult();
296 virtual Batch<algorithmFPType, method> *cloneImpl() const DAAL_C11_OVERRIDE
298 return new Batch<algorithmFPType, method>(*this);
301 virtual services::Status allocateResult() DAAL_C11_OVERRIDE
303 services::Status s = _result->allocate<algorithmFPType>(&input, _par, (int) method);
304 _res = _result.get();
310 Analysis<batch>::_ac =
new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env);
320 using interface2::BatchContainer;
321 using interface2::Batch;
daal::algorithms::optimization_solver::mse::interface1::Batch::parameter
ParameterType parameter
Definition: mse_batch.h:174
daal
Definition: algorithm_base_common.h:31
daal::algorithms::optimization_solver::mse::interface1::Batch
Computes the Mean squared error objective function in the batch processing mode.
Definition: mse_batch.h:95
daal::algorithms::optimization_solver::mse::interface2::Batch
Computes the Mean squared error objective function in the batch processing mode.
Definition: mse_batch.h:233
daal::algorithms::AnalysisContainerIface
Abstract interface class that provides virtual methods to access and run implementations of the analy...
Definition: analysis.h:53
daal::algorithms::optimization_solver::mse::interface1::Batch::allocate
services::Status allocate()
Definition: mse_batch.h:147
daal::algorithms::optimization_solver::mse::interface1::Batch::getMethod
virtual int getMethod() const DAAL_C11_OVERRIDE
Definition: mse_batch.h:130
daal::algorithms::optimization_solver::mse::interface1::Batch::clone
services::SharedPtr< Batch< algorithmFPType, method > > clone() const
Definition: mse_batch.h:137
daal::algorithms::optimization_solver::mse::interface2::Batch::input
InputType input
Definition: mse_batch.h:315
daal::algorithms::optimization_solver::mse::interface1::Batch::Batch
Batch(const Batch< algorithmFPType, method > &other)
Definition: mse_batch.h:120
daal::algorithms::optimization_solver::sum_of_functions::interface1::Batch
Interface for computing the Sum of functions in the batch processing mode.
Definition: sum_of_functions_batch.h:61
daal::batch
Definition: daal_defines.h:110
daal::algorithms::optimization_solver::mse::interface2::BatchContainer
Provides methods to run implementations of the mean squared error objective function. This class is associated with the Batch class and supports the method of computing the Mean squared error objective function in the batch processing mode.
Definition: mse_batch.h:197
daal::algorithms::optimization_solver::mse::interface2::Batch::allocate
services::Status allocate()
Definition: mse_batch.h:290
daal::algorithms::optimization_solver::mse::interface2::Batch::getMethod
virtual int getMethod() const DAAL_C11_OVERRIDE
Definition: mse_batch.h:273
daal::algorithms::optimization_solver::mse::interface2::Batch::parameter
ParameterType & parameter()
Definition: mse_batch.h:261
daal::algorithms::optimization_solver::mse::interface2::Batch::clone
services::SharedPtr< Batch< algorithmFPType, method > > clone() const
Definition: mse_batch.h:280
daal::algorithms::optimization_solver::mse::interface1::Batch::input
InputType input
Definition: mse_batch.h:173
daal::algorithms::optimization_solver::mse::interface1::Parameter
Parameter for Mean squared error objective function
Definition: mse_types.h:105
daal::algorithms::optimization_solver::mse::interface2::Batch::parameter
const ParameterType & parameter() const
Definition: mse_batch.h:267
daal::algorithms::Analysis
Provides methods for execution of operations over data, such as computation of Summary Statistics est...
Definition: analysis.h:68
daal::algorithms::optimization_solver::mse::interface1::BatchContainer
Provides methods to run implementations of the mean squared error objective function. This class is associated with the Batch class and supports the method of computing the Mean squared error objective function in the batch processing mode.
Definition: mse_batch.h:59
daal::algorithms::optimization_solver::mse::interface1::Batch::Batch
Batch(size_t numberOfTerms)
Definition: mse_batch.h:107