[IE][VPU]: TopK: Relax requirement for supporting Sort::None mode if K==1 (#2653)
authorAndrew Bakalin <andrew.bakalin@intel.com>
Wed, 14 Oct 2020 10:35:17 +0000 (13:35 +0300)
committerGitHub <noreply@github.com>
Wed, 14 Oct 2020 10:35:17 +0000 (13:35 +0300)
* Update firmware
* Add TopK tests
* Disable some cases

inference-engine/cmake/vpu_dependencies.cmake
inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/topk.cpp [new file with mode: 0644]
inference-engine/tests/functional/plugin/myriad/shared_tests_instances/skip_tests_config.cpp

index c23f4ea..be86058 100644 (file)
@@ -19,7 +19,7 @@ set(VPU_SUPPORTED_FIRMWARES usb-ma2450 usb-ma2x8x pcie-ma248x)
 # Default packages
 #
 
-set(FIRMWARE_PACKAGE_VERSION 1397)
+set(FIRMWARE_PACKAGE_VERSION 1404)
 set(VPU_CLC_MA2X8X_VERSION "movi-cltools-20.09.1")
 
 #
diff --git a/inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/topk.cpp b/inference-engine/tests/functional/plugin/myriad/shared_tests_instances/single_layer_tests/topk.cpp
new file mode 100644 (file)
index 0000000..81803d0
--- /dev/null
@@ -0,0 +1,68 @@
+// Copyright (C) 2020 Intel Corporation
+// SPDX-License-Identifier: Apache-2.0
+//
+
+#include "single_layer_tests/topk.hpp"
+
+#include <vector>
+
+using namespace LayerTestsDefinitions;
+
+namespace {
+
+const std::vector<InferenceEngine::Precision> netPrecisions = {
+        InferenceEngine::Precision::FP32,
+        InferenceEngine::Precision::FP16
+};
+
+const std::vector<int64_t> axes = {
+        0,
+        1,
+        2,
+};
+
+const std::vector<int64_t> k = {
+        1,
+        5,
+        10,
+};
+
+const std::vector<ngraph::opset5::TopK::Mode> modes = {
+        ngraph::opset5::TopK::Mode::MIN,
+        ngraph::opset5::TopK::Mode::MAX
+};
+
+const std::vector<ngraph::opset5::TopK::SortType> sortTypes = {
+        ngraph::opset5::TopK::SortType::SORT_INDICES,
+        ngraph::opset5::TopK::SortType::SORT_VALUES,
+};
+
+INSTANTIATE_TEST_CASE_P(smoke_TopK_IndicesValuesSort, TopKLayerTest,
+        ::testing::Combine(
+            ::testing::ValuesIn(k),
+            ::testing::ValuesIn(axes),
+            ::testing::ValuesIn(modes),
+            ::testing::ValuesIn(sortTypes),
+            ::testing::ValuesIn(netPrecisions),
+            ::testing::Values(InferenceEngine::Precision::UNSPECIFIED),
+            ::testing::Values(InferenceEngine::Precision::UNSPECIFIED),
+            ::testing::Values(InferenceEngine::Layout::ANY),
+            ::testing::Values(std::vector<size_t>({10, 10, 10})),
+            ::testing::Values(CommonTestUtils::DEVICE_MYRIAD)),
+        TopKLayerTest::getTestCaseName);
+
+INSTANTIATE_TEST_CASE_P(smoke_TopK_NoneSort, TopKLayerTest,
+        ::testing::Combine(
+            ::testing::Values(1),
+            ::testing::ValuesIn(axes),
+            ::testing::ValuesIn(modes),
+            ::testing::Values(ngraph::opset5::TopK::SortType::NONE),
+            ::testing::ValuesIn(netPrecisions),
+            ::testing::Values(InferenceEngine::Precision::UNSPECIFIED),
+            ::testing::Values(InferenceEngine::Precision::UNSPECIFIED),
+            ::testing::Values(InferenceEngine::Layout::ANY),
+            ::testing::Values(std::vector<size_t>({10, 10, 10})),
+            ::testing::Values(CommonTestUtils::DEVICE_MYRIAD)),
+        TopKLayerTest::getTestCaseName);
+
+}  // namespace
index 102e1b0..d2a42b4 100644 (file)
@@ -23,5 +23,7 @@ std::vector<std::string> disabledTestPatterns() {
         R"(.*(IEClassLoadNetwork).*(QueryNetworkMULTIWithHETERONoThrow_V10|QueryNetworkHETEROWithMULTINoThrow_V10).*)",
         // TODO: Issue: 34348
         R"(.*IEClassGetAvailableDevices.*)",
+        // TODO: Issue: 40473
+        R"(.*TopKLayerTest.*mode=min.*sort=index.*)",
     };
 }