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.size() != 1;
225 case Layout::BLOCKED:
226 inconsistentLayout =
false;
230 inconsistentLayout = dims.size() != 5;
235 inconsistentLayout = dims.size() != 4;
238 inconsistentLayout = dims.size() != 3;
243 inconsistentLayout = dims.size() != 2;
248 if (inconsistentLayout)
249 THROW_IE_EXCEPTION <<
"Dims(" << std::to_string(dims.size()) <<
") and format(" << std::to_string(l) <<
") are inconsistent.";
282 bool operator == (
const TensorDesc& rhs)
const;
288 bool operator != (
const TensorDesc& rhs)
const;
301 size_t offset(
size_t l)
const;
331 static const size_t I_N = 3;
332 static const size_t I_C = 2;
333 static const size_t I_H = 1;
334 static const size_t I_W = 0;
340 class INFERENCE_ENGINE_API_CLASS(LayoutOffsetCounter) {
370 if (dims.size() == 0)
return;
378 size_t ps = srcOffsetCounter.Offset(pos);
379 size_t pd = destOffsetCounter.
Offset(pos);
381 destBuffer[pd] = sourceBuffer[ps];
386 while (pos[caret] >= dims[caret]) {
389 if (caret == pos.size()) {
#define THROW_IE_EXCEPTION
A macro used to throw the exception with a notable description.
Definition: ie_exception.hpp:22
Layout getLayout() const
Returns the memory layout.
Definition: ie_layouts.h:211
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
Definition: ie_argmax_layer.hpp:11
Layout
Layouts that the inference engine supports.
Definition: ie_common.h:76
const BlockingDesc & getBlockingDesc() const
Returns the blocking descriptor.
Definition: ie_layouts.h:273
void setLayout(Layout l)
Sets the layout.
Definition: ie_layouts.h:219
This class helps calculating offset in different layouts.
Definition: ie_layouts.h:340
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:369
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 & getDims() const
Returns the constant vector of dimensions.
Definition: ie_layouts.h:198
const SizeVector & getOrder() const
Returns the vector of order.
Definition: ie_layouts.h:81
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:257
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:265