C++ API Reference for Intel® Data Analytics Acceleration Library 2020 Update 1

classifier_training_online.h
1 /* file: classifier_training_online.h */
2 /*******************************************************************************
3 * Copyright 2014-2020 Intel Corporation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *******************************************************************************/
17 
18 /*
19 //++
20 // Implementation of the interface for the classifier model training algorithm.
21 //--
22 */
23 
24 #ifndef __CLASSIFIER_TRAINING_ONLINE_H__
25 #define __CLASSIFIER_TRAINING_ONLINE_H__
26 
27 #include "services/daal_defines.h"
28 
29 namespace daal
30 {
31 namespace algorithms
32 {
33 namespace classifier
34 {
35 namespace training
36 {
37 
38 namespace interface1
39 {
57 class DAAL_EXPORT Online : public Training<online>
58 {
59 public:
60  typedef algorithms::classifier::training::Input InputType;
61  typedef algorithms::classifier::interface1::Parameter ParameterType;
62  typedef algorithms::classifier::training::Result ResultType;
63  typedef algorithms::classifier::training::PartialResult PartialResultType;
64 
65  InputType input;
67  DAAL_DEPRECATED Online()
68  {
69  initialize();
70  }
71 
78  DAAL_DEPRECATED Online(const Online &other) : input(other.input)
79  {
80  initialize();
81  }
82 
83  DAAL_DEPRECATED_VIRTUAL virtual ~Online() {}
84 
90  DAAL_DEPRECATED services::Status setPartialResult(const PartialResultPtr &partialResult, bool initFlag = false)
91  {
92  DAAL_CHECK(partialResult, services::ErrorNullPartialResult)
93  _partialResult = partialResult;
94  _pres = _partialResult.get();
95  setInitFlag(initFlag);
96  return services::Status();
97  }
98 
103  DAAL_DEPRECATED services::Status setResult(const ResultPtr& res)
104  {
105  DAAL_CHECK(res, services::ErrorNullResult)
106  _result = res;
107  _res = _result.get();
108  return services::Status();
109  }
110 
115  DAAL_DEPRECATED PartialResultPtr getPartialResult() { return _partialResult; }
116 
121  DAAL_DEPRECATED ResultPtr getResult() { return _result; }
122 
128  DAAL_DEPRECATED services::SharedPtr<Online> clone() const
129  {
130  return services::SharedPtr<Online>(cloneImpl());
131  }
132 
133 protected:
134  PartialResultPtr _partialResult;
135  ResultPtr _result;
136 
137  void initialize()
138  {
139  _in = &input;
140  }
141  virtual Online * cloneImpl() const DAAL_C11_OVERRIDE = 0;
142 };
144 } // namespace interface1
145 namespace interface2
146 {
164 class DAAL_EXPORT Online : public Training<online>
165 {
166 public:
167  typedef algorithms::classifier::training::Input InputType;
168  typedef algorithms::classifier::Parameter ParameterType;
169  typedef algorithms::classifier::training::Result ResultType;
170  typedef algorithms::classifier::training::PartialResult PartialResultType;
171 
172  Online()
173  {}
174 
181  Online(const Online &other)
182  {}
183 
184  virtual ~Online() {}
185 
190  DAAL_DEPRECATED_VIRTUAL virtual InputType * getInput() = 0;
191 
197  services::Status setPartialResult(const PartialResultPtr &partialResult, bool initFlag = false)
198  {
199  DAAL_CHECK(partialResult, services::ErrorNullPartialResult)
200  _partialResult = partialResult;
201  _pres = _partialResult.get();
202  setInitFlag(initFlag);
203  return services::Status();
204  }
205 
210  services::Status setResult(const ResultPtr& res)
211  {
212  DAAL_CHECK(res, services::ErrorNullResult)
213  _result = res;
214  _res = _result.get();
215  return services::Status();
216  }
217 
222  PartialResultPtr getPartialResult() { return _partialResult; }
223 
228  ResultPtr getResult() { return _result; }
229 
235  services::SharedPtr<Online> clone() const
236  {
237  return services::SharedPtr<Online>(cloneImpl());
238  }
239 
240 protected:
241  PartialResultPtr _partialResult;
242  ResultPtr _result;
243 
244  virtual Online * cloneImpl() const DAAL_C11_OVERRIDE = 0;
245 };
247 } // namespace interface1
248 using interface2::Online;
249 
250 }
251 }
252 }
253 }
254 #endif
daal::algorithms::classifier::training::interface1::Online
Algorithm class for training the classifier model in the online processing mode.
Definition: classifier_training_online.h:57
daal::algorithms::classifier::training::interface2::Online::setPartialResult
services::Status setPartialResult(const PartialResultPtr &partialResult, bool initFlag=false)
Definition: classifier_training_online.h:197
daal::algorithms::classifier::training::interface1::Online::setResult
DAAL_DEPRECATED services::Status setResult(const ResultPtr &res)
Definition: classifier_training_online.h:103
daal::algorithms::classifier::training::interface2::Online::setResult
services::Status setResult(const ResultPtr &res)
Definition: classifier_training_online.h:210
daal::services::ErrorNullResult
Definition: error_indexes.h:98
daal_defines.h
daal::algorithms::classifier::training::interface1::Online::input
InputType input
Definition: classifier_training_online.h:65
daal::algorithms::Training
Provides methods to train models that depend on the data provided. For example, these methods enable ...
Definition: training.h:62
daal::algorithms::classifier::training::interface1::Online::Online
DAAL_DEPRECATED Online(const Online &other)
Definition: classifier_training_online.h:78
daal::algorithms::classifier::training::interface2::Online::Online
Online(const Online &other)
Definition: classifier_training_online.h:181
daal::algorithms::classifier::interface1::Parameter
Base class for the parameters of the classification algorithm.
Definition: classifier_model.h:69
daal::algorithms::classifier::training::interface1::Online::clone
DAAL_DEPRECATED services::SharedPtr< Online > clone() const
Definition: classifier_training_online.h:128
daal::algorithms::classifier::training::interface2::Online::clone
services::SharedPtr< Online > clone() const
Definition: classifier_training_online.h:235
daal::algorithms::classifier::training::interface2::Online
Algorithm class for training the classifier model in the online processing mode.
Definition: classifier_training_online.h:164
daal::algorithms::classifier::training::interface1::Online::getResult
DAAL_DEPRECATED ResultPtr getResult()
Definition: classifier_training_online.h:121
daal::services::ErrorNullPartialResult
Definition: error_indexes.h:107
daal::algorithms::classifier::training::interface1::Online::getPartialResult
DAAL_DEPRECATED PartialResultPtr getPartialResult()
Definition: classifier_training_online.h:115
daal::algorithms::classifier::training::interface1::Online::setPartialResult
DAAL_DEPRECATED services::Status setPartialResult(const PartialResultPtr &partialResult, bool initFlag=false)
Definition: classifier_training_online.h:90
daal::algorithms::classifier::training::interface2::Online::getResult
ResultPtr getResult()
Definition: classifier_training_online.h:228
daal::algorithms::classifier::training::interface2::Online::getPartialResult
PartialResultPtr getPartialResult()
Definition: classifier_training_online.h:222

For more complete information about compiler optimizations, see our Optimization Notice.