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)