48 #ifndef __ELTWISE_SUM_LAYER_BACKWARD_TYPES_H__
49 #define __ELTWISE_SUM_LAYER_BACKWARD_TYPES_H__
51 #include "algorithms/algorithm.h"
52 #include "services/daal_defines.h"
54 #include "data_management/data/tensor.h"
56 #include "algorithms/neural_networks/layers/layer_backward_types.h"
57 #include "algorithms/neural_networks/layers/eltwise_sum/eltwise_sum_layer_types.h"
63 namespace neural_networks
90 class DAAL_EXPORT Input :
public layers::backward::Input
93 typedef layers::backward::Input super;
100 Input(
const Input& other);
107 using layers::backward::Input::get;
112 using layers::backward::Input::set;
119 data_management::TensorPtr
get(LayerDataId id)
const;
126 data_management::NumericTablePtr
get(LayerDataNumericTableId id)
const;
133 void set(LayerDataId
id,
const data_management::TensorPtr &value);
140 void set(LayerDataNumericTableId
id,
const data_management::NumericTablePtr &value);
149 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
156 size_t getNumberOfCoefficients()
const;
159 size_t getNumberOfAuxCoefficientsFromTable()
const;
161 services::Status checkInputGradient()
const;
162 services::Status checkAuxCoefficients()
const;
163 services::Status checkAuxNumberOfCoefficients()
const;
170 class DAAL_EXPORT Result :
public layers::backward::Result
173 DECLARE_SERIALIZABLE_CAST(Result);
185 using layers::backward::Result::get;
190 using layers::backward::Result::set;
198 data_management::TensorPtr
get(layers::backward::ResultLayerDataId id,
size_t index)
const;
206 void set(layers::backward::ResultLayerDataId
id,
const data_management::TensorPtr &value,
size_t index);
213 virtual data_management::TensorPtr getGradient(
size_t index)
const DAAL_C11_OVERRIDE;
223 template <
typename algorithmFPType>
224 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
225 const daal::algorithms::Parameter *parameter,
const int method);
235 services::Status check(
const daal::algorithms::Input *input,
236 const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
242 virtual LayerResultLayout getLayout()
const DAAL_C11_OVERRIDE;
246 template<
typename Archive,
bool onDeserialize>
247 services::Status serialImpl(Archive *arch)
249 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
253 template<
typename algorithmFPType>
254 services::Status allocateNewOutputTensors(
const data_management::TensorPtr &inputGradient,
size_t nOutputs);
256 LayerDataPtr getResultLayerDataAllocateIfEmpty();
258 void useInputGradientTensorAsOutput(
const data_management::TensorPtr &inputGradient,
size_t nOutputs);
260 services::Status checkResultLayerData(
const Input *input)
const;
261 services::Status checkOutputGradients(
const Input *input)
const;
264 typedef services::SharedPtr<Result> ResultPtr;
267 using interface1::Input;
268 using interface1::Result;
269 using interface1::ResultPtr;
daal
Definition: algorithm_base_common.h:57
daal::algorithms::neural_networks::layers::eltwise_sum::backward::interface1::Result
Results obtained with the compute() method of the backward element-wise sum layer.
Definition: eltwise_sum_layer_backward_types.h:170
daal::algorithms::neural_networks::layers::eltwise_sum::LayerDataNumericTableId
LayerDataNumericTableId
Available identifiers of input numeric tables for the backward element-wise sum layer and identifiers...
Definition: eltwise_sum_layer_types.h:98
daal::algorithms::neural_networks::layers::backward::ResultLayerDataId
ResultLayerDataId
Definition: layer_backward_types.h:120
daal::algorithms::neural_networks::layers::backward::inputGradient
Definition: layer_backward_types.h:90
daal::algorithms::neural_networks::layers::LayerResultLayout
LayerResultLayout
Definition: layer_types.h:94
daal::algorithms::math::abs::value
Definition: abs_types.h:112
daal::algorithms::neural_networks::layers::eltwise_sum::LayerDataId
LayerDataId
Available identifiers of input tensors for the backward element-wise sum layer and identifiers of res...
Definition: eltwise_sum_layer_types.h:87