24 #ifndef __LAYERS__BACKWARD__TYPES__H__
25 #define __LAYERS__BACKWARD__TYPES__H__
27 #include "algorithms/algorithm.h"
28 #include "data_management/data/tensor.h"
29 #include "services/daal_defines.h"
30 #include "services/collection.h"
31 #include "data_management/data/data_collection.h"
32 #include "algorithms/neural_networks/layers/layer_types.h"
33 #include "algorithms/neural_networks/layers/layer_forward_types.h"
42 namespace neural_networks
67 lastInputId = inputGradient
76 inputFromForward = lastInputId + 1,
77 lastInputLayerDataId = inputFromForward
89 lastResultId = biasDerivatives
96 enum ResultLayerDataId
98 resultLayerData = lastResultId + 1,
99 lastResultLayerDataId = resultLayerData
112 class DAAL_EXPORT InputIface :
public daal::algorithms::Input
119 DAAL_DEPRECATED InputIface(
size_t nElements) : daal::algorithms::Input(nElements) {}
123 DAAL_DEPRECATED InputIface(
const InputIface& other);
127 virtual ~InputIface() {}
135 class DAAL_EXPORT Input :
public InputIface
142 DAAL_DEPRECATED Input();
146 Input(
const Input& other);
159 DAAL_DEPRECATED data_management::TensorPtr
get(InputId id)
const;
167 LayerDataPtr
get(InputLayerDataId id)
const;
175 DAAL_DEPRECATED
void set(InputId
id,
const data_management::TensorPtr &ptr);
183 void set(InputLayerDataId
id,
const LayerDataPtr &ptr);
193 DAAL_DEPRECATED_VIRTUAL
virtual services::Status addInputGradient(
const data_management::TensorPtr &igTensor,
size_t index);
202 virtual services::Status setInputFromForward(forward::ResultPtr result);
212 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
219 DAAL_DEPRECATED_VIRTUAL
virtual LayerInputLayout getLayout()
const;
227 class DAAL_EXPORT Result :
public daal::algorithms::Result
229 DECLARE_SERIALIZABLE_IMPL();
231 DAAL_CAST_OPERATOR(Result);
236 DAAL_DEPRECATED Result();
241 virtual ~Result() {};
252 template <
typename algorithmFPType>
253 services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
const int method)
255 return services::Status();
264 data_management::TensorPtr
get(ResultId id)
const;
272 DAAL_DEPRECATED
void set(ResultId
id,
const data_management::TensorPtr &ptr);
280 DAAL_DEPRECATED LayerDataPtr
get(backward::ResultLayerDataId id)
const;
288 DAAL_DEPRECATED
void set(ResultLayerDataId
id,
const LayerDataPtr &ptr);
294 int getSerializationTag() const DAAL_C11_OVERRIDE {
return SERIALIZATION_NEURAL_NETWORKS_LAYERS_BACKWARD_RESULT_ID; }
305 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
306 int method)
const DAAL_C11_OVERRIDE;
313 DAAL_DEPRECATED_VIRTUAL
virtual LayerResultLayout getLayout()
const;
321 DAAL_DEPRECATED_VIRTUAL
virtual data_management::TensorPtr getGradient(
size_t index)
const;
327 template<
typename Archive,
bool onDeserialize>
328 services::Status serialImpl(Archive *arch)
330 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
333 typedef services::SharedPtr<Result> ResultPtr;
335 using interface1::InputIface;
336 using interface1::Input;
337 using interface1::Result;
338 using interface1::ResultPtr;
daal::algorithms::neural_networks::layers::backward::interface1::InputIface
Abstract class that specifies interface of the input objects for the neural network layer algorithm...
Definition: layer_backward_types.h:112
daal::algorithms::neural_networks::layers::backward::interface1::Result::getSerializationTag
int getSerializationTag() const DAAL_C11_OVERRIDE
Definition: layer_backward_types.h:294
daal::algorithms::neural_networks::layers::backward::interface1::Result::allocate
services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, const int method)
Definition: layer_backward_types.h:253
daal::algorithms::neural_networks::layers::backward::InputLayerDataId
InputLayerDataId
Definition: layer_backward_types.h:74
daal::algorithms::neural_networks::layers::backward::interface1::Input::~Input
virtual ~Input()
Definition: layer_backward_types.h:151
daal::algorithms::neural_networks::layers::backward::InputId
InputId
Definition: layer_backward_types.h:64
daal::algorithms::interface1::Result
Base class to represent final results of the computation. Algorithm-specific final results are repres...
Definition: algorithm_types.h:309
daal::algorithms::neural_networks::layers::backward::interface1::Result
Provides methods to access the result obtained with the compute() method of the layer algorithm...
Definition: layer_backward_types.h:227
daal::algorithms::neural_networks::layers::LayerInputLayout
LayerInputLayout
Definition: layer_types.h:59
daal::algorithms::neural_networks::layers::backward::ResultId
ResultId
Definition: layer_backward_types.h:84
daal::algorithms::interface1::Input
Base class to represent computation input arguments. Algorithm-specific input arguments are represent...
Definition: algorithm_types.h:193
daal::algorithms::neural_networks::layers::backward::interface1::InputIface::~InputIface
virtual ~InputIface()
Definition: layer_backward_types.h:127
daal::algorithms::neural_networks::layers::backward::biasDerivatives
Definition: layer_backward_types.h:88
daal::algorithms::neural_networks::layers::backward::ResultLayerDataId
ResultLayerDataId
Definition: layer_backward_types.h:96
daal::algorithms::neural_networks::layers::backward::inputFromForward
Definition: layer_backward_types.h:76
daal::algorithms::neural_networks::layers::backward::weightDerivatives
Definition: layer_backward_types.h:87
daal::algorithms::neural_networks::layers::backward::gradient
Definition: layer_backward_types.h:86
daal::algorithms::neural_networks::layers::backward::interface1::Result::~Result
virtual ~Result()
Definition: layer_backward_types.h:241
daal::algorithms::neural_networks::layers::backward::interface1::InputIface::InputIface
DAAL_DEPRECATED InputIface(size_t nElements)
Constructor.
Definition: layer_backward_types.h:119
daal::algorithms::neural_networks::layers::backward::interface1::Input
Input parameters for the layer algorithm
Definition: layer_backward_types.h:135
daal::algorithms::neural_networks::layers::LayerResultLayout
LayerResultLayout
Definition: layer_types.h:70
daal::algorithms::neural_networks::layers::backward::inputGradient
Definition: layer_backward_types.h:66