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 <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::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::SqueezeLayer
  This class represents a standard Squeeze layer Squeeze modifies input tensor dimensions according parameters. More...
 
class   InferenceEngine::UnsqueezeLayer
  This class represents a standard Unsqueeze layer Unsqueeze modifies input tensor dimensions according parameters. 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::ExpandLayer
  This class represents a standard Expand layer Expand 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...
 

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)