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

spatial_maximum_pooling2d_layer_forward_types.h
1 /* file: spatial_maximum_pooling2d_layer_forward_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 forward spatial pyramid maximum 2D pooling layer.
21 //--
22 */
23 
24 #ifndef __SPATIAL_MAXIMUM_POOLING2D_LAYER_FORWARD_TYPES_H__
25 #define __SPATIAL_MAXIMUM_POOLING2D_LAYER_FORWARD_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 "data_management/data/homogen_numeric_table.h"
31 #include "services/daal_defines.h"
32 #include "algorithms/neural_networks/layers/spatial_pooling2d/spatial_pooling2d_layer_forward_types.h"
33 #include "algorithms/neural_networks/layers/spatial_pooling2d/spatial_maximum_pooling2d_layer_types.h"
34 
35 namespace daal
36 {
37 namespace algorithms
38 {
39 namespace neural_networks
40 {
41 namespace layers
42 {
43 namespace spatial_maximum_pooling2d
44 {
54 namespace forward
55 {
59 namespace interface1
60 {
67 class DAAL_EXPORT Input : public spatial_pooling2d::forward::Input
68 {};
69 
76 class DAAL_EXPORT Result : public spatial_pooling2d::forward::Result
77 {
78 public:
79  DECLARE_SERIALIZABLE_CAST(Result);
84  Result();
85  /*
86  * \DAAL_DEPRECATED
87  */
88  virtual ~Result() {}
89 
90  using layers::forward::Result::get;
91  using layers::forward::Result::set;
92 
101  template <typename algorithmFPType>
102  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
103 
109  data_management::TensorPtr get(LayerDataId id) const;
110 
116  data_management::NumericTablePtr get(LayerDataNumericTableId id) const;
117 
123  void set(LayerDataId id, const data_management::TensorPtr &ptr);
124 
130  void set(LayerDataNumericTableId id, const data_management::NumericTablePtr &ptr);
131 
140  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, int method) const DAAL_C11_OVERRIDE;
141 
142 protected:
144  template<typename Archive, bool onDeserialize>
145  services::Status serialImpl(Archive *arch)
146  {
147  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
148  }
149 };
150 typedef services::SharedPtr<Result> ResultPtr;
151 
152 } // namespace interface1
153 using interface1::Input;
154 using interface1::Result;
155 using interface1::ResultPtr;
156 
157 } // namespace forward
159 } // namespace spatial_maximum_pooling2d
160 } // namespace layers
161 } // namespace neural_networks
162 } // namespace algorithm
163 } // namespace daal
164 
165 #endif
daal::algorithms::neural_networks::layers::spatial_maximum_pooling2d::LayerDataNumericTableId
LayerDataNumericTableId
Identifiers of input numeric tables for the backward spatial pyramid maximum 2D pooling layer and res...
Definition: spatial_maximum_pooling2d_layer_types.h:72
daal::algorithms::neural_networks::layers::spatial_maximum_pooling2d::LayerDataId
LayerDataId
Identifiers of input tensors for the backward spatial pyramid maximum 2D pooling layer and results fo...
Definition: spatial_maximum_pooling2d_layer_types.h:62
daal_defines.h
daal::algorithms::neural_networks::layers::spatial_maximum_pooling2d::forward::interface1::Input
Input objects for the forward spatial pyramid maximum 2D pooling layer See pooling2d::forward::Input ...
Definition: spatial_maximum_pooling2d_layer_forward_types.h:67
daal::algorithms::neural_networks::layers::spatial_maximum_pooling2d::forward::interface1::Result
Provides methods to access the result obtained with the compute() method of the forward spatial pyram...
Definition: spatial_maximum_pooling2d_layer_forward_types.h:76

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