Data Structures | Macros | Typedefs
ie_layers.h File Reference

a header file for internal Layers structure to describe layers information More...

#include <memory>
#include <string>
#include <vector>
#include <algorithm>
#include <map>
#include <iterator>
#include <limits>
#include <cctype>
#include "ie_common.h"
#include "ie_data.h"
#include "ie_blob.h"
#include "ie_device.hpp"
#include "ie_layers_property.hpp"

Go to the source code of this file.

Data Structures

struct  InferenceEngine::LayerParams
 This is an internal common Layer parameter parsing arguments. More...
 
class  InferenceEngine::CNNLayer
 This is a base abstraction Layer - all DNN Layers inherit from this class. More...
 
class  InferenceEngine::WeightableLayer
 This class represents a layer with Weights and/or Biases (e.g. Convolution/Fully Connected, etc.) More...
 
class  InferenceEngine::ConvolutionLayer
 This class represents a standard 3D Convolution Layer. More...
 
class  InferenceEngine::DeconvolutionLayer
 This class represents a standard deconvolution layer. More...
 
class  InferenceEngine::DeformableConvolutionLayer
 This class represents a standard deformable convolution layer. More...
 
class  InferenceEngine::PoolingLayer
 This class represents a standard pooling layer. More...
 
class  InferenceEngine::BinaryConvolutionLayer
 This class represents a standard binary convolution layer. More...
 
class  InferenceEngine::FullyConnectedLayer
 This class represents a fully connected layer. More...
 
class  InferenceEngine::ConcatLayer
 This class represents concatenation layer Takes as input several data elements and merges them to one using the supplied axis. More...
 
class  InferenceEngine::SplitLayer
 This class represents a layer that evenly splits the input into the supplied outputs. More...
 
class  InferenceEngine::NormLayer
 This class represents a Linear Response Normalization (LRN) Layer. More...
 
class  InferenceEngine::SoftMaxLayer
 This class represents standard softmax Layer. More...
 
class  InferenceEngine::GRNLayer
 This class represents standard GRN Layer. More...
 
class  InferenceEngine::MVNLayer
 This class represents standard MVN Layer. More...
 
class  InferenceEngine::ReLULayer
 This class represents a Rectified Linear activation layer. More...
 
class  InferenceEngine::ClampLayer
 This class represents a Clamp activation layer Clamps all tensor elements into the range [min_value, max_value]. More...
 
class  InferenceEngine::ReLU6Layer
 This class represents a ReLU6 activation layer Clamps all tensor elements into the range [0, 6.0]. More...
 
class  InferenceEngine::EltwiseLayer
 This class represents an element wise operation layer. More...
 
class  InferenceEngine::CropLayer
 This class represents a standard crop layer. More...
 
class  InferenceEngine::ReshapeLayer
 This class represents a standard reshape layer. More...
 
class  InferenceEngine::TileLayer
 This class represents a standard Tile Layer. More...
 
class  InferenceEngine::ScaleShiftLayer
 This class represents a Layer which performs Scale and Shift. More...
 
class  InferenceEngine::TensorIterator
 This class represents TensorIterator layer. More...
 
struct  InferenceEngine::TensorIterator::PortMap
 
struct  InferenceEngine::TensorIterator::Body
 
class  InferenceEngine::RNNCellBase
 Base class for recurrent cell layers. More...
 
class  InferenceEngine::RNNSequenceLayer
 Sequence of recurrent cells. More...
 
class  InferenceEngine::PReLULayer
 This class represents a Layer which performs Scale and Shift. More...
 
class  InferenceEngine::PowerLayer
 This class represents a standard Power Layer Formula is: output = (offset + scale * input) ^ power. More...
 
class  InferenceEngine::BatchNormalizationLayer
 This class represents a Batch Normalization Layer. More...
 
class  InferenceEngine::GemmLayer
 This class represents a general matrix multiplication operation layer Formula is: dst := alpha*src1*src2 + beta*src3. More...
 
class  InferenceEngine::PadLayer
 This class represents a standard Pad layer Adds paddings to input tensor. More...
 
class  InferenceEngine::GatherLayer
 This class represents a standard Gather layer Gather slices from Dictionary according to Indexes. More...
 
class  InferenceEngine::StridedSliceLayer
 This class represents a standard Strided Slice layer Strided Slice picks from input tensor according parameters. More...
 
class  InferenceEngine::ShuffleChannelsLayer
 This class represents a standard Shuffle Channels layer Shuffle Channels picks from input tensor according parameters. More...
 
class  InferenceEngine::DepthToSpaceLayer
 This class represents a standard Depth To Space layer Depth To Space picks from input tensor according parameters. More...
 
class  InferenceEngine::SpaceToDepthLayer
 This class represents a standard Space To Depth layer Depth To Space picks from input tensor according parameters. More...
 
class  InferenceEngine::ReverseSequenceLayer
 This class represents a standard Reverse Sequence layer Reverse Sequence modifies input tensor according parameters. More...
 
