Publishing R3
[platform/upstream/dldt.git] / inference-engine / src / inference_engine / graph_transformer.cpp
1 // Copyright (C) 2018 Intel Corporation
2 //
3 // SPDX-License-Identifier: Apache-2.0
4 //
5
6 #include <assert.h>
7 #include "graph_transformer.h"
8
9 namespace InferenceEngine {
10
11 void replaceLayerWithNewLayer(ICNNNetwork &network, const CNNLayerPtr &layer, const CNNLayerPtr &newLayer) {
12     assert(layer->name == newLayer->name);
13
14     // Redirect srd data
15     for (auto& src : layer->insData) {
16         src.lock()->getInputTo()[layer->name] = newLayer;
17     }
18     newLayer->insData = layer->insData;
19
20     // Redirect dst data
21     for (auto& dst : layer->outData) {
22         dst->creatorLayer = newLayer;
23     }
24     newLayer->outData = layer->outData;
25
26     network.addLayer(newLayer);
27 }
28
29 }  // namespace InferenceEngine