Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / src / inference_engine / graph_tools.cpp
index e123c75..5c20edd 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Intel Corporation
+// Copyright (C) 2018-2019 Intel Corporation
 // SPDX-License-Identifier: Apache-2.0
 //
 
@@ -27,4 +27,26 @@ std::vector<CNNLayerPtr> 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->creatorLayer = newLayer;
+    }
+    newLayer->outData = layer->outData;
+
+    network.addLayer(newLayer);
+}
+
+
 }  // namespace InferenceEngine
\ No newline at end of file