Fixed Softmax reference (#1148)
authorLiubov Batanina <piccione-mail@yandex.ru>
Mon, 29 Jun 2020 20:07:08 +0000 (23:07 +0300)
committerGitHub <noreply@github.com>
Mon, 29 Jun 2020 20:07:08 +0000 (23:07 +0300)
inference-engine/tests/functional/plugin/cpu/shared_tests_instances/single_layer_tests/softmax.cpp
ngraph/test/runtime/opset0_downgrade.cpp

index 69af36d..bfb446c 100644 (file)
@@ -21,13 +21,15 @@ const std::vector<InferenceEngine::Layout> inputLayouts2D = {
 
 const std::vector<InferenceEngine::SizeVector> inputShapes2D = {
     InferenceEngine::SizeVector {1, 100},
+    InferenceEngine::SizeVector {100, 1},
+    InferenceEngine::SizeVector {10, 10},
 };
 
 const std::vector<size_t> axis2D = {
-    1
+    0, 1
 };
 
-const auto params = testing::Combine(
+const auto params2D = testing::Combine(
     testing::ValuesIn(netPrecisions),
     testing::ValuesIn(inputLayouts2D),
     testing::ValuesIn(inputShapes2D),
@@ -39,7 +41,31 @@ const auto params = testing::Combine(
 INSTANTIATE_TEST_CASE_P(
         SoftMax2D,
         SoftMaxLayerTest,
-        params,
+        params2D,
+        SoftMaxLayerTest::getTestCaseName
+);
+
+const std::vector<InferenceEngine::SizeVector> inputShapes4D = {
+    InferenceEngine::SizeVector {1, 100, 1, 1},
+    InferenceEngine::SizeVector {1, 3, 4, 3},
+    InferenceEngine::SizeVector {2, 3, 4, 5},
+};
+
+const std::vector<size_t> axis4D = {0, 1, 2, 3};
+
+const auto params4D = testing::Combine(
+    testing::ValuesIn(netPrecisions),
+    testing::Values(InferenceEngine::Layout::NCHW),
+    testing::ValuesIn(inputShapes4D),
+    testing::ValuesIn(axis4D),
+    testing::Values(CommonTestUtils::DEVICE_CPU),
+    testing::Values(std::map<std::string, std::string>())
+);
+
+INSTANTIATE_TEST_CASE_P(
+        SoftMax4D,
+        SoftMaxLayerTest,
+        params4D,
         SoftMaxLayerTest::getTestCaseName
 );
 
index 679b7ad..31400a0 100644 (file)
@@ -688,18 +688,6 @@ namespace
         return replacement_node;
     }
 
-    shared_ptr<Node> op_cast(shared_ptr<op::v1::Softmax> node)
-    {
-        const auto axis = node->get_axis();
-        const auto data = node->input(0);
-        const auto data_shape = data.get_shape();
-        std::vector<size_t> axes(data_shape.size() - axis);
-        std::iota(std::begin(axes), std::end(axes), axis);
-        const auto replacement_node = make_shared<op::v0::Softmax>(node->input_value(0), axes);
-        replace_node(node, replacement_node);
-        return replacement_node;
-    }
-
     shared_ptr<Node> op_cast(shared_ptr<op::v1::Split> node)
     {
         const auto num_splits = node->get_num_splits();