class  InferenceEngine::OneHotLayer
 This class represents a OneHot layer Converts input into OneHot representation. More...
 
class  InferenceEngine::RangeLayer
 This class represents a standard RangeLayer layer RangeLayer modifies input tensor dimensions according parameters. More...
 
class  InferenceEngine::FillLayer
 This class represents a standard Fill layer RFill modifies input tensor according parameters. More...
 
class  InferenceEngine::SelectLayer
 This class represents a SelectLayer layer SelectLayer layer takes elements from the second (“then”) or the third (“else”) input based on condition mask (“cond”) provided in the first input. The “cond” tensor is broadcasted to “then” and “else” tensors. The output tensor shape is equal to broadcasted shape of “cond”, “then” and “else”. More...
 
class  InferenceEngine::BroadcastLayer
 This class represents a standard Broadcast layer Broadcast modifies input tensor dimensions according parameters. More...
 
class  InferenceEngine::QuantizeLayer
 This class represents a quantization operation layer Element-wise linear quantization of floating point input values into a descrete set of floating point values. More...
 
class  InferenceEngine::MathLayer
 This class represents a standard Math layers Math modifies input tensor dimensions according parameters. More...
 
class  InferenceEngine::ReduceLayer
 This class represents a standard Reduce layers Reduce modifies input tensor according parameters. More...
 
class  InferenceEngine::TopKLayer
 This class represents a standard TopK layer TopK picks top K values from input tensor according parameters. More...
 

Macros

#define DEFINE_PROP(prop_name)
 convinenent way to declare property with backward compatibility to 2D members More...
 

Typedefs

using InferenceEngine::GenericLayer = class CNNLayer
 Alias for CNNLayer object.
 
using InferenceEngine::LSTMCell = RNNCellBase
 LSTM Cell layer. More...
 
using InferenceEngine::GRUCell = RNNCellBase
 GRU Cell layer. More...
 
using InferenceEngine::RNNCell = RNNCellBase
 RNN Cell layer. More...
 

Detailed Description

a header file for internal Layers structure to describe layers information

Macro Definition Documentation

§ DEFINE_PROP

#define DEFINE_PROP (   prop_name)
Value:
PropertyVector<unsigned int> prop_name;\
unsigned int &prop_name##_x = prop_name.at(X_AXIS);\
unsigned int &prop_name##_y = prop_name.at(Y_AXIS);\

convinenent way to declare property with backward compatibility to 2D members

Typedef Documentation

§ GRUCell

using InferenceEngine::GRUCell = typedef RNNCellBase

GRU Cell layer.

G - number of gates (=3) N - batch size S - state size (=hidden_size)

Inputs: [N,D] Xt - input data [N,S] Ht-1 - initial hidden state

Outputs: [N,S] Ht - out hidden state

Weights:

  • weights [G,S,D+S]
  • biases [G,S] NB! gates order is ZRH {update, reset, output}

activations is {_f, _g} default: {_f=sigm, _g=tanh}

Equations:

  • - matrix mult (.) - eltwise mult [,] - concatenation

zt = _f(Wz*[Ht-1, Xt] + Bz)

  • rt = _f(Wr*[Ht-1, Xt] + Br)
  • ht = _g(Wh*[rt (.) Ht-1, Xt] + Bh)
  • Ht = (1 - zt) (.) ht + zt (.) Ht-1

§ LSTMCell

using InferenceEngine::LSTMCell = typedef RNNCellBase

LSTM Cell layer.

G - number of gates (=4) N - batch size S - state size (=hidden_size)

Inputs: [N,D] Xt - input data [N,S] Ht-1 - initial hidden state [N,S] Ct-1 - initial cell state

Outputs: [N,S] Ht - out hidden state [N,S] Ct - out cell state

Weights:

  • weights [G,S,D+S]
  • biases [G,S] NB! gates order is FICO {forget, input, candidate, output}

activations is {_f, _g, _h} default: {_f=sigm, _g=tanh, _h=tanh}

Equations:

  • - matrix mult (.) - eltwise mult [,] - concatenation

ft = _f(Wf*[Ht-1, Xt] + Bf)

  • it = _f(Wi*[Ht-1, Xt] + Bi)
  • ct = _g(Wc*[Ht-1, Xt] + Bc)
  • ot = _f(Wo*[Ht-1, Xt] + Bo)
  • Ct = ft (.) Ct-1 + it (.) ct
  • Ht = ot (.) _h(Ct)

§ RNNCell

using InferenceEngine::RNNCell = typedef RNNCellBase

RNN Cell layer.

G - number of gates (=1) N - batch size S - state size (=hidden_size)

Inputs: [N,D] Xt - input data [N,S] Ht-1 - initial hidden state

Outputs: [N,S] Ht - out hidden state

Weights:

  • weights [G,S,D+S]
  • biases [G,S]

activations is {_f} default: {_f=tanh}

Equations:

  • - matrix mult [,] - concatenation

Ht = _f(Wi*[Ht-1, Xt] + Bi)