[IE][VPU]: Remove the second call of ngraph::CommonOptimizations (#2221)
* Remove the second call of ngraph::CommonOptimizations in myriad plugin * Reuse code with vpu ngraph transformations
This commit is contained in:
parent
28a733b771
commit
d239b2584c
@ -27,7 +27,6 @@
|
|||||||
#include <transformations/convert_opset3_to_opset2/convert_opset3_to_opset2.hpp>
|
#include <transformations/convert_opset3_to_opset2/convert_opset3_to_opset2.hpp>
|
||||||
#include <transformations/convert_opset2_to_opset1/convert_opset2_to_opset1.hpp>
|
#include <transformations/convert_opset2_to_opset1/convert_opset2_to_opset1.hpp>
|
||||||
#include <transformations/convert_opset1_to_legacy/convert_opset1_to_legacy.hpp>
|
#include <transformations/convert_opset1_to_legacy/convert_opset1_to_legacy.hpp>
|
||||||
#include <transformations/common_optimizations/common_optimizations.hpp>
|
|
||||||
#include <vpu/ngraph/transformations/merge_subsequent_dsr_operations.hpp>
|
#include <vpu/ngraph/transformations/merge_subsequent_dsr_operations.hpp>
|
||||||
#include <vpu/ngraph/operations/dynamic_shape_resolver.hpp>
|
#include <vpu/ngraph/operations/dynamic_shape_resolver.hpp>
|
||||||
|
|
||||||
@ -165,7 +164,6 @@ ie::ICNNNetwork::Ptr FrontEnd::convertNetwork(ie::ICNNNetwork& network) {
|
|||||||
|
|
||||||
ngraph::pass::Manager manager;
|
ngraph::pass::Manager manager;
|
||||||
|
|
||||||
manager.register_pass<ngraph::pass::CommonOptimizations>();
|
|
||||||
manager.register_pass<ngraph::pass::ConvertOpSet3ToOpSet2>();
|
manager.register_pass<ngraph::pass::ConvertOpSet3ToOpSet2>();
|
||||||
manager.register_pass<ngraph::pass::ConvertOpSet2ToOpSet1>();
|
manager.register_pass<ngraph::pass::ConvertOpSet2ToOpSet1>();
|
||||||
manager.register_pass<ngraph::pass::ConvertOpSet1ToLegacy>();
|
manager.register_pass<ngraph::pass::ConvertOpSet1ToLegacy>();
|
||||||
|
@ -36,6 +36,23 @@ using namespace InferenceEngine::PluginConfigParams;
|
|||||||
using namespace InferenceEngine::VPUConfigParams;
|
using namespace InferenceEngine::VPUConfigParams;
|
||||||
using namespace vpu::MyriadPlugin;
|
using namespace vpu::MyriadPlugin;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
void transformNGraphFunction(const std::shared_ptr<ngraph::Function>& function) {
|
||||||
|
ngraph::op::GenericIE::DisableReshape noReshape(function);
|
||||||
|
ngraph::pass::Manager manager;
|
||||||
|
manager.register_pass<vpu::UpgradeNMS4ToNMSDynamic>();
|
||||||
|
manager.register_pass<ngraph::pass::CommonOptimizations>();
|
||||||
|
manager.register_pass<vpu::DynamicToStaticShape>();
|
||||||
|
manager.register_pass<vpu::EliminateShapeOfAfterDSR>();
|
||||||
|
manager.run_passes(function);
|
||||||
|
|
||||||
|
ngraph::pass::Manager ti_manager;
|
||||||
|
ti_manager.register_pass<ngraph::pass::ApplyTransformationsToTIBody>(manager);
|
||||||
|
ti_manager.run_passes(function);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
ExecutableNetworkInternal::Ptr Engine::LoadExeNetworkImpl(
|
ExecutableNetworkInternal::Ptr Engine::LoadExeNetworkImpl(
|
||||||
const ICNNNetwork& network,
|
const ICNNNetwork& network,
|
||||||
@ -47,17 +64,7 @@ ExecutableNetworkInternal::Ptr Engine::LoadExeNetworkImpl(
|
|||||||
|
|
||||||
auto clonedNetwork = cloneNetwork(network);
|
auto clonedNetwork = cloneNetwork(network);
|
||||||
if (auto function = clonedNetwork->getFunction()) {
|
if (auto function = clonedNetwork->getFunction()) {
|
||||||
ngraph::op::GenericIE::DisableReshape noReshape(function);
|
transformNGraphFunction(function);
|
||||||
ngraph::pass::Manager manager;
|
|
||||||
manager.register_pass<vpu::UpgradeNMS4ToNMSDynamic>();
|
|
||||||
manager.register_pass<ngraph::pass::CommonOptimizations>();
|
|
||||||
manager.register_pass<vpu::DynamicToStaticShape>();
|
|
||||||
manager.register_pass<vpu::EliminateShapeOfAfterDSR>();
|
|
||||||
manager.run_passes(function);
|
|
||||||
|
|
||||||
ngraph::pass::Manager ti_manager;
|
|
||||||
ti_manager.register_pass<ngraph::pass::ApplyTransformationsToTIBody>(manager);
|
|
||||||
ti_manager.run_passes(function);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return std::make_shared<ExecutableNetwork>(*clonedNetwork,
|
return std::make_shared<ExecutableNetwork>(*clonedNetwork,
|
||||||
@ -110,6 +117,9 @@ void Engine::QueryNetwork(
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto clonedNetwork = cloneNetwork(network);
|
auto clonedNetwork = cloneNetwork(network);
|
||||||
|
|
||||||
|
transformNGraphFunction(clonedNetwork->getFunction());
|
||||||
|
|
||||||
auto convertedNetwork = vpu::FrontEnd::convertNetwork(*clonedNetwork);
|
auto convertedNetwork = vpu::FrontEnd::convertNetwork(*clonedNetwork);
|
||||||
|
|
||||||
std::unordered_set<std::string> supported;
|
std::unordered_set<std::string> supported;
|
||||||
|
Loading…
Reference in New Issue
Block a user