37 class INFERENCE_ENGINE_API_CLASS(CNNNetwork) {
48 explicit CNNNetwork(std::shared_ptr<ICNNNetwork> network): network(network) {
49 actual = network.get();
50 if (actual ==
nullptr) {
59 explicit CNNNetwork(
const std::shared_ptr<ngraph::Function>& network);
65 explicit CNNNetwork(std::shared_ptr<ICNNNetReader> reader): reader(reader), actual(reader->getNetwork(nullptr)) {
66 if (actual ==
nullptr) {
81 return actual->getPrecision();
90 actual->getOutputsInfo(outputs);
100 actual->getInputsInfo(inputs);
109 return actual->layerCount();
117 return actual->getName();
125 CALL_STATUS_FNC(setBatchSize, size);
133 return actual->getBatchSize();
148 const std::shared_ptr<ngraph::Function>
getFunction() const noexcept {
149 return actual->getFunction();
156 void addOutput(
const std::string& layerName,
size_t outputIndex = 0) {
157 CALL_STATUS_FNC(addOutput, layerName, outputIndex);
166 CALL_STATUS_FNC(getLayerByName, layerName, layer);
175 details::CNNNetworkIterator
begin()
const {
176 return details::CNNNetworkIterator(actual);
182 details::CNNNetworkIterator
end()
const {
183 return details::CNNNetworkIterator();
191 return std::distance(std::begin(*
this), std::end(*
this));
198 void AddExtension(InferenceEngine::IShapeInferExtensionPtr extension) {
199 CALL_STATUS_FNC(AddExtension, extension);
209 actual->getInputsInfo(inputs);
210 for (
const auto& pair : inputs) {
211 auto info = pair.second;
213 auto data = info->getInputData();
215 shapes[data->getName()] = data->getTensorDesc().getDims();
227 CALL_STATUS_FNC(reshape, inputShapes);
236 void serialize(
const std::string& xmlPath,
const std::string& binPath =
"")
const {
237 CALL_STATUS_FNC(serialize, xmlPath, binPath);
CNNLayerPtr getLayerByName(const char *layerName) const
Wraps original method ICNNNetwork::getLayerByName.
Definition: ie_cnn_network.h:164
#define THROW_IE_EXCEPTION
A macro used to throw the exception with a notable description.
Definition: ie_exception.hpp:24
virtual ~CNNNetwork()
A destructor.
Definition: ie_cnn_network.h:74
CNNNetwork(std::shared_ptr< ICNNNetwork > network)
Allows helper class to manage lifetime of network object.
Definition: ie_cnn_network.h:48
Inference Engine API.
Definition: ie_argmax_layer.hpp:11
A header file that provides macros to handle no exception methods.
virtual ICNNNetwork::InputShapes getInputShapes() const
Helper method to get collect all input shapes with names of corresponding Data objects ...
Definition: ie_cnn_network.h:206
const std::string & getName() const noexcept
Wraps original method ICNNNetwork::getName.
Definition: ie_cnn_network.h:116
virtual InputsDataMap getInputsInfo() const
Wraps original method ICNNNetwork::getInputsInfo.
Definition: ie_cnn_network.h:98
void addOutput(const std::string &layerName, size_t outputIndex=0)
Wraps original method ICNNNetwork::addOutput.
Definition: ie_cnn_network.h:156
A header file for Blob and generic TBlob<>
A header file for the CNNNetworkIterator class.
details::CNNNetworkIterator begin() const
Begin layer iterator Order of layers is implementation specific, and can be changed in future...
Definition: ie_cnn_network.h:175
This is a header file for the ICNNNetwork class.
const std::shared_ptr< ngraph::Function > getFunction() const noexcept
Returns constant nGraph function.
Definition: ie_cnn_network.h:148
virtual void reshape(const ICNNNetwork::InputShapes &inputShapes)
Run shape inference with new input shapes for the network.
Definition: ie_cnn_network.h:226
size_t layerCount() const
Wraps original method ICNNNetwork::layerCount.
Definition: ie_cnn_network.h:108
virtual Precision getPrecision() const
Wraps original method ICNNNetwork::getPrecision.
Definition: ie_cnn_network.h:80
virtual size_t getBatchSize() const
Wraps original method ICNNNetwork::getBatchSize.
Definition: ie_cnn_network.h:132
std::shared_ptr< Data > DataPtr
Smart pointer to Data.
Definition: ie_common.h:51
std::shared_ptr< ICNNNetReader > reader
reader extra reference, might be nullptr
Definition: ie_cnn_network.h:244
This is the main interface to describe the NN topology.
Definition: ie_icnn_network.hpp:41
Definition: ie_cnn_network.h:26
details::CNNNetworkIterator end() const
End layer iterator.
Definition: ie_cnn_network.h:182
void serialize(const std::string &xmlPath, const std::string &binPath="") const
Serialize network to IR and weights files.
Definition: ie_cnn_network.h:236
CNNNetwork(std::shared_ptr< ICNNNetReader > reader)
A constructor from ICNNNetReader object.
Definition: ie_cnn_network.h:65
virtual OutputsDataMap getOutputsInfo() const
Wraps original method ICNNNetwork::getOutputsInfo.
Definition: ie_cnn_network.h:88
This class contains all the information about the Neural Network and the related binary information...
Definition: ie_cnn_network.h:37
This header file defines the main Data representation node.
std::shared_ptr< ICNNNetwork > network
network extra interface, might be nullptr
Definition: ie_cnn_network.h:248
std::shared_ptr< CNNLayer > CNNLayerPtr
A smart pointer to the CNNLayer.
Definition: ie_common.h:37
std::map< std::string, DataPtr > OutputsDataMap
A collection that contains string as key, and Data smart pointer as value.
Definition: ie_icnn_network.hpp:36
virtual void setBatchSize(const size_t size)
Wraps original method ICNNNetwork::setBatchSize.
Definition: ie_cnn_network.h:124
size_t size() const
number of layers in network object
Definition: ie_cnn_network.h:190
DataPtr output
A pointer to output data.
Definition: ie_cnn_network.h:257
A header file that provides interface for network reader that is used to build networks from a given ...
void AddExtension(InferenceEngine::IShapeInferExtensionPtr extension)
Registers extension within the plugin.
Definition: ie_cnn_network.h:198
std::map< std::string, SizeVector > InputShapes
Map of pairs: name of corresponding data and its dimension.
Definition: ie_icnn_network.hpp:155
std::map< std::string, InputInfo::Ptr > InputsDataMap
A collection that contains string as key, and InputInfo smart pointer as value.
Definition: ie_input_info.hpp:156
This is a header file with common inference engine definitions.
This class holds precision value and provides precision related operations.
Definition: ie_precision.hpp:21