23 #include "ie_layers_property.hpp"
41 class INFERENCE_ENGINE_API_CLASS(CNNLayer) {
46 using Ptr = std::shared_ptr<CNNLayer>;
86 : name(prms.name), type(prms.type), precision(prms.precision), userValue({0}) {}
106 if (insData.empty()) {
109 auto lockedFirstInsData = insData[0].lock();
110 if (!lockedFirstInsData) {
113 return lockedFirstInsData;
119 void validateLayer();
129 return -std::numeric_limits<float>::infinity();
130 }
else if (str ==
"inf") {
131 return std::numeric_limits<float>::infinity();
134 std::stringstream val_stream(str);
135 val_stream.imbue(std::locale(
"C"));
146 std::stringstream val_stream;
147 val_stream.imbue(std::locale(
"C"));
149 return val_stream.str();
159 std::string val = GetParamAsString(param, ie_serialize_float(def).c_str());
161 return ie_parse_float(val);
163 THROW_IE_EXCEPTION <<
"Cannot parse parameter " << param <<
" from IR for layer " << name <<
". Value "
164 << val <<
" cannot be casted to float.";
174 std::string val = GetParamAsString(param);
176 return ie_parse_float(val);
178 THROW_IE_EXCEPTION <<
"Cannot parse parameter " << param <<
" from IR for layer " << name <<
". Value "
179 << val <<
" cannot be casted to float.";
190 std::string vals = GetParamAsString(param,
"");
191 std::vector<float> result;
192 std::istringstream stream(vals);
194 if (vals.empty())
return def;
195 while (getline(stream, str,
',')) {
197 float val = ie_parse_float(str);
198 result.push_back(val);
200 THROW_IE_EXCEPTION <<
"Cannot parse parameter " << param <<
" " << str <<
" from IR for layer " << name
201 <<
". Value " << vals <<
" cannot be casted to floats.";
213 std::string vals = GetParamAsString(param);
214 std::vector<float> result;
215 std::istringstream stream(vals);
217 while (getline(stream, str,
',')) {
219 float val = ie_parse_float(str);
220 result.push_back(val);
222 THROW_IE_EXCEPTION <<
"Cannot parse parameter " << param <<
" " << str <<
" from IR for layer " << name
223 <<
". Value " << vals <<
" cannot be casted to floats.";
236 std::string val = GetParamAsString(param, std::to_string(def).c_str());
238 return std::stoi(val);
240 THROW_IE_EXCEPTION <<
"Cannot parse parameter " << param <<
" from IR for layer " << name <<
". Value "
241 << val <<
" cannot be casted to int.";
251 std::string val = GetParamAsString(param);
253 return std::stoi(val);
255 THROW_IE_EXCEPTION <<
"Cannot parse parameter " << param <<
" from IR for layer " << name <<
". Value "
256 << val <<
" cannot be casted to int.";
267 std::string vals = GetParamAsString(param,
"");
268 std::vector<int> result;
269 std::istringstream stream(vals);
271 if (vals.empty())
return def;
272 while (getline(stream, str,
',')) {
274 result.push_back(std::stoi(str));
276 THROW_IE_EXCEPTION <<
"Cannot parse parameter " << param <<
" " << str <<
" from IR for layer " << name
277 <<
". Value " << vals <<
" cannot be casted to int.";
289 std::string vals = GetParamAsString(param);
290 std::vector<int> result;
291 std::istringstream stream(vals);
293 while (getline(stream, str,
',')) {
295 result.push_back(std::stoi(str));
297 THROW_IE_EXCEPTION <<
"Cannot parse parameter " << param <<
" " << str <<
" from IR for layer " << name
298 <<
". Value " << vals <<
" cannot be casted to int.";
310 std::string val = GetParamAsString(param, std::to_string(def).c_str());
311 std::string message =
"Cannot parse parameter " + std::string(param) +
" from IR for layer " + name +
312 ". Value " + val +
" cannot be casted to int.";
314 int value = std::stoi(val);
318 return static_cast<unsigned int>(value);
330 std::string val = GetParamAsString(param);
331 std::string message =
"Cannot parse parameter " + std::string(param) +
" from IR for layer " + name +
332 ". Value " + val +
" cannot be casted to unsigned int.";
334 int value = std::stoi(val);
338 return static_cast<unsigned int>(value);
350 std::vector<unsigned int>
GetParamAsUInts(
const char* param, std::vector<unsigned int> def)
const {
351 std::string vals = GetParamAsString(param,
"");
352 std::vector<unsigned int> result;
353 std::istringstream stream(vals);
355 std::string message =
"Cannot parse parameter " + std::string(param) +
" " + str +
" from IR for layer " +
356 name +
". Value " + vals +
" cannot be casted to unsigned int.";
357 if (vals.empty())
return def;
358 while (getline(stream, str,
',')) {
360 int value = std::stoi(str);
364 result.push_back(static_cast<unsigned int>(value));
378 std::string vals = GetParamAsString(param);
379 std::vector<unsigned int> result;
380 std::istringstream stream(vals);
382 std::string message =
"Cannot parse parameter " + std::string(param) +
" " + str +
" from IR for layer " +
383 name +
". Value " + vals +
" cannot be casted to int.";
384 while (getline(stream, str,
',')) {
386 int value = std::stoi(str);
390 result.push_back(static_cast<unsigned int>(value));
405 std::string val = GetParamAsString(param, std::to_string(def).c_str());
406 std::string loweredCaseValue;
407 std::transform(val.begin(), val.end(), std::back_inserter(loweredCaseValue), [](
char value) {
408 return std::tolower(value);
413 if (!(std::istringstream(loweredCaseValue) >> std::boolalpha >> result)) {
415 return (GetParamAsInt(param, def) != 0);
426 std::string val = GetParamAsString(param);
427 std::string loweredCaseValue;
428 std::transform(val.begin(), val.end(), std::back_inserter(loweredCaseValue), [](
char value) {
429 return std::tolower(value);
434 if (!(std::istringstream(loweredCaseValue) >> std::boolalpha >> result)) {
436 return (GetParamAsInt(param) != 0);
449 auto it = params.find(param);
450 if (it == params.end() || it->second.empty()) {
462 auto it = params.find(param);
463 if (it == params.end()) {
476 auto it = params.find(param);
477 if (it == params.end()) {
483 std::vector<std::string> GetParamAsStrings(
const char* param, std::vector<std::string> def)
const {
484 std::string vals = GetParamAsString(param,
"");
485 std::vector<std::string> result;
486 std::istringstream stream(vals);
488 if (vals.empty())
return def;
489 while (getline(stream, str,
',')) {
491 result.push_back(str);
493 THROW_IE_EXCEPTION <<
"Cannot parse parameter " << param <<
" from IR for layer " << name <<
".";
502 std::map<std::string, std::string>
params;
507 std::map<std::string, Blob::Ptr>
blobs;
518 class INFERENCE_ENGINE_API_CLASS(WeightableLayer):
public CNNLayer {
547 #define DEFINE_PROP(prop_name) \
548 PropertyVector<unsigned int> prop_name; \
549 unsigned int& prop_name##_x = prop_name.at(X_AXIS); \
550 unsigned int& prop_name##_y = prop_name.at(Y_AXIS);
580 unsigned int _out_depth = 0u;
584 unsigned int _group = 1u;
594 :
WeightableLayer(p), _kernel(2, 0u), _padding(2, 0u), _stride(2, 1u), _dilation(2, 1u) {}
600 WeightableLayer::operator=(that);
631 using ConvolutionLayer::operator=;
642 using ConvolutionLayer::operator=;
647 unsigned int _deformable_group = 1u;
655 class INFERENCE_ENGINE_API_CLASS(PoolingLayer):
public CNNLayer {
678 enum PoolType { MAX = 1, AVG = 2, STOCH = 3,
ROI = 4, SPACIAL_PYRAMID = 5 };
688 bool _exclude_pad =
false;
704 CNNLayer::operator=(that);
748 unsigned int _in_depth = 0u;
753 float _pad_value = 0.0f;
778 unsigned int _out_depth = 0u;
782 unsigned int _group = 1u;
792 :
WeightableLayer(p), _kernel(2, 0u), _padding(2, 0u), _stride(2, 1u), _dilation(2, 1u) {}
798 WeightableLayer::operator=(that);
836 unsigned int _out_num = 0;
850 class INFERENCE_ENGINE_API_CLASS(ConcatLayer):
public CNNLayer {
855 unsigned int _axis = 1;
870 class INFERENCE_ENGINE_API_CLASS(SplitLayer):
public CNNLayer {
875 unsigned int _axis = 1;
888 class INFERENCE_ENGINE_API_CLASS(NormLayer):
public CNNLayer {
893 unsigned int _size = 0;
909 bool _isAcrossMaps =
false;
922 class INFERENCE_ENGINE_API_CLASS(SoftMaxLayer):
public CNNLayer {
940 class INFERENCE_ENGINE_API_CLASS(GRNLayer):
public CNNLayer {
961 class INFERENCE_ENGINE_API_CLASS(MVNLayer):
public CNNLayer {
986 class INFERENCE_ENGINE_API_CLASS(ReLULayer):
public CNNLayer {
991 float negative_slope = 0.0f;
1005 class INFERENCE_ENGINE_API_CLASS(ClampLayer):
public CNNLayer {
1010 float min_value = 0.0f;
1015 float max_value = 1.0f;
1028 class INFERENCE_ENGINE_API_CLASS(ReLU6Layer):
public ClampLayer {
1040 class INFERENCE_ENGINE_API_CLASS(EltwiseLayer):
public CNNLayer {
1090 class INFERENCE_ENGINE_API_CLASS(CropLayer):
public CNNLayer {
1116 class INFERENCE_ENGINE_API_CLASS(ReshapeLayer):
public CNNLayer {
1142 class INFERENCE_ENGINE_API_CLASS(TileLayer):
public CNNLayer {
1170 unsigned int _broadcast = 0;
1183 class INFERENCE_ENGINE_API_CLASS(TensorIterator):
public CNNLayer {
1199 std::vector<DataPtr> inputs;
1200 std::vector<DataPtr> outputs;
1203 std::vector<PortMap> input_port_map;
1204 std::vector<PortMap> output_port_map;
1205 std::vector<PortMap> back_edges;
1240 int hidden_size = 0;
1311 using RNNCellBase::RNNCellBase;
1312 using RNNCellBase::operator=;
1352 using RNNCellBase::RNNCellBase;
1353 using RNNCellBase::operator=;
1388 using RNNCellBase::RNNCellBase;
1389 using RNNCellBase::operator=;
1422 class INFERENCE_ENGINE_API_CLASS(RNNSequenceLayer):
public RNNCellBase {
1424 using RNNCellBase::RNNCellBase;
1431 unsigned int axis = 1;
1473 class INFERENCE_ENGINE_API_CLASS(PowerLayer):
public CNNLayer {
1504 float epsilon = 1e-3f;
1518 class INFERENCE_ENGINE_API_CLASS(GemmLayer):
public CNNLayer {
1531 bool transpose_a =
false;
1535 bool transpose_b =
false;
1548 class INFERENCE_ENGINE_API_CLASS(PadLayer):
public CNNLayer {
1554 enum ePadMode { Constant = 0, Edge, Reflect, Symmetric };
1571 float pad_value = 0.0f;
1584 class INFERENCE_ENGINE_API_CLASS(GatherLayer):
public CNNLayer {
1602 class INFERENCE_ENGINE_API_CLASS(StridedSliceLayer):
public CNNLayer {
1641 class INFERENCE_ENGINE_API_CLASS(ShuffleChannelsLayer):
public CNNLayer {
1651 unsigned int group = 1;
1665 class INFERENCE_ENGINE_API_CLASS(DepthToSpaceLayer):
public CNNLayer {
1670 unsigned int block_size = 1;
1684 class INFERENCE_ENGINE_API_CLASS(SpaceToDepthLayer):
public CNNLayer {
1689 unsigned int block_size = 1;
1703 class INFERENCE_ENGINE_API_CLASS(SparseFillEmptyRowsLayer):
public CNNLayer {
1717 class INFERENCE_ENGINE_API_CLASS(SparseSegmentReduceLayer):
public CNNLayer {
1731 class INFERENCE_ENGINE_API_CLASS(ReverseSequenceLayer):
public CNNLayer {
1755 class INFERENCE_ENGINE_API_CLASS(OneHotLayer):
public CNNLayer {
1760 unsigned int depth = 0;
1765 float on_value = 1.f;
1770 float off_value = 0.f;
1789 class INFERENCE_ENGINE_API_CLASS(RangeLayer):
public CNNLayer {
1803 class INFERENCE_ENGINE_API_CLASS(FillLayer):
public CNNLayer {
1819 class INFERENCE_ENGINE_API_CLASS(SelectLayer):
public CNNLayer {
1833 class INFERENCE_ENGINE_API_CLASS(BroadcastLayer):
public CNNLayer {
1847 class INFERENCE_ENGINE_API_CLASS(QuantizeLayer):
public CNNLayer {
1866 class INFERENCE_ENGINE_API_CLASS(MathLayer):
public CNNLayer {
1880 class INFERENCE_ENGINE_API_CLASS(ReduceLayer):
public CNNLayer {
1885 bool keep_dims =
true;
1899 class INFERENCE_ENGINE_API_CLASS(TopKLayer):
public CNNLayer {
1926 class INFERENCE_ENGINE_API_CLASS(UniqueLayer):
public CNNLayer {
1952 class INFERENCE_ENGINE_API_CLASS(NonMaxSuppressionLayer):
public CNNLayer {
1957 bool center_point_box =
false;
1962 bool sort_result_descending =
true;
1974 class INFERENCE_ENGINE_API_CLASS(ScatterLayer):
public CNNLayer {
int GetParamAsInt(const char *param, int def) const
Returns an integer value for the given parameter or returns the default value.
Definition: ie_layers.h:235
BinaryConvolutionLayer(const LayerParams &p)
Creates a new BinaryConvolutionLayer instance.
Definition: ie_layers.h:791
std::shared_ptr< CNNLayer > Ptr
A shared pointer to CNNLayer.
Definition: ie_layers.h:46
#define THROW_IE_EXCEPTION
A macro used to throw the exception with a notable description.
Definition: ie_exception.hpp:24
#define DEFINE_PROP(prop_name)
convinenent way to declare property with backward compatibility to 2D members
Definition: ie_layers.h:547
PoolingLayer(const PoolingLayer &that)
copy constructor
Definition: ie_layers.h:717
std::vector< int > axis
A vector of dimensions for cropping.
Definition: ie_layers.h:1095
virtual const DataPtr input() const
Returns the first element of the input data for this layer.
Definition: ie_layers.h:105
This class represents a Layer which performs Scale and Shift.
Definition: ie_layers.h:1451
std::string type
Layer type.
Definition: ie_layers.h:55
unsigned int _group
Number of groups.
Definition: ie_layers.h:584
LSTM Cell layer.
Definition: ie_layers.h:1309
PoolType _type
A pooling type.
Definition: ie_layers.h:683
This class represents a standard Strided Slice layer Strided Slice picks from input tensor according ...
Definition: ie_layers.h:1602
unsigned int GetParamAsUInt(const char *param, unsigned int def) const
Returns an unsigned integer value for the given parameter or returns the default value.
Definition: ie_layers.h:309
PoolType
Defines available pooling types.
Definition: ie_layers.h:678
float GetParamAsFloat(const char *param, float def) const
Gets float value for the given parameter.
Definition: ie_layers.h:158
This class represents a standard crop layer.
Definition: ie_layers.h:1090
std::vector< float > activation_beta
Beta parameters of activations.
Definition: ie_layers.h:1267
The method holds the user values to enable binding of data per graph node.
Definition: ie_common.h:67
This structure describes ROI data.
Definition: ie_blob.h:687
PReLULayer(const LayerParams &prms)
A default constructor. Creates a new PReLULayer instance and initializes layer parameters with the gi...
Definition: ie_layers.h:1464
This class represents a standard Power Layer Formula is: output = (offset + scale * input) ^ power...
Definition: ie_layers.h:1473
std::string begin_mask
The begin_mask is a bitmask where bit i being 0 means to ignore the begin value and instead use the d...
Definition: ie_layers.h:1608
std::vector< int > GetParamAsInts(const char *param, std::vector< int > def) const
Returns a vector of int values for the given parameter or returns the default value.
Definition: ie_layers.h:266
std::vector< int > shape
A vector of sizes of the shape.
Definition: ie_layers.h:1121
Inference Engine API.
Definition: ie_argmax_layer.hpp:11
Definition: ie_layers.h:1437
This is an internal common Layer parameter parsing arguments.
Definition: ie_layers.h:29
bool _channel_shared
A flag that indicates if the same negative_slope value is used for all the features. If false, the value is used pixel wise.
Definition: ie_layers.h:1457
PropertyVector< unsigned int > _dilation
A convolution dilations array [X, Y, Z, ...].
Definition: ie_layers.h:572
This class represents a standard Space To Depth layer Depth To Space picks from input tensor accordin...
Definition: ie_layers.h:1684
eBinaryConvolutionMode _mode
Mode of binary convolution operation.
Definition: ie_layers.h:743
Definition: ie_layers.h:1229
This class represents a OneHot layer Converts input into OneHot representation.
Definition: ie_layers.h:1755
Base class for recurrent cell layers.
Definition: ie_layers.h:1217
PropertyVector< unsigned int > pads_begin
Size of padding in the beginning of each axis.
Definition: ie_layers.h:1559
PropertyVector< unsigned int > _dilation
A convolution dilations array [X, Y, Z, ...].
Definition: ie_layers.h:770
This class represents a layer with Weights and/or Biases (e.g. Convolution/Fully Connected, etc.)
Definition: ie_layers.h:518
Blob::Ptr _weights
A pointer to a weights blob.
Definition: ie_layers.h:530
PropertyVector< unsigned int > _stride
A convolution strides array [X, Y, Z, ...].
Definition: ie_layers.h:572
This class represents a standard Fill layer RFill modifies input tensor according parameters...
Definition: ie_layers.h:1803
WeightableLayer(const LayerParams &prms)
A default constructor. Constructs a WeightableLayer instance and initiates layer parameters with the ...
Definition: ie_layers.h:525
std::vector< DataWeakPtr > insData
A vector of weak pointers to the input data elements of this layer in the di-graph (order matters) ...
Definition: ie_layers.h:67
RNN Cell layer.
Definition: ie_layers.h:1386
std::string _auto_pad
Auto padding type.
Definition: ie_layers.h:588
void fuse(Ptr &layer)
Sets a layer to be fused with.
Definition: ie_layers.h:97
A header file for Blob and generic TBlob<>
This class represents a standard deconvolution layer.
Definition: ie_layers.h:628
std::string shrink_axis_mask
The shrink_axis_mask is a bitmask where bit i being 1 means the i-th position shrinks the dimensional...
Definition: ie_layers.h:1627
std::vector< unsigned int > GetParamAsUInts(const char *param) const
Returns a vector of unsigned int values for the given parameter.
Definition: ie_layers.h:377
Direction
Direction of iteration through sequence dimension.
Definition: ie_layers.h:1436
int to
Definition: ie_layers.h:1188
std::vector< int > offset
A vector of offsets for each dimension.
Definition: ie_layers.h:1103
This class represents a standard Scatter layer.
Definition: ie_layers.h:1974
This class represents standard MVN Layer.
Definition: ie_layers.h:961
PropertyVector< unsigned int > _kernel
A convolution kernel array [X, Y, Z, ...].
Definition: ie_layers.h:560
int stride
Definition: ie_layers.h:1192
static std::string ie_serialize_float(float value)
serialize float with c_locale formating used for default values serializing
Definition: ie_layers.h:145
Ptr _fusedWith
If suggested to fuse - a pointer to the layer which needs to be fused with this layer.
Definition: ie_layers.h:71
This class represents a standard Reduce layers Reduce modifies input tensor according parameters...
Definition: ie_layers.h:1880
bool sorted
A flag indicating whether to sort unique elements.
Definition: ie_layers.h:1931
std::string sort
top K values sort mode could be 'value' or 'index'
Definition: ie_layers.h:1908
ConvolutionLayer(const ConvolutionLayer &that)
copy constructor
Definition: ie_layers.h:614
PropertyVector< unsigned int > _pads_end
Pooling paddings end array [X, Y, Z, ...].
Definition: ie_layers.h:664
BinaryConvolutionLayer & operator=(const BinaryConvolutionLayer &that)
assignment operator
Definition: ie_layers.h:796
std::vector< std::string > activations
Activations used inside recurrent cell.
Definition: ie_layers.h:1253
std::string name
Layer name.
Definition: ie_layers.h:31
std::string type
Layer type.
Definition: ie_layers.h:33
This class represents a standard Reverse Sequence layer Reverse Sequence modifies input tensor accord...
Definition: ie_layers.h:1731
This class represents a Clamp activation layer Clamps all tensor elements into the range [min_value...
Definition: ie_layers.h:1005
int part_size
Definition: ie_layers.h:1195
ConvolutionLayer & operator=(const ConvolutionLayer &that)
assignment operator
Definition: ie_layers.h:598
This class represents a layer that evenly splits the input into the supplied outputs.
Definition: ie_layers.h:870
Definition: ie_layers.h:1438
Definition: ie_layers.h:1227
eOperation
Defines possible operations that can be used.
Definition: ie_layers.h:1046
This class represents a standard TopK layer TopK picks top K values from input tensor according param...
Definition: ie_layers.h:1899
bool _exclude_pad
A flag that indicates if padding is excluded or not.
Definition: ie_layers.h:688
GRU Cell layer.
Definition: ie_layers.h:1350
This class represents an element wise operation layer.
Definition: ie_layers.h:1040
PropertyVector< unsigned int > pads_end
Size of padding in the end of each axis.
Definition: ie_layers.h:1563
This class represents standard GRN Layer.
Definition: ie_layers.h:940
This class represents a standard Shuffle Channels layer Shuffle Channels picks from input tensor acco...
Definition: ie_layers.h:1641
This class represents a standard reshape layer.
Definition: ie_layers.h:1116
std::string mode
The mode could be 'max' or 'min'.
Definition: ie_layers.h:1904
UserValue userValue
Convenience user values to store in this object as extra data.
Definition: ie_layers.h:75
Sequence of recurrent cells.
Definition: ie_layers.h:1422
PropertyVector< unsigned int > _pads_end
A convolution paddings end array [X, Y, Z, ...].
Definition: ie_layers.h:762
BinaryConvolutionLayer(const BinaryConvolutionLayer &that)
copy constructor
Definition: ie_layers.h:815
GRNLayer(const LayerParams &prms)
A default constructor. Creates a new GRNLayer instance and initializes layer parameters with the give...
Definition: ie_layers.h:947
CNNLayer(const LayerParams &prms)
A constructor. Creates a new CNNLayer instance and initializes layer parameters with the given values...
Definition: ie_layers.h:85
static float ie_parse_float(const std::string &str)
Parse string with float in accordance with IE rules.
Definition: ie_layers.h:127
This class represents a fully connected layer.
Definition: ie_layers.h:831
ePadMode
Defines possible modes of pad operation.
Definition: ie_layers.h:1554
This class represents a SelectLayer layer SelectLayer layer takes elements from the second (“then”)...
Definition: ie_layers.h:1819
std::map< std::string, std::string > params
Map of pairs: (parameter name, parameter value)
Definition: ie_layers.h:502
Definition: ie_layers.h:1226
bool return_inverse
A flag indicating whether to return indices of input data elements in the output of uniques...
Definition: ie_layers.h:1935
PoolingLayer(const LayerParams &p)
Creates a new PoolingLayer instance.
Definition: ie_layers.h:697
std::shared_ptr< Blob > Ptr
A smart pointer containing Blob object.
Definition: ie_blob.h:40
std::shared_ptr< Data > DataPtr
Smart pointer to Data.
Definition: ie_common.h:51
std::vector< float > coeff
A vector of coefficients to scale the operands.
Definition: ie_layers.h:1077
std::string end_mask
Analogous to begin_mask.
Definition: ie_layers.h:1612
This class represents Unique layer. The Unique operation searches for unique elements in 1-D input...
Definition: ie_layers.h:1926
std::vector< unsigned int > GetParamAsUInts(const char *param, std::vector< unsigned int > def) const
Returns a vector of unsigned int values for the given parameter or returns the default value...
Definition: ie_layers.h:350
std::vector< float > activation_alpha
Alpha parameters of activations.
Definition: ie_layers.h:1260
unsigned int GetParamAsUInt(const char *param) const
Returns an unsigned integer value for the given parameter.
Definition: ie_layers.h:329
This class represents a ReLU6 activation layer Clamps all tensor elements into the range [0...
Definition: ie_layers.h:1028
This class represents a Batch Normalization Layer.
Definition: ie_layers.h:1499
unsigned int _group
Number of groups.
Definition: ie_layers.h:782
PropertyVector< unsigned int > _stride
Pooling strides array [X, Y, Z, ...].
Definition: ie_layers.h:672
This class represents a Layer which performs Scale and Shift.
Definition: ie_layers.h:1164
This class represents standard softmax Layer.
Definition: ie_layers.h:922
unsigned int _out_depth
A number of output feature maps (size) generating the 3'rd output dimension.
Definition: ie_layers.h:580
PropertyVector< unsigned int > _kernel
A convolution kernel array [X, Y, Z, ...].
Definition: ie_layers.h:758
std::vector< float > GetParamAsFloats(const char *param) const
Returns a vector of float values for the given parameter.
Definition: ie_layers.h:212
This header file defines the main Data representation node.
bool return_counts
A flag indicating whether to return a number of occurences for each unique element.
Definition: ie_layers.h:1939
int end
Definition: ie_layers.h:1194
bool GetParamAsBool(const char *param, bool def) const
Returns a boolean value for the given parameter. The valid values are (true, false, 1, 0).
Definition: ie_layers.h:404
std::vector< int > GetParamAsInts(const char *param) const
Returns a vector of int values for the given parameter.
Definition: ie_layers.h:288
float _pad_value
A pad value which is used to fill pad area.
Definition: ie_layers.h:753
std::string ellipsis_mask
The ellipsis_mask is a bitmask where bit i being 1 means the i-th is actually an ellipsis.
Definition: ie_layers.h:1617
unsigned int _in_depth
A number of input feature maps (size) generating the 3'rd input dimension.
Definition: ie_layers.h:748
PropertyVector< unsigned int > _kernel
Pooling kernel array [X, Y, Z, ...].
Definition: ie_layers.h:660
float GetParamAsFloat(const char *param) const
Returns a float value for the given layer parameter.
Definition: ie_layers.h:173
PropertyVector< unsigned int > _padding
Pooling paddings begin array [X, Y, Z, ...].
Definition: ie_layers.h:660
Definition: ie_layers.h:1198
int GetParamAsInt(const char *param) const
Returns an integer value for the given parameter.
Definition: ie_layers.h:250
PropertyVector< unsigned int > _padding
A convolution paddings begin array [X, Y, Z, ...].
Definition: ie_layers.h:758
int across_channels
Indicate that mean value is calculated across channels.
Definition: ie_layers.h:973
Precision precision
Layer base operating precision.
Definition: ie_layers.h:59
This class represents a quantization operation layer Element-wise linear quantization of floating poi...
Definition: ie_layers.h:1847
unsigned int _out_depth
A number of output feature maps (size) generating the 3'rd output dimension.
Definition: ie_layers.h:778
MVNLayer(const LayerParams &prms)
A default constructor. Creates a new MVNLayer instance and initializes layer parameters with the give...
Definition: ie_layers.h:968
This class represents a Rectified Linear activation layer.
Definition: ie_layers.h:986
This class represents a standard 3D Convolution Layer.
Definition: ie_layers.h:555
CellType
Direct type of recurrent cell (including subtypes) Description of particular cell semantics is in LST...
Definition: ie_layers.h:1225
bool GetParamAsBool(const char *param) const
Returns a boolean value for the given parameter.
Definition: ie_layers.h:425
std::string _auto_pad
Auto padding type.
Definition: ie_layers.h:692
std::string _auto_pad
Auto padding type.
Definition: ie_layers.h:786
This class represents a standard Pad layer Adds paddings to input tensor.
Definition: ie_layers.h:1548
This class represents a standard Tile Layer.
Definition: ie_layers.h:1142
This class represents a standard binary convolution layer.
Definition: ie_layers.h:732
Precision precision
Layer precision.
Definition: ie_layers.h:35
PropertyVector< unsigned int > _pads_end
A convolution paddings end array [X, Y, Z, ...].
Definition: ie_layers.h:564
Blob::Ptr _biases
A pointer to a biases blob.
Definition: ie_layers.h:534
This class represents a Linear Response Normalization (LRN) Layer.
Definition: ie_layers.h:888
This class represents TensorIterator layer.
Definition: ie_layers.h:1183
This class represents concatenation layer Takes as input several data elements and merges them to one...
Definition: ie_layers.h:850
PoolingLayer & operator=(const PoolingLayer &that)
assignment operator
Definition: ie_layers.h:702
std::vector< float > GetParamAsFloats(const char *param, std::vector< float > def) const
Returns a vector of float values for the given parameter or returns the default value.
Definition: ie_layers.h:189
This class represents SparseSegmentMean(SqrtN, Sum) layers SparseSegmentMean(SqrtN, Sum) layer reduces data along sparse segments of a tensor.
Definition: ie_layers.h:1717
This class represents a standard RangeLayer layer RangeLayer modifies input tensor dimensions accordi...
Definition: ie_layers.h:1789
This is a base abstraction Layer - all DNN Layers inherit from this class.
Definition: ie_layers.h:41
int start
Definition: ie_layers.h:1193
std::string affinity
Layer affinity set by user.
Definition: ie_layers.h:79
This class represents a standard pooling layer.
Definition: ie_layers.h:655
PropertyVector< unsigned int > _stride
A convolution strides array [X, Y, Z, ...].
Definition: ie_layers.h:770
Definition: ie_layers.h:1185
This class represents a standard Gather layer Gather slices from Dictionary according to Indexes...
Definition: ie_layers.h:1584
Definition: ie_layers.h:1228
std::string GetParamAsString(const char *param) const
Returns a string value for the given parameter. Throws exception if parameter was not found...
Definition: ie_layers.h:475
class CNNLayer GenericLayer
Alias for CNNLayer object.
Definition: ie_layers.h:513
This class represents a standard Math layers Math modifies input tensor dimensions according paramete...
Definition: ie_layers.h:1866
std::string new_axis_mask
The new_axis_mask_ is a bitmask where bit i being 1 means the i-th position creates a new 1 dimension...
Definition: ie_layers.h:1622
PropertyVector< unsigned int > _padding
A convolution paddings begin array [X, Y, Z, ...].
Definition: ie_layers.h:560
std::map< std::string, Blob::Ptr > blobs
Map of pairs: (name, weights/biases blob)
Definition: ie_layers.h:507
std::string GetParamAsString(const char *param, const char *def) const
Returns a string value for the given parameter or returns the default one.
Definition: ie_layers.h:448
std::vector< DataPtr > outData
A vector of pointers to the output data elements of this layer in the di-graph (order matters) ...
Definition: ie_layers.h:63
eBinaryConvolutionMode
Defines possible modes of binary convolution operation.
Definition: ie_layers.h:738
int from
Definition: ie_layers.h:1187
This class represents a standard NonMaxSuppression layer.
Definition: ie_layers.h:1952
bool CheckParamPresence(const char *param) const
Checks the param presence in the layer.
Definition: ie_layers.h:461
This class represents a standard Depth To Space layer Depth To Space picks from input tensor accordin...
Definition: ie_layers.h:1665
This class represents a general matrix multiplication operation layer Formula is: dst := alpha*src1*s...
Definition: ie_layers.h:1518
int axis
Definition: ie_layers.h:1191
std::vector< int > dim
A vector of dimensions to be preserved.
Definition: ie_layers.h:1099
This class represents SparseFillEmptyRows layer SparseFillEmptyRows fills empty rows in a sparse tens...
Definition: ie_layers.h:1703
std::string name
Layer name.
Definition: ie_layers.h:51
This is a header file with common inference engine definitions.
ConvolutionLayer(const LayerParams &p)
Creates a new ConvolutionLayer instance.
Definition: ie_layers.h:593
This class holds precision value and provides precision related operations.
Definition: ie_precision.hpp:21
This class represents a standard Broadcast layer Broadcast modifies input tensor dimensions according...
Definition: ie_layers.h:1833