Es/lpt/lpt to ngraph fixes2 with master (#2671)
[platform/upstream/dldt.git] / inference-engine / tests / functional / plugin / shared / include / low_precision_transformations / convolution_transformation.hpp
1 // Copyright (C) 2020 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4
5 #pragma once
6
7 #include <string>
8 #include <memory>
9
10 #include "functional_test_utils/low_precision_transformations/layer_transformation.hpp"
11 #include "ngraph_functions/low_precision_transformations/common/fake_quantize_on_data.hpp"
12 #include "ngraph_functions/low_precision_transformations/common/fake_quantize_on_weights.hpp"
13
14 namespace LayerTestsDefinitions {
15
16 class ConvolutionTransformationParam {
17 public:
18     ngraph::builder::subgraph::FakeQuantizeOnData fakeQuantizeOnData;
19     bool asymmetricQuantizationOnData;
20     ngraph::builder::subgraph::FakeQuantizeOnWeights fakeQuantizeOnWeights;
21     bool asymmetricQuantizationOnWeights;
22 };
23
24 typedef std::tuple<
25     ngraph::element::Type,
26     ngraph::Shape,
27     std::string,
28     ngraph::pass::low_precision::LayerTransformation::Params,
29     ConvolutionTransformationParam
30 > ConvolutionTransformationParams;
31
32 class ConvolutionTransformation :
33     public testing::WithParamInterface<ConvolutionTransformationParams>,
34     public LayerTestsUtils::LayerTransformation {
35 public:
36     static std::string getTestCaseName(testing::TestParamInfo<ConvolutionTransformationParams> obj);
37
38 protected:
39     void SetUp() override;
40
41 private:
42     void validateNGraph();
43 };
44
45 }  // namespace LayerTestsDefinitions