Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enable NonMaxSuppression-5 operation and various transformations (ope…
…nvinotoolkit#2450) * Some code style fixes. * Started to write the method v5::NonMaxSuppression::evaluate(). * Started to write nGraph reference implementation of NMS-5. * Some additions. * Written preprocessing of boxes data. * Started to write the function non_max_suppression() that calculates NonMaxSuppression-5 operation. * Written postprocessing of the evaluate(). * Small fixes. * Small fix. * Added include for ngraph/shape.hpp. * Written the function intersectionOverUnion. * Some additions. * Small fix. * Continued to write the function non_max_suppression(). * Small fixes. * Small fixes. * Some changes. * Some additions. * Some replacements size_t by int64_t. * Added casts to float in the construction of selected_score variable. * Code style fixes. * Written draft of NMS-5 nGraph reference implementation. * Code style fixes. * Started to write tests for void op::v5::NonMaxSuppression::validate_and_infer_types(). * Added tests for scalars/nonscalars. * Fixes in the test type_prop.nms_v5_output_shape. * Fixes in tests nms_v5_output_shape_2 and nms_v5_output_shape. * Written tests for validate_and_infer_types() of NMS-5. * Code style fixes. * Now NMS-5 evaluate() can have outputs with calculated shapes. * Small fixes. * Corrected tests for NMS-5 validate_and_infer_type(). * Code style fixes. * Started to write inner version of NMS-5 with static output shapes. * Written draft of the inner operation NonMaxSuppressionIE3. * Started to write conversion of op::v5::NonMaxSuppression into NonMaxSuppressionIE3. * Small changes. * Some additions. * Small fixes. * Fixed typo. * Fixed typos. * Written draft of the transformation ConvertNMS5ToLegacyMatcher that converts ngraph::opset5::NonMaxSuppression into op::NonMaxSuppressionIE3. * Written header file for the transformations from NMS-1, NMS-3, NMS-4 to NMS-5. * Started to write conversion of NMS-4 to NMS-5. * Added include for ngraph/opsets/opset4.hpp. * Started to write conversion of NMS-3 to NMS-5. * Small fixes. * Written draft of the conversion of NMS-3 into NMS-5. * Fixed typo. * Started to write conversion of NMS-1 to NMS-5. * Written draft of the conversion NMS-1 to NMS-5. * Started to write tests for the conversion nGraph NMS-5 to inner NMS. * Started to write the test ConvertNMS5ToNMSIEStatic. * Written tests for conversion of nGraph NMS-5 to inner NMSIE3. * Started to write tests for conversion of previous NMS to nGraph NMS-5. * Written tests for conversion of old nGraph NMS to NMS-5. * Started to write tests for opset5::NonMaxSuppression::evaluate(). * Some additions. * Small fix. * Written tests for op::v5::NonMaxSuppression::evaluate(). * Used NGRAPH_RTTI_DECLARATION for NonMaxSuppressionIE3. * Used NGRAPH_RTTI_DECLARATION for NMS-5. * All static local constants and functions for NMS-5 were moved into non-named namespace. * Some code style fixes. * Moved some file. * Small fix. * Code style fix. * Now NMS-5 supports all floating types in inputs 0 and 1. * Moved some files. * Fixed include directive in the file convert_nms_5_to_legacy.cpp with transformations NMS-1, 3, 4 -> NMS-5. * Small changes. * Deleted conversion NMS-3 -> legacy. * Small changes. * Fix in op::v5::NonMaxSuppression::evaluate: output shape [1] instead of [] in the output port 2. * Code style fixes. * Deleted conversion of NMS-4 into legacy NMS. * Deleted redundant ifs. * Added NMS-5 to Python API. * Code style fix. * Small change. * Fixed element type for constants in the conversion of NMS-5 to NMSIE3. * Deleted support of f64 in NMS-5. * Added checks for input element types for inputs #0, #1, #3, #4, #5. * Small change. * Now get_floats throws an exception for unsupported types. * Now nGraph NMS-5 supports 0D and 1D tensors in inputs #2, #3, #4, #5. * Small fix in test_non_max_suppression. * Deleted using namespace std * Fixes in test_non_max_suppression(). * Small fixes. * Added 'import PartialShape' in test_reduction.py. * Deleted creating fake inputs in the ctor of op::v5::NonMaxSuppression. * Deleted creating fake inputs in op::v5::NonMaxSuppression::clone_with_new_inputs. * Corrections in int64_t op::v5::NonMaxSuppression::max_boxes_output_from_input() const. * Corrected functions float op::v5::NonMaxSuppression::soft_nms_sigma_from_input() const, float op::v5::NonMaxSuppression::score_threshold_from_input() const, float op::v5::NonMaxSuppression::iou_threshold_from_input() const. * Small fixes. * Deleted commented code. * Fixes in nms_v5_scalar_inputs_check. * Some changes. * Small fixes. * Code style fixes. * Small changes. * Small changes. * Small fix. * Deleted commented code. * Some refactoring in ConvertNMS4ToNMS5 ctor. * Small fix. * Common part of conversions NMS-1 -> NMS-5, NMS-3 -> NMS-5, NMS-4 -> NMS-5 was moved into the separate function. * Now conversions NMS-1 -> NMS-5, NMS-3 -> NMS-5, NMS-4 -> NMS-5 support both 2 inputs, and 5 inputs. * Now transformations NMS-1 -> NMS-5, NMS-3 -> NMS-5, NMS-4 -> NMS-5 are called from 'umbrella' transformation. * Now the transformation ConvertNMS5ToLegacyMatcher supports NMS-5 with 2, 3, 4, 5, or 6 inputs. * The transformation ConvertNMS5ToLegacyMatcher was rewritten using Reshape instead of Unsqueeze. * Started to rewrite tests for the transformation ConvertNMS5ToLegacyMatcher. * Some fixes. * Small fixes. * Corrected tests for the transformation NMS-5 -> NMSIE3. * Small formatting fix. * Now methods max_boxes_output_from_input(), iou_threshold_from_input(), score_threshold_from_input(), soft_nms_sigma_from_input() of op::v5::NunMaxSuppression are public. * Started to move op::v5::NonMaxSuppression::evaluate() into ngraph/test/runtime/interpreter. * Added NMS-5 to ngraph/test/runtime/interpreter/int_executable. * Small fixes. * Code style fixes. * Written draft test nonmaxsuppression_center_point_box_format_backend in ngraph/test/backend. * Small fix. * Written draft tests of NonMaxSuppression in ngraph/test/runtime. * Some changes. * Small changes. * Disabled IE_CPU tests for NMS-5. * Deleted op_eval tests for NMS-5. * Deleted evaluate() method of NMS-5. * Now all nGraph functions in tests of the transformation NMS-5 -> NMSIE3 have one output. * Now preprocessing and postprocessing of the calculation of NMS-5 in reference implementation. * Code style fixes. * Some fixes in tests for the transformation NMS-5 -> NMSIE3. * Replaced precision i64 -> i32 for some constants in tests for the transformation NMS-5 -> NMSIE3. * Written creating CNNLayer for NMS-5. * Added creating CNNLayer for NonMaxSuppressionIE3. * some changes. * Now conversions NMS-1, NMS-3, NMS-4 -> NMS-5 and NMS-5 -> NMSIE3 generate NMS nodes with 5 inputs. * Fixed ctor in MKLDNN NonMaxSuppressionImpl: validation of number of output edges. * Added conversion of output_type for NMS-5. * Fixes in the transformation NMS5 -> NMSIE3. * Fixes in the conversion of NMS-5 to NMSIE3. * Fixes in MKLDNN NMS ctor. * Small fix. * Fixed tests for the transformation NMS5 -> NMSIE3. * Fixed tests for conversions NMS-1, NMS-3, NMS-4 -> NMS-5. * Small fixes in MKLDNN NMS ctor. * Rewritten create_layer() functions for NMS-5 and NMSIE3 as addSpecificCreator() functions. * Disabled tests for IE IR reader for NMS-4. * Deleted debug code. * Added comment about disabling tests IE_CPU.nonmaxsuppression. * Written IE IR Reader test for NMS-4. * Deleted function float_from_constant_node. * Small fixes. * Deleted functions function_from_model and construct_weights. * Small fix. * Replaced push_back with emplace_back in the conversion of NMS-5 to legacy. * Small changes. * Some fixes. * Refactored reference implementation of NMS-5. * Moved structure NMSAttributes to unnamed namespace. * Code style fixes. * Small fix.
- Loading branch information