23 #ifndef __NEURAL_NETWORKS_PREDICTION_H__
24 #define __NEURAL_NETWORKS_PREDICTION_H__
26 #include "algorithms/algorithm.h"
28 #include "services/daal_defines.h"
29 #include "algorithms/neural_networks/neural_networks_types.h"
30 #include "algorithms/neural_networks/neural_networks_prediction_types.h"
31 #include "algorithms/neural_networks/neural_networks_prediction_model.h"
32 #include "algorithms/neural_networks/layers/layer.h"
41 namespace neural_networks
56 template<
typename algorithmFPType, Method method, CpuType cpu>
57 class DAAL_EXPORT BatchContainer :
public PredictionContainerIface
65 BatchContainer(daal::services::Environment::env *daalEnv);
71 services::Status compute() DAAL_C11_OVERRIDE;
72 services::Status setupCompute() DAAL_C11_OVERRIDE;
73 services::Status resetCompute() DAAL_C11_OVERRIDE;
91 template<
typename algorithmFPType = DAAL_ALGORITHM_FP_TYPE, Method method = defaultDense>
92 class Batch :
public daal::algorithms::Prediction
95 typedef algorithms::neural_networks::prediction::Input InputType;
96 typedef algorithms::neural_networks::prediction::Parameter ParameterType;
97 typedef algorithms::neural_networks::prediction::Result ResultType;
110 Batch(
const Batch<algorithmFPType, method> &other) : parameter(other.parameter), input(other.input)
121 ResultPtr getResult()
132 services::Status setResult(
const ResultPtr& res)
134 DAAL_CHECK(res, services::ErrorNullResult)
136 _res = _result.get();
137 return services::Status();
145 services::SharedPtr<Batch<algorithmFPType, method> > clone()
const
147 return services::SharedPtr<Batch<algorithmFPType, method> >(cloneImpl());
154 virtual int getMethod() const DAAL_C11_OVERRIDE {
return(
int) method; }
157 ParameterType parameter;
162 Prediction::_ac =
new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env);
165 _result.reset(
new ResultType());
168 virtual Batch<algorithmFPType, method> *cloneImpl() const DAAL_C11_OVERRIDE
170 return new Batch<algorithmFPType, method>(*this);
173 virtual services::Status allocateResult() DAAL_C11_OVERRIDE
175 services::Status s = _result->allocate<algorithmFPType>(&input, ¶meter, (int) method);
176 _res = _result.get();
186 using interface1::Batch;
187 using interface1::BatchContainer;
daal::algorithms::neural_networks::prediction::interface1::Batch::Batch
Batch(const Batch< algorithmFPType, method > &other)
Definition: neural_networks_prediction.h:110
daal
Definition: algorithm_base_common.h:31
daal::algorithms::Prediction
Provides prediction methods depending on the model such as linear_regression::Model. The methods of the class support different computation modes: batch, distributed, and online(see ComputeMode). Classes that implement specific algorithms of the model based data prediction are derived classes of the Prediction class. The class additionally provides virtual methods for validation of input and output parameters of the algorithms.
Definition: prediction.h:50
daal::algorithms::neural_networks::prediction::interface1::BatchContainer
Class containing methods to train neural network model using algorithmFPType precision arithmetic...
Definition: neural_networks_prediction.h:57
daal::algorithms::neural_networks::prediction::interface1::Batch::clone
services::SharedPtr< Batch< algorithmFPType, method > > clone() const
Definition: neural_networks_prediction.h:145
daal::algorithms::PredictionContainerIface
Abstract interface class that provides virtual methods to access and run implementations of the algor...
Definition: prediction.h:40
daal::algorithms::neural_networks::prediction::interface1::Batch::getResult
ResultPtr getResult()
Definition: neural_networks_prediction.h:121
daal::batch
Definition: daal_defines.h:110
daal::algorithms::neural_networks::prediction::interface1::Batch::Batch
Batch()
Definition: neural_networks_prediction.h:100
daal::algorithms::neural_networks::prediction::interface1::Batch::getMethod
virtual int getMethod() const DAAL_C11_OVERRIDE
Definition: neural_networks_prediction.h:154
daal::algorithms::neural_networks::prediction::interface1::Batch
Provides methods for neural network model-based prediction in the batch processing mode...
Definition: neural_networks_prediction.h:92
daal::algorithms::classifier::prediction::prediction
Definition: classifier_predict_types.h:76
daal::algorithms::neural_networks::prediction::interface1::Batch::setResult
services::Status setResult(const ResultPtr &res)
Definition: neural_networks_prediction.h:132
daal::algorithms::neural_networks::prediction::interface1::Batch::parameter
ParameterType parameter
Definition: neural_networks_prediction.h:157
daal::services::ErrorNullResult
Definition: error_indexes.h:96
daal::algorithms::neural_networks::prediction::interface1::Batch::input
InputType input
Definition: neural_networks_prediction.h:156