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

split_layer_backward_types.h
1 /* file: split_layer_backward_types.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 backward split layer
21 //--
22 */
23 
24 #ifndef __SPLIT_LAYER_BACKWARD_TYPES_H__
25 #define __SPLIT_LAYER_BACKWARD_TYPES_H__
26 
27 #include "algorithms/algorithm.h"
28 #include "data_management/data/tensor.h"
29 #include "data_management/data/homogen_tensor.h"
30 #include "services/daal_defines.h"
31 #include "algorithms/neural_networks/layers/layer_backward_types.h"
32 #include "algorithms/neural_networks/layers/split/split_layer_types.h"
33 
34 namespace daal
35 {
36 namespace algorithms
37 {
38 namespace neural_networks
39 {
40 namespace layers
41 {
45 namespace split
46 {
56 namespace backward
57 {
62 enum InputLayerDataId
63 {
64  inputGradientCollection = 1
65 };
66 
70 namespace interface1
71 {
72 
78 class DAAL_EXPORT Input : public layers::backward::Input
79 {
80 public:
85  Input();
86 
87  /*
88  * \DAAL_DEPRECATED
89  */
90  virtual ~Input() {}
91 
95  using layers::backward::Input::get;
96 
100  using layers::backward::Input::set;
101 
109  DAAL_DEPRECATED data_management::TensorPtr get(InputLayerDataId id, size_t index) const;
110 
117  DAAL_DEPRECATED LayerDataPtr get(InputLayerDataId id) const;
118 
126  DAAL_DEPRECATED void set(InputLayerDataId id, const data_management::TensorPtr &value, size_t index);
127 
134  DAAL_DEPRECATED void set(InputLayerDataId id, const LayerDataPtr &ptr);
135 
144  DAAL_DEPRECATED_VIRTUAL virtual services::Status addInputGradient(const data_management::TensorPtr &igTensor, size_t index) DAAL_C11_OVERRIDE;
145 
151  DAAL_DEPRECATED_VIRTUAL virtual services::Status setInputFromForward(layers::forward::ResultPtr result) DAAL_C11_OVERRIDE;
152 
161  DAAL_DEPRECATED services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
162 
168  DAAL_DEPRECATED_VIRTUAL virtual LayerInputLayout getLayout() const DAAL_C11_OVERRIDE;
169 };
170 
176 class DAAL_EXPORT Result : public layers::backward::Result
177 {
178 public:
179  DECLARE_SERIALIZABLE_CAST(Result);
184  Result();
185  /*
186  * \DAAL_DEPRECATED
187  */
188  virtual ~Result() {};
189 
193  using layers::backward::Result::get;
194 
198  using layers::backward::Result::set;
199 
209  DAAL_DEPRECATED services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
210 
220  template <typename algorithmFPType>
221  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
222 
223 protected:
228  template<typename Archive, bool onDeserialize>
229  services::Status serialImpl(Archive *arch)
230  {
231  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
232  }
233 };
234 typedef services::SharedPtr<Result> ResultPtr;
235 
236 } // namespace interface1
237 using interface1::Input;
238 using interface1::Result;
239 using interface1::ResultPtr;
240 } // namespace backward
242 } // namespace split
243 } // namespace layers
244 } // namespace neural_networks
245 } // namespace algorithm
246 } // namespace daal
247 #endif
daal::algorithms::neural_networks::layers::split::backward::InputLayerDataId
InputLayerDataId
Definition: split_layer_backward_types.h:62
daal::algorithms::neural_networks::layers::split::backward::interface1::Result
Provides methods to access the result obtained with the compute() method of the backward split layer...
Definition: split_layer_backward_types.h:176
daal::algorithms::neural_networks::layers::split::backward::inputGradientCollection
Definition: split_layer_backward_types.h:64
daal::algorithms::neural_networks::layers::LayerInputLayout
LayerInputLayout
Definition: layer_types.h:59
daal_defines.h
daal::algorithms::neural_networks::layers::split::backward::interface1::Input
Input parameters for the backward split layer
Definition: split_layer_backward_types.h:78
daal::algorithms::dbscan::split
Definition: dbscan_types.h:167
daal::algorithms::math::abs::value
Definition: abs_types.h:88

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