22 #ifndef __ELTWISE_SUM_LAYER_BACKWARD_TYPES_H__
23 #define __ELTWISE_SUM_LAYER_BACKWARD_TYPES_H__
25 #include "algorithms/algorithm.h"
26 #include "services/daal_defines.h"
28 #include "data_management/data/tensor.h"
30 #include "algorithms/neural_networks/layers/layer_backward_types.h"
31 #include "algorithms/neural_networks/layers/eltwise_sum/eltwise_sum_layer_types.h"
37 namespace neural_networks
64 class DAAL_EXPORT Input :
public layers::backward::Input
67 typedef layers::backward::Input super;
74 Input(
const Input& other);
81 using layers::backward::Input::get;
86 using layers::backward::Input::set;
93 data_management::TensorPtr
get(LayerDataId id)
const;
100 data_management::NumericTablePtr
get(LayerDataNumericTableId id)
const;
107 void set(LayerDataId
id,
const data_management::TensorPtr &value);
114 void set(LayerDataNumericTableId
id,
const data_management::NumericTablePtr &value);
123 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
130 size_t getNumberOfCoefficients()
const;
133 size_t getNumberOfAuxCoefficientsFromTable()
const;
135 services::Status checkInputGradient()
const;
136 services::Status checkAuxCoefficients()
const;
137 services::Status checkAuxNumberOfCoefficients()
const;
144 class DAAL_EXPORT Result :
public layers::backward::Result
147 DECLARE_SERIALIZABLE_CAST(Result);
159 using layers::backward::Result::get;
164 using layers::backward::Result::set;
172 data_management::TensorPtr
get(layers::backward::ResultLayerDataId id,
size_t index)
const;
180 void set(layers::backward::ResultLayerDataId
id,
const data_management::TensorPtr &value,
size_t index);
187 virtual data_management::TensorPtr getGradient(
size_t index)
const DAAL_C11_OVERRIDE;
197 template <
typename algorithmFPType>
198 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
199 const daal::algorithms::Parameter *parameter,
const int method);
209 services::Status check(
const daal::algorithms::Input *input,
210 const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
216 virtual LayerResultLayout getLayout()
const DAAL_C11_OVERRIDE;
220 template<
typename Archive,
bool onDeserialize>
221 services::Status serialImpl(Archive *arch)
223 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
227 template<
typename algorithmFPType>
228 services::Status allocateNewOutputTensors(
const data_management::TensorPtr &inputGradient,
size_t nOutputs);
230 LayerDataPtr getResultLayerDataAllocateIfEmpty();
232 void useInputGradientTensorAsOutput(
const data_management::TensorPtr &inputGradient,
size_t nOutputs);
234 services::Status checkResultLayerData(
const Input *input)
const;
235 services::Status checkOutputGradients(
const Input *input)
const;
238 typedef services::SharedPtr<Result> ResultPtr;
241 using interface1::Input;
242 using interface1::Result;
243 using interface1::ResultPtr;
daal
Definition: algorithm_base_common.h:31
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:144
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:72
daal::algorithms::neural_networks::layers::backward::ResultLayerDataId
ResultLayerDataId
Definition: layer_backward_types.h:94
daal::algorithms::neural_networks::layers::backward::inputGradient
Definition: layer_backward_types.h:64
daal::algorithms::neural_networks::layers::LayerResultLayout
LayerResultLayout
Definition: layer_types.h:68
daal::algorithms::math::abs::value
Definition: abs_types.h:86
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:61