From c75920ee69b5fa0cda1a8d9f23f2b62069eb7114 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Mon, 22 Jun 2020 11:35:44 +0300 Subject: [PATCH] Remove some stuff from legacy library (#1043) --- .../src/legacy_api/include/graph_tools.hpp | 13 ---- .../src/legacy_api/src/graph_tools.cpp | 21 ------ .../src/legacy_api/src/ie_cnn_layer_builder.h | 44 ------------ .../src/legacy_api/src/shape_infer/ie_reshaper.cpp | 1 - .../unit/graph_tools/graph_copy_tests.cpp | 25 ------- .../unit/graph_tools/graph_tools_test.cpp | 12 ++++ .../unit/inference_engine_tests/util_test.cpp | 83 ---------------------- 7 files changed, 12 insertions(+), 187 deletions(-) delete mode 100644 inference-engine/src/legacy_api/src/ie_cnn_layer_builder.h diff --git a/inference-engine/src/legacy_api/include/graph_tools.hpp b/inference-engine/src/legacy_api/include/graph_tools.hpp index 3709dbb..b4241d5 100644 --- a/inference-engine/src/legacy_api/include/graph_tools.hpp +++ b/inference-engine/src/legacy_api/include/graph_tools.hpp @@ -322,19 +322,6 @@ inline bool CNNNetForestDFS(const Forest& heads, const T& visit, bool bVisitBefo } /** - * Generic BFS algorithm traverser - with limiting depth - * @param layer - starting layer - * @param visit - callback to be called upon visiting - */ -template -inline void CNNNetNBFS(const InferenceEngine::CNNLayerPtr& layer, int maxDept, const T& visit) { - if (!layer) { - return; - } - details::BFS(layer, visit, maxDept + 1); -} - -/** * Generic BFS algorithm traverser * @param layer - starting layer * @param visit - callback to be called upon visiting diff --git a/inference-engine/src/legacy_api/src/graph_tools.cpp b/inference-engine/src/legacy_api/src/graph_tools.cpp index 798b366..81918d6 100644 --- a/inference-engine/src/legacy_api/src/graph_tools.cpp +++ b/inference-engine/src/legacy_api/src/graph_tools.cpp @@ -35,25 +35,4 @@ std::vector CNNNetSortTopologically(const ICNNNetwork& network) { } // namespace details -void CNNNetSubstituteLayer(InferenceEngine::ICNNNetwork& network, const InferenceEngine::CNNLayerPtr& layer, - const InferenceEngine::CNNLayerPtr& newLayer) { - IE_ASSERT(layer->name == newLayer->name); - - // Redirect srd data - for (auto& src : layer->insData) { - src.lock()->getInputTo()[layer->name] = newLayer; - } - newLayer->insData = layer->insData; - - // Redirect dst data - for (auto& dst : layer->outData) { - dst->getCreatorLayer() = newLayer; - } - newLayer->outData = layer->outData; - - IE_SUPPRESS_DEPRECATED_START - network.addLayer(newLayer); - IE_SUPPRESS_DEPRECATED_END -} - } // namespace InferenceEngine diff --git a/inference-engine/src/legacy_api/src/ie_cnn_layer_builder.h b/inference-engine/src/legacy_api/src/ie_cnn_layer_builder.h deleted file mode 100644 index 3a347b4..0000000 --- a/inference-engine/src/legacy_api/src/ie_cnn_layer_builder.h +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (C) 2018-2020 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#pragma once - -#include -#include -#include -#include - -#include
-#include -#include -#include -#include - -namespace InferenceEngine { - -namespace Builder { - -#define REG_CONVERTER_FOR(__type, __converter) \ - static InferenceEngine::Builder::ConverterRegister _reg_converter_##__type(#__type, __converter) - -template -inline std::string convertParameter2String(const Parameter& parameter) { - if (parameter.is>()) { - std::vector params = parameter.as>(); - std::string result; - for (const auto& param : params) { - if (!result.empty()) result += ","; - result += convertParameter2String(param); - } - return result; - } - return std::to_string(parameter.as()); -} -template <> -inline std::string convertParameter2String(const Parameter& parameter) { - return parameter.as(); -} - -} // namespace Builder -} // namespace InferenceEngine diff --git a/inference-engine/src/legacy_api/src/shape_infer/ie_reshaper.cpp b/inference-engine/src/legacy_api/src/shape_infer/ie_reshaper.cpp index e6ed8b4..2e74786 100644 --- a/inference-engine/src/legacy_api/src/shape_infer/ie_reshaper.cpp +++ b/inference-engine/src/legacy_api/src/shape_infer/ie_reshaper.cpp @@ -19,7 +19,6 @@ #include "details/caseless.hpp" #include "details/ie_cnn_network_tools.h" -#include "ie_cnn_layer_builder.h" #include "ie_reshaper.hpp" #include "shape_infer/built-in/ie_built_in_holder.hpp" diff --git a/inference-engine/tests_deprecated/unit/graph_tools/graph_copy_tests.cpp b/inference-engine/tests_deprecated/unit/graph_tools/graph_copy_tests.cpp index 9895176..d74dac7 100644 --- a/inference-engine/tests_deprecated/unit/graph_tools/graph_copy_tests.cpp +++ b/inference-engine/tests_deprecated/unit/graph_tools/graph_copy_tests.cpp @@ -118,31 +118,6 @@ TEST_F(GraphCopyTests, canPreserveGetData) { ASSERT_NE(clone->getData("5"), nullptr); } -TEST_F(GraphCopyTests, canPreserveTopology) { - auto iclone = CNNNetCopy(*mockNet, mc); - auto clone = CNNNetwork(iclone); - - ASSERT_EQ(clone.layerCount(), 5); - - EXPECT_CALL(*this, visited(1, 0)).Times(1); - EXPECT_CALL(*this, visited(2, 1)).Times(1); - - EXPECT_CALL(*this, visited2(3, 0)).Times(1); - EXPECT_CALL(*this, visited2(4, AnyOf(1, 2))).Times(1); - EXPECT_CALL(*this, visited2(5, AnyOf(1, 2))).Times(1); - EXPECT_CALL(*this, visited2(2, 3)).Times(1); - - int idx = 0; - CNNNetBFS(clone.getLayerByName("1"), [&](CNNLayerPtr layer) { - visited(ID(layer), idx++); - }); - - idx = 0; - CNNNetBFS(clone.getLayerByName("3"), [&](CNNLayerPtr layer) { - visited2(ID(layer), idx++); - }); -} - #ifdef ENABLE_GNA using namespace GNAPluginNS; struct _FP32_2_FP32 : public GNAPluginNS::frontend::QuantDescTmpl { diff --git a/inference-engine/tests_deprecated/unit/graph_tools/graph_tools_test.cpp b/inference-engine/tests_deprecated/unit/graph_tools/graph_tools_test.cpp index 492abb8..0b7178d 100644 --- a/inference-engine/tests_deprecated/unit/graph_tools/graph_tools_test.cpp +++ b/inference-engine/tests_deprecated/unit/graph_tools/graph_tools_test.cpp @@ -78,6 +78,18 @@ TEST_F(GraphToolsTest, canRunBFS) { }); } +/** + * Generic BFS algorithm traverser - with limiting depth + * @param layer - starting layer + * @param visit - callback to be called upon visiting + */ +template +inline void CNNNetNBFS(const InferenceEngine::CNNLayerPtr& layer, int maxDept, const T& visit) { + if (!layer) { + return; + } + details::BFS(layer, visit, maxDept + 1); +} TEST_F(GraphToolsTest, canRunNBFS) { diff --git a/inference-engine/tests_deprecated/unit/inference_engine_tests/util_test.cpp b/inference-engine/tests_deprecated/unit/inference_engine_tests/util_test.cpp index 3fc681e..72149c7 100644 --- a/inference-engine/tests_deprecated/unit/inference_engine_tests/util_test.cpp +++ b/inference-engine/tests_deprecated/unit/inference_engine_tests/util_test.cpp @@ -42,22 +42,6 @@ TEST(UtilTests, contains) { EXPECT_FALSE(contains(temp_set, 5)); } -TEST(UtilTests, cloneData) { - IE::Data srcData("test", { IE::Precision::FP32, IE::SizeVector{3,2,1}, IE::CHW }); - IE::CNNLayerPtr layer1 = std::make_shared(IE::LayerParams{}); - IE::CNNLayerPtr layer2 = std::make_shared(IE::LayerParams{}); - srcData.getCreatorLayer() = layer1; - srcData.getInputTo().insert({"foo",layer2}); - auto cloned = IE::cloneData(srcData); - ASSERT_NE(nullptr, cloned); - EXPECT_EQ(srcData.getName(), cloned->getName()); - EXPECT_EQ(srcData.getPrecision(), cloned->getPrecision()); - EXPECT_EQ(srcData.getLayout(), cloned->getLayout()); - EXPECT_EQ(srcData.getDims(), cloned->getDims()); - EXPECT_EQ(nullptr, cloned->getCreatorLayer().lock()); - EXPECT_TRUE(cloned->getInputTo().empty()); -} - namespace { template bool checkLayerCloning() { @@ -577,70 +561,3 @@ TEST(UtilTests, getRootDataObjects) { ASSERT_TRUE(contains(data_names, "data5")); ASSERT_TRUE(contains(data_names, "data6")); } - -TEST(UtilTests, replaceLayerWithNewLayer) { - // - // I->L1->L3->O - // \ / - // L2 - // - - NetBuilder netBuilder; - auto net = netBuilder - .data("data1", IE::TensorDesc(IE::Precision::UNSPECIFIED, IE::SizeVector{ 1,1,1 }, IE::Layout::CHW)) - .data("data2", IE::TensorDesc(IE::Precision::UNSPECIFIED, IE::SizeVector{ 1,1,1 }, IE::Layout::CHW)) - .data("data3", IE::TensorDesc(IE::Precision::UNSPECIFIED, IE::SizeVector{ 1,1,1 }, IE::Layout::CHW)) - .data("data4", IE::TensorDesc(IE::Precision::UNSPECIFIED, IE::SizeVector{ 1,1,1 }, IE::Layout::CHW)) - .layer(IE::LayerParams{"layer1", "dummy", IE::Precision::UNSPECIFIED}) - .layer(IE::LayerParams{"layer2", "dummy", IE::Precision::UNSPECIFIED}) - .layer(IE::LayerParams{"layer3", "dummy", IE::Precision::UNSPECIFIED}) - .linkData("data1", "data2", "layer1") - .linkData("data2", "data3", "layer2") - .linkData("data2", "data4", "layer3") - .linkDataTo("data3", "layer3") - .finalize(); - - const auto& layers = netBuilder.getLayersMap(); - const auto& data = netBuilder.getDataMap(); - - { // Replace L1 - auto newLayer1 = std::make_shared(IE::LayerParams{"layer1", "dummy", IE::Precision::UNSPECIFIED}); - auto layer1 = layers.find("layer1"); - EXPECT_TRUE(layer1 != layers.end()); - CNNNetSubstituteLayer(*net, layer1->second, newLayer1); - IE::CNNLayerPtr layer1Check = nullptr; - net->getLayerByName("layer1", layer1Check, nullptr); - ASSERT_EQ(layer1Check, newLayer1); - ASSERT_EQ(layer1Check->outData.size(), 1); - ASSERT_EQ(layer1Check->outData[0], data.find("data2")->second); - ASSERT_EQ(layer1Check->outData[0]->getCreatorLayer().lock(), newLayer1); - } - { // Replace L2 - auto newLayer2 = std::make_shared(IE::LayerParams{"layer2", "dummy", IE::Precision::UNSPECIFIED}); - auto layer2 = layers.find("layer2"); - EXPECT_TRUE(layer2 != layers.end()); - CNNNetSubstituteLayer(*net, layer2->second, newLayer2); - IE::CNNLayerPtr layer2Check = nullptr; - net->getLayerByName("layer2", layer2Check, nullptr); - ASSERT_EQ(layer2Check, newLayer2); - ASSERT_EQ(layer2Check->outData.size(), 1); - ASSERT_EQ(layer2Check->outData[0], data.find("data3")->second); - ASSERT_EQ(layer2Check->outData[0]->getCreatorLayer().lock(), newLayer2); - } - { // Replace L3 - auto newLayer3 = std::make_shared(IE::LayerParams{"layer3", "dummy", IE::Precision::UNSPECIFIED}); - auto layer3 = layers.find("layer3"); - EXPECT_TRUE(layer3 != layers.end()); - CNNNetSubstituteLayer(*net, layer3->second, newLayer3); - IE::CNNLayerPtr layer3Check = nullptr; - net->getLayerByName("layer3", layer3Check, nullptr); - ASSERT_EQ(layer3Check, newLayer3); - ASSERT_EQ(layer3Check->outData.size(), 1); - ASSERT_EQ(layer3Check->outData[0], data.find("data4")->second); - ASSERT_EQ(layer3Check->outData[0]->getCreatorLayer().lock(), newLayer3); - ASSERT_TRUE(layer3Check->insData[0].lock() == data.find("data2")->second || - layer3Check->insData[0].lock() == data.find("data3")->second); - ASSERT_TRUE(layer3Check->insData[1].lock() == data.find("data2")->second || - layer3Check->insData[1].lock() == data.find("data3")->second); - } -} -- 2.7.4