The sections below contain detailed list of changes made to the Inference Engine API in recent releases.
2019 R4
New API
Integration with ngraph API:
Offline compilation: import / export to std::stream:
GNA firmware model image generation:
Deprecated API
Inference Engine NN Builder API:
- InferenceEngine::Builder::EltwiseLayer
- InferenceEngine::Builder::MemoryLayer
- InferenceEngine::Builder::ROIPoolingLayer
- InferenceEngine::Builder::DeconvolutionLayer
- InferenceEngine::Builder::ReLULayer
- InferenceEngine::Builder::TanHLayer
- InferenceEngine::Builder::InputLayer
- InferenceEngine::Builder::PoolingLayer
- InferenceEngine::Builder::CropLayer
- InferenceEngine::Builder::GRUSequenceLayer
- InferenceEngine::Builder::NormLayer
- InferenceEngine::Builder::LSTMSequenceLayer
- InferenceEngine::Builder::ClampLayer
- InferenceEngine::Builder::PSROIPoolingLayer
- InferenceEngine::Builder::Layer
- InferenceEngine::Builder::RNNSequenceLayer
- InferenceEngine::Builder::ReorgYoloLayer
- InferenceEngine::Builder::NormalizeLayer
- InferenceEngine::Builder::PriorBoxClusteredLayer
- InferenceEngine::Builder::MVNLayer
- InferenceEngine::Builder::PermuteLayer
- InferenceEngine::Builder::SimplerNMSLayer
- InferenceEngine::Builder::ConstLayer
- InferenceEngine::Builder::DeformableConvolutionLayer
- InferenceEngine::Builder::FullyConnectedLayer
- InferenceEngine::Builder::PriorBoxLayer
- InferenceEngine::Builder::SoftMaxLayer
- InferenceEngine::Builder::OutputLayer
- InferenceEngine::Builder::TileLayer
- InferenceEngine::Builder::SplitLayer
- InferenceEngine::Builder::PReLULayer
- InferenceEngine::Builder::RegionYoloLayer
- InferenceEngine::Builder::ReshapeLayer
- InferenceEngine::Builder::ConvolutionLayer
- InferenceEngine::Builder::DetectionOutputLayer
- InferenceEngine::Builder::ConcatLayer
- InferenceEngine::Builder::ELULayer
- InferenceEngine::Builder::GRNLayer
- InferenceEngine::Builder::LRNLayer
- InferenceEngine::Builder::ArgMaxLayer
- InferenceEngine::Builder::ReLU6Layer
- InferenceEngine::Builder::ScaleShiftLayer
- InferenceEngine::Builder::ProposalLayer
- InferenceEngine::Builder::SigmoidLayer
- InferenceEngine::Builder::ResampleLayer
- InferenceEngine::Builder::CTCGreedyDecoderLayer
- InferenceEngine::Builder::BatchNormalizationLayer
- InferenceEngine::Builder::LayerDecorator
- InferenceEngine::Builder::PowerLayer
- InferenceEngine::Builder::Network
- InferenceEngine::Builder::PortInfo
- InferenceEngine::Builder::Connection
- InferenceEngine::Builder::PortData
- InferenceEngine::Builder::Port
- InferenceEngine::Builder::ILayer
- InferenceEngine::Builder::INetworkIterator
- InferenceEngine::Builder::INetwork
- InferenceEngine::Builder::ILayer
Plugin API:
Removed API
Removed all Inference Engine API which deprecated in 2019'R2
2019 R3
New API
New supported layers:
Removed API
2019 R2
New API
Inference Engine Core API:
Query API extensions to InferenceEngine::ExecutableNetwork and InferenceEngine::IExecutableNetwork:
Metrics and values for Query API:
Common API:
New supported primitives:
Extensions to Blob creation API:
Deprecated API
The methods listed below are deprecated and will be removed in 2019 R4 release:
Common API:
- InferenceEngine::InputInfo::getInputPrecision method
- InferenceEngine::InputInfo::setInputPrecision method
- InferenceEngine::InputInfo::getDims method
- InferenceEngine::CNNLayer::GetParamsAsBool method
- InferenceEngine::CNNNetwork::CNNNetwork(ICNNNetwork* actual) constructor
- InferenceEngine::CNNNetwork::setTargetDevice method
-
HETERO_CONFIG_KEY(DUMP_DLA_MESSAGES) config key
- InferenceEngine::ILayerImplFactory::getShapes method
- InferenceEngine::IShapeInferImpl::inferShapes(const std::vector<SizeVector>&, const std::map<std::string, std::string>& , const std::map<std::string, Blob::Ptr>&, std::vector<SizeVector>&, ResponseDesc*) method
- InferenceEngine::Data::setBatchSize method
- InferenceEngine::QueryNetworkResult::supportedLayers field
- InferenceEngine::ICNNNetwork::setBatchSize(const size_t size) method
- InferenceEngine::Blob::Resize method
- InferenceEngine::Blob::Reshape method
- InferenceEngine::TBlob::set method
InferenceEngine::IInferencePlugin and InferenceEngine:InferencePlugin obsolete methods:
- InferenceEngine::InferencePlugin::LoadNetwork(ICNNNetwork &network) method
- InferenceEngine::InferencePlugin::Infer method
- InferenceEngine::InferencePlugin::GetPerformanceCounts method
- InferenceEngine::InferencePlugin::QueryNetwork(const ICNNNetwork &network, QueryNetworkResult &res) const method
- InferenceEngine::IInferencePlugin::LoadNetwork(ICNNNetwork &network, ResponseDesc *resp) method
- InferenceEngine::IInferencePlugin::Infer(const Blob &input, Blob &result, ResponseDesc *resp) method
- InferenceEngine::IInferencePlugin::Infer(const BlobMap &input, BlobMap &result, ResponseDesc *resp) method
- InferenceEngine::IInferencePlugin::GetPerformanceCounts method
- InferenceEngine::IInferencePlugin::QueryNetwork(const ICNNNetwork& network, QueryNetworkResult& res) const method
Fields in InferenceEngine::Data class are replaced with appropriate methods:
- InferenceEngine::Data::precision field
- InferenceEngine::Data::layout field
- InferenceEngine::Data::dims field
- InferenceEngine::Data::creatorLayer field
- InferenceEngine::Data::name field
- InferenceEngine::Data::inputTo field
- InferenceEngine::Data::userObject field
Heterogeneous plugin:
- InferenceEngine::IHeteroDeviceLoader class
- InferenceEngine::IHeteroInferencePlugin class
- InferenceEngine::HeteroPluginPtr class
- operator InferenceEngine::InferencePlugin::HeteroPluginPtr operator
Blob creation API with dimensions in reverse order:
- InferenceEngine::Blob::Blob(Precision p) constructor
- InferenceEngine::Blob::Blob(Precision p, Layout l) constructor
- InferenceEngine::Blob::Blob(Precision p, const SizeVector &dims) constructor
- InferenceEngine::Blob::Blob(Precision p, Layout l, const SizeVector &dims) constructor
- InferenceEngine::TBlob::TBlob(Precision p, Layout l) constructor
- InferenceEngine::TBlob::TBlob(Precision p, Layout l, const SizeVector& dims) constructor
- InferenceEngine::TBlob::TBlob(Precision p, Layout l, const SizeVector& dims, T* ptr, size_t data_size) constructor
- InferenceEngine::TBlob::TBlob(Precision p, Layout l, const SizeVector &dims, std::shared_ptr<IAllocator> alloc) constructor
- InferenceEngine::Blob::type() method
- InferenceEngine::Blob::precision() method
- InferenceEngine::Blob::layout() method
- InferenceEngine::Blob::dims() method
- InferenceEngine::make_shared_blob(Precision p, Layout l, const SizeVector &dims) function
- InferenceEngine::make_shared_blob(Precision p, const SizeVector &dims) function
- InferenceEngine::make_shared_blob(Precision p, Layout l, const TArg &arg) function
- InferenceEngine::make_shared_blob(Precision p, const TArg &arg) function
- InferenceEngine::make_shared_blob(TBlob<TypeTo> &&arg) function
- InferenceEngine::make_shared_blob(Precision p, Layout l) function
- InferenceEngine::make_shared_blob(Precision p, Layout l, SizeVector dims, const std::vector<TypeTo> &arg) function
- InferenceEngine::make_shared_blob(Precision p, Layout l, const std::vector<TypeTo> &arg) function
- InferenceEngine::make_shared_blob(Precision p, const std::vector<TypeTo> &arg) function
- InferenceEngine::make_shared_blob(Precision p, Layout l, const SizeVector &dims, TypeTo * ptr, size_t size) function
- InferenceEngine::make_shared_blob(Precision p, const SizeVector &dims, TypeTo * ptr, size_t size) function
- InferenceEngine::I_N variable
- InferenceEngine::I_C variable
- InferenceEngine::I_H variable
- InferenceEngine::I_W variable
- InferenceEngine::LayoutOffsetCounter class
- InferenceEngine::ConvertLayout function
API working with device enumeration:
- InferenceEngine::TargetDevice enumeration
- InferenceEngine::TargetDeviceInfo class
- InferenceEngine::getDeviceName function
- InferenceEngine::FindPluginRequest class
- InferenceEngine::FindPluginResponse class
- InferenceEngine::findPlugin(const FindPluginRequest &req, FindPluginResponse &result, ResponseDesc *resp) function
- InferenceEngine::ICNNNetwork::setTargetDevice method
- InferenceEngine::ICNNNetwork::getTargetDevice method
- InferenceEngine::PluginDispatcher::getPluginByDevice method
- InferenceEngine::PluginDispatcher::getSuitablePlugin method