1 // Copyright (C) 2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
5 #include <gtest/gtest.h>
7 #include <ie_builders.hpp>
8 #include <builders/ie_normalize_layer.hpp>
10 #include "builder_test.hpp"
12 using namespace testing;
13 using namespace InferenceEngine;
15 class NormalizeLayerBuilderTest : public BuilderTestCommon {};
17 TEST_F(NormalizeLayerBuilderTest, getExistsLayerFromNetworkBuilder1) {
18 Builder::Network net("network");
19 Builder::NormalizeLayer normalizeLayer("normalizeLayer");
20 normalizeLayer.setEpsilon(0.1).setChannelShared(true).setAcrossMaps(true);
21 size_t ind = net.addLayer(normalizeLayer);
22 Builder::NormalizeLayer layerFromNet(net.getLayer(ind));
23 ASSERT_EQ(normalizeLayer.getEpsilon(), layerFromNet.getEpsilon());
26 TEST_F(NormalizeLayerBuilderTest, getExistsLayerFromNetworkBuilder2) {
27 Builder::Network net("network");
28 Builder::NormalizeLayer normalizeLayer("normalizeLayer");
29 normalizeLayer.setEpsilon(0.1).setChannelShared(true).setAcrossMaps(false);
30 size_t ind = net.addLayer(normalizeLayer);
31 Builder::NormalizeLayer layerFromNet(net.getLayer(ind));
32 ASSERT_EQ(normalizeLayer.getEpsilon(), layerFromNet.getEpsilon());
35 TEST_F(NormalizeLayerBuilderTest, getExistsLayerFromNetworkBuilder3) {
36 Builder::Network net("network");
37 Builder::NormalizeLayer normalizeLayer("normalizeLayer");
38 normalizeLayer.setEpsilon(0.1).setChannelShared(false).setAcrossMaps(true);
39 size_t ind = net.addLayer(normalizeLayer);
40 Builder::NormalizeLayer layerFromNet(net.getLayer(ind));
41 ASSERT_EQ(normalizeLayer.getEpsilon(), layerFromNet.getEpsilon());
44 TEST_F(NormalizeLayerBuilderTest, getExistsLayerFromNetworkBuilder4) {
45 Builder::Network net("network");
46 Builder::NormalizeLayer normalizeLayer("normalizeLayer");
47 normalizeLayer.setEpsilon(0.1).setChannelShared(false).setAcrossMaps(false);
48 size_t ind = net.addLayer(normalizeLayer);
49 Builder::NormalizeLayer layerFromNet(net.getLayer(ind));
50 ASSERT_EQ(normalizeLayer.getEpsilon(), layerFromNet.getEpsilon());
53 TEST_F(NormalizeLayerBuilderTest, cannotCreateLayerWithWrongEpsilon1) {
54 Builder::Network net("network");
55 Builder::NormalizeLayer normalizeLayer("normalizeLayer");
56 normalizeLayer.setEpsilon(0).setChannelShared(true).setAcrossMaps(true);
57 ASSERT_THROW(net.addLayer(normalizeLayer), InferenceEngine::details::InferenceEngineException);
60 TEST_F(NormalizeLayerBuilderTest, cannotCreateLayerWithWrongEpsilon2) {
61 Builder::Network net("network");
62 Builder::NormalizeLayer normalizeLayer("normalizeLayer");
63 normalizeLayer.setEpsilon(0).setChannelShared(true).setAcrossMaps(false);
64 ASSERT_THROW(net.addLayer(normalizeLayer), InferenceEngine::details::InferenceEngineException);
67 TEST_F(NormalizeLayerBuilderTest, cannotCreateLayerWithWrongEpsilon3) {
68 Builder::Network net("network");
69 Builder::NormalizeLayer normalizeLayer("normalizeLayer");
70 normalizeLayer.setEpsilon(0).setChannelShared(false).setAcrossMaps(true);
71 ASSERT_THROW(net.addLayer(normalizeLayer), InferenceEngine::details::InferenceEngineException);
74 TEST_F(NormalizeLayerBuilderTest, cannotCreateLayerWithWrongEpsilon4) {
75 Builder::Network net("network");
76 Builder::NormalizeLayer normalizeLayer("normalizeLayer");
77 normalizeLayer.setEpsilon(0).setChannelShared(false).setAcrossMaps(false);
78 ASSERT_THROW(net.addLayer(normalizeLayer), InferenceEngine::details::InferenceEngineException);
81 TEST_F(NormalizeLayerBuilderTest, cannotCreateLayerWithWrongShapes) {
82 Builder::Network net("network");
83 Builder::Layer::Ptr fakeNormalizeLayerPtr = std::make_shared<Builder::Layer>("Normalize", "Normalize layer");
84 fakeNormalizeLayerPtr->getInputPorts().push_back(Port({1, 1, 1, 1}));
85 fakeNormalizeLayerPtr->getOutputPorts().push_back(Port({1, 1, 1, 2}));
86 Builder::NormalizeLayer normalizeLayer(fakeNormalizeLayerPtr);
87 normalizeLayer.setEpsilon(0.1).setChannelShared(true).setAcrossMaps(true);
88 ASSERT_THROW(net.addLayer(normalizeLayer), InferenceEngine::details::InferenceEngineException);