LoadNetwork takes network argument by constant reference.
Myriad plugin implementation applies transformations to
given network in order to get compiled model.
Transformations take network argument by non-constant
reference, so at some point of time network copy must be
acquired. ICNNNetwork is neither copyable nor movable, so
the only way to get network copy is using special utility
returning std::shared_ptr.
Myriad plugin does not expose any ownership strategy,
so prefers to take network argument by simple reference.
Plugin also requires nGraph -> CNN conversion during
LoadNetwork implementation. Conversion utilities returns
std::shared_ptr, which makes plugin to use workaround for
lifetime of converted object (to have 2 "pointers" to
network: raw pointer to input network and smart pointer to
converted network). Such workarounds make code more
error-prone, because using wrong pointer to semantically
the same object may lead to unexpected results.
To overcome these issues API has been changed in a way to
make interfaces more clear (do not expose ownership strategy
or mutability) and get rid of unnecessary workarounds.
Signed-off-by: Gladilov, Gleb <gleb.gladilov@intel.com>
* Add nGraph function serialization.
* Turn of execption throwing on failed visitation.
* CNNNetworkNgrapImpl serialize also support fallback to v7 serialization.
* Add error message for legacy IR not implemented case.
* Store tests models in files.
* Add tests with multiple layers.
* Style aligned to IE rules.
* Add visit_attributes to ExecutionNode.
* Layer version XML atribute implementation.
* Fix opset atribute creation for ExecutionGraph. Refactoring.
* Add missing header.
* Move opset collecting to private scope.
* Add missing header.
* Add test wit multiple oututs. Fix found issues: constant name, result
outputs.
* Move serialization to transformation library.
* Add versioning to serialization transformation.
* Add functional tests with ONNX importer path.
* Add nodes unique name checking and correction.
* Add checks for unsuported cases: dynamic shapes & GenericIE node
* General refactoring.
* Add comment describing type name translations.
* Add serialization deterministicity tests.
It's needed to ensure that subsequent calls to serialize() on the same function are giving the same results.
* Serialization in CNNNetworkNGraphImpl::serialize executed via pass::Manager.
Co-authored-by: Gleb Kazantaev <gleb.nnstu@gmail.com>
* NGRAPH_CHECK messages refactored.
* Performance and const correctness refactoring.
* Style formatting applied.
* Code simplifaction.
* Serialize transformation documentation refactoring.
* Changed compare_function() to throw on functions with multiple outputs.
Before this check was implemented with assert which means it was working
only in debug builds. Now it is working also in release build.
* Adjust tests to new compare_functions() behaviour.
* Replace cmakes add_definitions with more modern target_compile_definitions
Co-authored-by: Gleb Kazantaev <gleb.nnstu@gmail.com>
* Change default parallel reduce alg into deternimistic way
Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>
* Introduce ie::parallel_for semantic with group_id parameter
Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>
* [CPU] Make MVN behaviour deterministic
Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>
* enable reference implementation for CTCGreedyDecoder single layer tests
* update unit test to have blnak_index
* remove merge_repeated disable flag for CPU test because CPU impl always
merge
* add CTCGreedyDecoder single layer tests for CPU
* changes to match xPU implementations
* apply reviewers suggestions
Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
* Remove obsoleted v0::Broadcast and BroadcastLike operators
* remove NGRAPH_DEPRECATED marks from autobroadcast functions
* restore NGRAPH_SUPPRESS_DEPRECATED_START in autobroadcast.cpp
* ngraph python sample
This sample demonstrates how to execute an inference using ngraph::Function to create a network
- added sample
- added readme
- added lenet weights
* Added onnx support for C samples
* Revert "ngraph python sample"
This reverts commit 8033292dc3.
* Added onnx support for C samples
Fixed codestyle mistake
* Removed optional code
Co-authored-by: Alexander Zhogov <alexander.zhogov@intel.com>
* [VPU][GT][NGraph] Get rid of DynamicNMS and transformation
* [VPU][NGraph] Update DTS for NMS
* [VPU][NGraph] Update StaticShapeNMS to be inherrited from NMS-5
* [VPU][GT] Update StaticShapeNMS stage to work with updated NGraph op
* [VPU][Tests] Update tests
* [VPU][GT] Fix StaticShapeNMS to be inherited from NonMaxSuppressionIE3
* [VPU][GT] Remove unused NonMaxSuppression