Imported Upstream version 1.8.0
[platform/core/ml/nnfw.git] / compiler / luci-interpreter / src / kernels / L2Normalize.test.cpp
1 /*
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd. All Rights Reserved
3  * Copyright 2017 The TensorFlow Authors. All Rights Reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *    http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 #include "kernels/L2Normalize.h"
18 #include "kernels/TestUtils.h"
19
20 namespace luci_interpreter
21 {
22 namespace kernels
23 {
24 namespace
25 {
26
27 using namespace testing;
28
29 TEST(L2NormalizeTest, Float)
30 {
31   std::vector<float> input_data = {-1.1, 0.6, 0.7, 1.2, -0.7, 0.1};
32
33   Tensor input_tensor = makeInputTensor<DataType::FLOAT32>({1, 1, 1, 6}, input_data);
34   Tensor output_tensor = makeOutputTensor(DataType::FLOAT32);
35
36   L2NormParams params{};
37   params.activation = Activation::NONE;
38
39   L2Normalize kernel(&input_tensor, &output_tensor, params);
40   kernel.configure();
41   kernel.execute();
42
43   std::vector<float> ref_output_data{-0.55, 0.3, 0.35, 0.6, -0.35, 0.05};
44   EXPECT_THAT(extractTensorData<float>(output_tensor),
45               ElementsAreArray(ArrayFloatNear(ref_output_data)));
46 }
47
48 // TODO Uint8Quantized
49 // Implement GetDequantizedOutput Function.
50 // Create Test for Uint8 Case
51
52 } // namespace
53 } // namespace kernels
54 } // namespace luci_interpreter