22 class INFERENCE_ENGINE_API_CLASS(BlockingDesc) {
90 return offsetPaddingToData;
137 size_t offsetPadding;
143 class INFERENCE_ENGINE_API_CLASS(TensorDesc) {
220 bool inconsistentLayout =
true;
223 inconsistentLayout = !dims.empty();
226 inconsistentLayout = dims.size() != 1;
228 case Layout::BLOCKED:
230 inconsistentLayout =
false;
234 inconsistentLayout = dims.size() != 5;
239 inconsistentLayout = dims.size() != 4;
242 inconsistentLayout = dims.size() != 3;
247 inconsistentLayout = dims.size() != 2;
252 if (inconsistentLayout)
253 THROW_IE_EXCEPTION <<
"Size of dims(" << std::to_string(dims.size()) <<
") and format(" << l <<
") are inconsistent.";
286 bool operator == (
const TensorDesc& rhs)
const;
292 bool operator != (
const TensorDesc& rhs)
const;
305 size_t offset(
size_t l)
const;
335 INFERENCE_ENGINE_DEPRECATED
336 static const size_t I_N = 3;
341 INFERENCE_ENGINE_DEPRECATED
342 static const size_t I_C = 2;
347 INFERENCE_ENGINE_DEPRECATED
348 static const size_t I_H = 1;
353 INFERENCE_ENGINE_DEPRECATED
354 static const size_t I_W = 0;
379 IE_SUPPRESS_DEPRECATED_START
389 LayoutOffsetCounter & operator = (
const LayoutOffsetCounter & l);
390 IE_SUPPRESS_DEPRECATED_END
395 ~LayoutOffsetCounter();
408 INFERENCE_ENGINE_DEPRECATED
410 IE_SUPPRESS_DEPRECATED_START
411 if (dims.size() == 0)
return;
419 size_t ps = srcOffsetCounter.Offset(pos);
420 size_t pd = destOffsetCounter.
Offset(pos);
422 destBuffer[pd] = sourceBuffer[ps];
427 while (pos[caret] >= dims[caret]) {
430 if (caret == pos.size()) {
437 IE_SUPPRESS_DEPRECATED_END
#define THROW_IE_EXCEPTION
A macro used to throw the exception with a notable description.
Definition: ie_exception.hpp:22
Layout
Layouts that the inference engine supports.
Definition: ie_common.h:76
Layout getLayout() const
Returns the memory layout.
Definition: ie_layouts.h:211
Inference Engine API.
Definition: ie_argmax_layer.hpp:11
static const size_t I_N
Definition: ie_layouts.h:336
const BlockingDesc & getBlockingDesc() const
Returns the blocking descriptor.
Definition: ie_layouts.h:277
static const size_t I_W
Definition: ie_layouts.h:354
void setLayout(Layout l)
Sets the layout.
Definition: ie_layouts.h:219
This class helps calculating offset in different layouts.
Definition: ie_layouts.h:360
const SizeVector & getDims() const noexcept
Returns the constant vector of dimensions.
Definition: ie_layouts.h:198
const SizeVector & getStrides() const
Returns strides for each dimension.
Definition: ie_layouts.h:105
This class defines Tensor description.
Definition: ie_layouts.h:143
SizeVector & getDims()
Returns the vector of dimensions.
Definition: ie_layouts.h:191
A header file that provides class for describing precision of data.
const SizeVector & getBlockDims() const
Returns the blocked dimensions vector.
Definition: ie_layouts.h:73
void ConvertLayout(Layout sourceLayout, Layout destLayout, const T *sourceBuffer, T *destBuffer, SizeVector dims)
Definition: ie_layouts.h:409
static const size_t I_C
Definition: ie_layouts.h:342
size_t getOffsetPadding() const
Returns the offset to the current memory block.
Definition: ie_layouts.h:97
The macro defines a symbol import/export mechanism essential for Microsoft Windows(R) OS...
const SizeVector & getOrder() const
Returns the vector of order.
Definition: ie_layouts.h:81
static const size_t I_H
Definition: ie_layouts.h:348
std::vector< size_t > SizeVector
Represents tensor size. The order is opposite to the order in Caffe*: (w,h,n,b) where the most freque...
Definition: ie_common.h:26
This class describes blocking layouts.
Definition: ie_layouts.h:22
size_t Offset(SizeVector pos)
Calculates an offset for the specified layout.
const SizeVector & getOffsetPaddingToData() const
Returns the per-dimension offset vector.
Definition: ie_layouts.h:89
const Precision & getPrecision() const
Returns the memory precision.
Definition: ie_layouts.h:261
This is a header file with common inference engine definitions.
This class holds precision value and provides precision related operations.
Definition: ie_precision.hpp:19
void setPrecision(const Precision &p)
Sets the memory precision.
Definition: ie_layouts.h:269