Move shape_inference function to test utils (#15757)

This commit is contained in:
Pawel Raasz 2023-02-24 09:20:12 +01:00 committed by GitHub
parent 310dd1d4c4
commit 36992c9c46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 47 additions and 179 deletions

View File

@ -78,14 +78,6 @@
namespace ov {
namespace intel_cpu {
void shape_inference(ov::Node* op,
const std::vector<StaticShape>& input_shapes,
std::vector<StaticShape>& output_shapes,
const std::map<size_t, HostTensorPtr>& constant_data) {
auto shapeInfer = make_shape_inference(op->shared_from_this());
output_shapes = shapeInfer->infer(input_shapes, constant_data);
}
class entryBase : public IShapeInferCommon {
public:
using iface_type = IShapeInferCommon;

View File

@ -13,11 +13,6 @@
namespace ov {
namespace intel_cpu {
void shape_inference(ov::Node* op,
const std::vector<StaticShape>& input_shapes,
std::vector<StaticShape>& output_shapes,
const std::map<size_t, HostTensorPtr>& constant_data = {});
class IShapeInferCommon {
public:
virtual std::vector<StaticShape> infer(const std::vector<StaticShape>& input_shapes,

View File

@ -4,10 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -2,14 +2,10 @@
// SPDX-License-Identifier: Apache-2.0
//
#include "ov_ops/augru_cell.hpp"
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "ov_ops/augru_cell.hpp"
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -2,14 +2,10 @@
// SPDX-License-Identifier: Apache-2.0
//
#include "ov_ops/augru_sequence.hpp"
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "ov_ops/augru_sequence.hpp"
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,12 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/core/coordinate_diff.hpp>
#include <openvino/op/batch_to_space.hpp>
#include <openvino/op/parameter.hpp>
#include <openvino/op/constant.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,12 +4,7 @@
#include <gtest/gtest.h>
#include <broadcast_shape_inference.hpp>
#include <openvino/op/broadcast.hpp>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,14 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/core/coordinate_diff.hpp>
#include <openvino/op/convolution.hpp>
#include <openvino/op/group_conv.hpp>
#include <openvino/op/parameter.hpp>
#include <openvino/op/relu.hpp>
#include <openvino/op/constant.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,10 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/depth_to_space.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov::intel_cpu;

View File

@ -4,13 +4,8 @@
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include "utils/shape_inference/static_shape.hpp"
#include "detection_output_shape_inference.hpp"
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,13 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/core/coordinate_diff.hpp>
#include <openvino/op/parameter.hpp>
#include <openvino/op/add.hpp>
#include <openvino/op/relu.hpp>
#include <openvino/op/fake_quantize.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -5,9 +5,8 @@
#include <gtest/gtest.h>
#include <openvino/op/experimental_detectron_generate_proposals.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,11 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/experimental_detectron_prior_grid_generator.hpp>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,13 +4,7 @@
#include <gtest/gtest.h>
#include <convolution_shape_inference.hpp>
#include <experimental_detectron_roi_feature_shape_inference.hpp>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include "utils/shape_inference/shape_inference.hpp"
#include "utils/shape_inference/static_shape.hpp"
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,11 +4,7 @@
#include <gtest/gtest.h>
#include <extract_image_patches_shape_inference.hpp>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,13 +4,7 @@
#include <gtest/gtest.h>
#include <fft_base_shape_inference.hpp>
#include <openvino/op/dft.hpp>
#include <openvino/op/idft.hpp>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,10 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,10 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,12 +4,7 @@
#include <gtest/gtest.h>
#include <interpolate_shape_inference.hpp>
#include <openvino/op/constant.hpp>
#include <openvino/op/interpolate.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,10 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -3,13 +3,7 @@
//
#include <gtest/gtest.h>
#include <one_hot_shape_inference.hpp>
#include <openvino/core/coordinate_diff.hpp>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;
using namespace testing;

View File

@ -6,11 +6,7 @@
#include "common_test_utils/test_assertions.hpp"
#include "one_hot_shape_inference.hpp"
#include "openvino/op/ops.hpp"
#include "openvino/op/parameter.hpp"
#include "utils/shape_inference/shape_inference.hpp"
#include "utils/shape_inference/static_shape.hpp"
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,10 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/parameter.hpp>
#include <openvino/op/proposal.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -3,10 +3,7 @@
//
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,12 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/core/coordinate_diff.hpp>
#include <openvino/op/reduce_mean.hpp>
#include <openvino/op/parameter.hpp>
#include <openvino/op/constant.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,10 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/parameter.hpp>
#include <openvino/op/roi_align.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,11 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <scatter_elements_update_shape_inference.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,10 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,11 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include "utils/shape_inference/static_shape.hpp"
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,15 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/core/coordinate_diff.hpp>
#include <openvino/op/reshape.hpp>
#include <openvino/op/squeeze.hpp>
#include <openvino/op/unsqueeze.hpp>
#include <openvino/op/parameter.hpp>
#include <openvino/op/constant.hpp>
#include <openvino/op/shape_of.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,11 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/ops.hpp>
#include <openvino/op/parameter.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include "utils/shape_inference/static_shape.hpp"
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,12 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/core/coordinate_diff.hpp>
#include <openvino/op/constant.hpp>
#include <openvino/op/parameter.hpp>
#include <openvino/op/space_to_batch.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov;
using namespace ov::intel_cpu;

View File

@ -4,10 +4,7 @@
#include <gtest/gtest.h>
#include <openvino/op/parameter.hpp>
#include <openvino/op/space_to_depth.hpp>
#include <utils/shape_inference/shape_inference.hpp>
#include <utils/shape_inference/static_shape.hpp>
#include "utils.hpp"
using namespace ov::intel_cpu;

View File

@ -13,6 +13,19 @@
#pragma once
namespace ov {
namespace intel_cpu {
template <class TIface = IShapeInferCommon, class TTensorPtr = HostTensorPtr>
void shape_inference(ov::Node* op,
const std::vector<StaticShape>& input_shapes,
std::vector<StaticShape>& output_shapes,
const std::map<size_t, TTensorPtr>& constant_data = {}) {
const auto shape_infer = make_shape_inference<TIface>(op->shared_from_this());
output_shapes = shape_infer->infer(input_shapes, constant_data);
}
} // namespace intel_cpu
} // namespace ov
struct TestTensor {
std::shared_ptr<ngraph::runtime::HostTensor> tensor;
ov::intel_cpu::StaticShape static_shape;