49 #ifndef __NEURAL_NETWORKS_PREDICTION_H__ 50 #define __NEURAL_NETWORKS_PREDICTION_H__ 52 #include "algorithms/algorithm.h" 54 #include "services/daal_defines.h" 55 #include "algorithms/neural_networks/neural_networks_types.h" 56 #include "algorithms/neural_networks/neural_networks_prediction_types.h" 57 #include "algorithms/neural_networks/neural_networks_prediction_model.h" 58 #include "algorithms/neural_networks/layers/layer.h" 67 namespace neural_networks
82 template<
typename algorithmFPType, Method method, CpuType cpu>
83 class DAAL_EXPORT BatchContainer :
public PredictionContainerIface
91 BatchContainer(daal::services::Environment::env *daalEnv);
97 services::Status compute() DAAL_C11_OVERRIDE;
98 services::Status setupCompute() DAAL_C11_OVERRIDE;
99 services::Status resetCompute() DAAL_C11_OVERRIDE;
117 template<
typename algorithmFPType = DAAL_ALGORITHM_FP_TYPE, Method method = defaultDense>
118 class Batch :
public daal::algorithms::Prediction
121 typedef algorithms::neural_networks::prediction::Input InputType;
122 typedef algorithms::neural_networks::prediction::Parameter ParameterType;
123 typedef algorithms::neural_networks::prediction::Result ResultType;
136 Batch(
const Batch<algorithmFPType, method> &other) : parameter(other.parameter), input(other.input)
147 ResultPtr getResult()
158 services::Status setResult(
const ResultPtr& res)
160 DAAL_CHECK(res, services::ErrorNullResult)
162 _res = _result.get();
163 return services::Status();
171 services::SharedPtr<Batch<algorithmFPType, method> > clone()
const 173 return services::SharedPtr<Batch<algorithmFPType, method> >(cloneImpl());
180 virtual int getMethod() const DAAL_C11_OVERRIDE {
return(
int) method; }
183 ParameterType parameter;
188 Prediction::_ac =
new __DAAL_ALGORITHM_CONTAINER(batch, BatchContainer, algorithmFPType, method)(&_env);
191 _result.reset(
new ResultType());
194 virtual Batch<algorithmFPType, method> *cloneImpl()
const DAAL_C11_OVERRIDE
196 return new Batch<algorithmFPType, method>(*this);
199 virtual services::Status allocateResult() DAAL_C11_OVERRIDE
201 services::Status s = _result->allocate<algorithmFPType>(&input, ¶meter, (int) method);
202 _res = _result.get();
212 using interface1::Batch;
213 using interface1::BatchContainer;
daal::algorithms::neural_networks::prediction::interface1::Batch::clone
services::SharedPtr< Batch< algorithmFPType, method > > clone() const
Definition: neural_networks_prediction.h:171
daal::algorithms::neural_networks::prediction::interface1::Batch::Batch
Batch(const Batch< algorithmFPType, method > &other)
Definition: neural_networks_prediction.h:136
daal::services::interface1::Environment::_envStruct
The environment structure.
Definition: env_detect.h:95
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::neural_networks::prediction::prediction
Definition: neural_networks_prediction_result.h:79
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:76
daal::algorithms::neural_networks::prediction::interface1::BatchContainer
Class containing methods to train neural network model using algorithmFPType precision arithmetic...
Definition: neural_networks_prediction.h:83
daal::algorithms::neural_networks::prediction::interface1::Parameter
Class representing the parameters of neural network prediction.
Definition: neural_networks_prediction_model.h:88
daal::algorithms::PredictionContainerIface
Abstract interface class that provides virtual methods to access and run implementations of the algor...
Definition: prediction.h:66
daal::algorithms::neural_networks::prediction::interface1::Batch::getResult
ResultPtr getResult()
Definition: neural_networks_prediction.h:147
daal::algorithms::neural_networks::prediction::interface1::Result
Provides methods to access result obtained with the compute() method of the neural networks predictio...
Definition: neural_networks_prediction_result.h:102
daal::batch
Definition: daal_defines.h:132
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::services::interface1::SharedPtr::get
T * get() const
Definition: daal_shared_ptr.h:332
daal::algorithms::neural_networks::prediction::interface1::Batch::Batch
Batch()
Definition: neural_networks_prediction.h:126
daal::algorithms::neural_networks::prediction::interface1::Batch::getMethod
virtual int getMethod() const DAAL_C11_OVERRIDE
Definition: neural_networks_prediction.h:180
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:118
daal::algorithms::neural_networks::prediction::interface1::Batch::setResult
services::Status setResult(const ResultPtr &res)
Definition: neural_networks_prediction.h:158
daal::algorithms::neural_networks::prediction::interface1::Batch::parameter
ParameterType parameter
Definition: neural_networks_prediction.h:183
daal::services::ErrorNullResult
Definition: error_indexes.h:122
daal::algorithms::neural_networks::prediction::interface1::Batch::input
InputType input
Definition: neural_networks_prediction.h:182