24 #ifndef __LAYERS__FORWARD__TYPES__H__
25 #define __LAYERS__FORWARD__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"
41 namespace neural_networks
77 inputLayerData = lastInputId + 1,
78 lastInputLayerDataId = inputLayerData
95 enum ResultLayerDataId
97 resultForBackward = lastResultId + 1,
98 lastResultLayerDataId = resultForBackward
111 class DAAL_EXPORT InputIface :
public daal::algorithms::Input
118 DAAL_DEPRECATED InputIface(
size_t nElements) : daal::algorithms::Input(nElements) {}
122 DAAL_DEPRECATED InputIface(
const InputIface& other);
126 virtual ~InputIface() {}
134 class DAAL_EXPORT Input :
public InputIface
142 DAAL_DEPRECATED Input(
size_t nElements = lastInputLayerDataId + 1);
146 DAAL_DEPRECATED Input(
const Input& other);
159 data_management::TensorPtr
get(forward::InputId id)
const;
167 void set(InputId
id,
const data_management::TensorPtr &ptr);
175 DAAL_DEPRECATED LayerDataPtr
get(forward::InputLayerDataId id)
const;
183 DAAL_DEPRECATED
void set(InputLayerDataId
id,
const LayerDataPtr &ptr);
193 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
200 DAAL_DEPRECATED_VIRTUAL
virtual LayerInputLayout getLayout();
207 virtual const services::Collection<size_t> getWeightsSizes(
const layers::Parameter *parameter)
const;
214 virtual const services::Collection<size_t> getBiasesSizes(
const layers::Parameter *parameter)
const;
224 DAAL_DEPRECATED_VIRTUAL
virtual services::Status addData(
const data_management::TensorPtr &dataTensor,
size_t index);
232 DAAL_DEPRECATED_VIRTUAL
virtual services::Status eraseInputData()
234 set(layers::forward::data, data_management::TensorPtr());
235 return services::Status();
244 class DAAL_EXPORT Result :
public daal::algorithms::Result
246 DECLARE_SERIALIZABLE_IMPL();
248 DAAL_CAST_OPERATOR(Result);
253 DAAL_DEPRECATED Result();
258 virtual ~Result() {};
269 template <
typename algorithmFPType>
270 services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
const int method)
272 return services::Status();
283 DAAL_DEPRECATED_VIRTUAL
virtual const services::Collection<size_t> getValueSize(
const services::Collection<size_t> &inputSize,
284 const daal::algorithms::Parameter *par,
const int method)
const = 0;
294 DAAL_DEPRECATED_VIRTUAL
virtual services::Collection<size_t> getValueSize(
const services::Collection< services::Collection<size_t> > &inputSize,
295 const daal::algorithms::Parameter *par,
const int method);
305 DAAL_DEPRECATED_VIRTUAL
virtual services::Collection< services::Collection<size_t> > getValueCollectionSize(
const services::Collection<size_t> &inputSize,
306 const daal::algorithms::Parameter *par,
const int method);
314 DAAL_DEPRECATED data_management::TensorPtr
get(ResultId id)
const;
322 DAAL_DEPRECATED LayerDataPtr
get(ResultLayerDataId id)
const;
330 DAAL_DEPRECATED
void set(ResultId
id,
const data_management::TensorPtr &ptr);
338 DAAL_DEPRECATED
void set(ResultLayerDataId
id,
const LayerDataPtr &ptr);
344 int getSerializationTag() const DAAL_C11_OVERRIDE {
return SERIALIZATION_NEURAL_NETWORKS_LAYERS_FORWARD_RESULT_ID; }
355 DAAL_DEPRECATED_VIRTUAL
virtual services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
356 int method)
const DAAL_C11_OVERRIDE;
363 DAAL_DEPRECATED_VIRTUAL
virtual LayerResultLayout getLayout();
372 DAAL_DEPRECATED_VIRTUAL
virtual services::Status setResultForBackward(
const daal::algorithms::Input *input)
374 return services::Status();
383 DAAL_DEPRECATED_VIRTUAL
virtual data_management::TensorPtr getValue(
size_t index)
const;
390 template<
typename Archive,
bool onDeserialize>
391 services::Status serialImpl(Archive *arch)
393 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
396 typedef services::SharedPtr<Result> ResultPtr;
398 using interface1::InputIface;
399 using interface1::Input;
400 using interface1::Result;
401 using interface1::ResultPtr;
daal::algorithms::neural_networks::layers::forward::interface1::InputIface::InputIface
DAAL_DEPRECATED InputIface(size_t nElements)
Constructor.
Definition: layer_forward_types.h:118
daal::algorithms::neural_networks::layers::forward::interface1::Result
Provides methods to access the result obtained with the compute() method of the layer algorithm...
Definition: layer_forward_types.h:244
daal::algorithms::neural_networks::layers::forward::resultForBackward
Definition: layer_forward_types.h:97
daal::algorithms::neural_networks::layers::forward::data
Definition: layer_forward_types.h:65
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::forward::ResultLayerDataId
ResultLayerDataId
Definition: layer_forward_types.h:95
daal::algorithms::neural_networks::layers::forward::interface1::Result::allocate
services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, const int method)
Definition: layer_forward_types.h:270
daal::algorithms::neural_networks::layers::LayerInputLayout
LayerInputLayout
Definition: layer_types.h:59
daal::algorithms::neural_networks::layers::forward::interface1::InputIface
Abstract class that specifies interface of the input objects for the neural network layer...
Definition: layer_forward_types.h:111
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::forward::interface1::Input::eraseInputData
virtual DAAL_DEPRECATED_VIRTUAL services::Status eraseInputData()
Definition: layer_forward_types.h:232
daal::algorithms::neural_networks::layers::forward::InputLayerDataId
InputLayerDataId
Definition: layer_forward_types.h:75
daal::algorithms::neural_networks::layers::forward::InputId
InputId
Definition: layer_forward_types.h:63
daal::algorithms::neural_networks::layers::forward::ResultId
ResultId
Definition: layer_forward_types.h:85
daal::algorithms::neural_networks::layers::forward::interface1::Input
Input objects for layer algorithm
Definition: layer_forward_types.h:134
daal::algorithms::neural_networks::layers::forward::interface1::Result::getSerializationTag
int getSerializationTag() const DAAL_C11_OVERRIDE
Definition: layer_forward_types.h:344
daal::algorithms::neural_networks::layers::forward::value
Definition: layer_forward_types.h:87
daal::algorithms::neural_networks::layers::LayerResultLayout
LayerResultLayout
Definition: layer_types.h:70
daal::algorithms::neural_networks::layers::forward::interface1::Result::setResultForBackward
virtual DAAL_DEPRECATED_VIRTUAL services::Status setResultForBackward(const daal::algorithms::Input *input)
Definition: layer_forward_types.h:372