normalize_layer_test.cpp 4.01 KB
Newer Older
1
// Copyright (C) 2018-2019 Intel Corporation
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
// SPDX-License-Identifier: Apache-2.0
//

#include <gtest/gtest.h>
#include <string.h>
#include <ie_builders.hpp>
#include <builders/ie_normalize_layer.hpp>

#include "builder_test.hpp"

using namespace testing;
using namespace InferenceEngine;

class NormalizeLayerBuilderTest : public BuilderTestCommon {};

TEST_F(NormalizeLayerBuilderTest, getExistsLayerFromNetworkBuilder1) {
    Builder::Network net("network");
    Builder::NormalizeLayer normalizeLayer("normalizeLayer");
    normalizeLayer.setEpsilon(0.1).setChannelShared(true).setAcrossMaps(true);
    size_t ind = net.addLayer(normalizeLayer);
    Builder::NormalizeLayer layerFromNet(net.getLayer(ind));
    ASSERT_EQ(normalizeLayer.getEpsilon(), layerFromNet.getEpsilon());
}

TEST_F(NormalizeLayerBuilderTest, getExistsLayerFromNetworkBuilder2) {
    Builder::Network net("network");
    Builder::NormalizeLayer normalizeLayer("normalizeLayer");
    normalizeLayer.setEpsilon(0.1).setChannelShared(true).setAcrossMaps(false);
    size_t ind = net.addLayer(normalizeLayer);
    Builder::NormalizeLayer layerFromNet(net.getLayer(ind));
    ASSERT_EQ(normalizeLayer.getEpsilon(), layerFromNet.getEpsilon());
}

TEST_F(NormalizeLayerBuilderTest, getExistsLayerFromNetworkBuilder3) {
    Builder::Network net("network");
    Builder::NormalizeLayer normalizeLayer("normalizeLayer");
    normalizeLayer.setEpsilon(0.1).setChannelShared(false).setAcrossMaps(true);
    size_t ind = net.addLayer(normalizeLayer);
    Builder::NormalizeLayer layerFromNet(net.getLayer(ind));
    ASSERT_EQ(normalizeLayer.getEpsilon(), layerFromNet.getEpsilon());
}

TEST_F(NormalizeLayerBuilderTest, getExistsLayerFromNetworkBuilder4) {
    Builder::Network net("network");
    Builder::NormalizeLayer normalizeLayer("normalizeLayer");
    normalizeLayer.setEpsilon(0.1).setChannelShared(false).setAcrossMaps(false);
    size_t ind = net.addLayer(normalizeLayer);
    Builder::NormalizeLayer layerFromNet(net.getLayer(ind));
    ASSERT_EQ(normalizeLayer.getEpsilon(), layerFromNet.getEpsilon());
}

TEST_F(NormalizeLayerBuilderTest, cannotCreateLayerWithWrongEpsilon1) {
    Builder::Network net("network");
    Builder::NormalizeLayer normalizeLayer("normalizeLayer");
    normalizeLayer.setEpsilon(0).setChannelShared(true).setAcrossMaps(true);
    ASSERT_THROW(net.addLayer(normalizeLayer), InferenceEngine::details::InferenceEngineException);
}

TEST_F(NormalizeLayerBuilderTest, cannotCreateLayerWithWrongEpsilon2) {
    Builder::Network net("network");
    Builder::NormalizeLayer normalizeLayer("normalizeLayer");
    normalizeLayer.setEpsilon(0).setChannelShared(true).setAcrossMaps(false);
    ASSERT_THROW(net.addLayer(normalizeLayer), InferenceEngine::details::InferenceEngineException);
}

TEST_F(NormalizeLayerBuilderTest, cannotCreateLayerWithWrongEpsilon3) {
    Builder::Network net("network");
    Builder::NormalizeLayer normalizeLayer("normalizeLayer");
    normalizeLayer.setEpsilon(0).setChannelShared(false).setAcrossMaps(true);
    ASSERT_THROW(net.addLayer(normalizeLayer), InferenceEngine::details::InferenceEngineException);
}

TEST_F(NormalizeLayerBuilderTest, cannotCreateLayerWithWrongEpsilon4) {
    Builder::Network net("network");
    Builder::NormalizeLayer normalizeLayer("normalizeLayer");
    normalizeLayer.setEpsilon(0).setChannelShared(false).setAcrossMaps(false);
    ASSERT_THROW(net.addLayer(normalizeLayer), InferenceEngine::details::InferenceEngineException);
}

TEST_F(NormalizeLayerBuilderTest, cannotCreateLayerWithWrongShapes) {
    Builder::Network net("network");
    Builder::Layer::Ptr fakeNormalizeLayerPtr = std::make_shared<Builder::Layer>("Normalize", "Normalize layer");
    fakeNormalizeLayerPtr->getInputPorts().push_back(Port({1, 1, 1, 1}));
    fakeNormalizeLayerPtr->getOutputPorts().push_back(Port({1, 1, 1, 2}));
    Builder::NormalizeLayer normalizeLayer(fakeNormalizeLayerPtr);
    normalizeLayer.setEpsilon(0.1).setChannelShared(true).setAcrossMaps(true);
    ASSERT_THROW(net.addLayer(normalizeLayer), InferenceEngine::details::InferenceEngineException);
}