From 4a1102fab40467fa2635543c6cffc80015346c7b Mon Sep 17 00:00:00 2001
From: NAUD Maxence <maxence.naud@cea.fr>
Date: Thu, 30 Nov 2023 13:41:26 +0000
Subject: [PATCH] Update computeReceptiveField test for ConvDepthWise

---
 unit_tests/operator/Test_ConvDepthWise_Op.cpp |  34 +--
 unit_tests/recipies/Test_HorizontalTiling.cpp | 200 ------------------
 2 files changed, 17 insertions(+), 217 deletions(-)
 delete mode 100644 unit_tests/recipies/Test_HorizontalTiling.cpp

diff --git a/unit_tests/operator/Test_ConvDepthWise_Op.cpp b/unit_tests/operator/Test_ConvDepthWise_Op.cpp
index cc138fa0a..14d4dc537 100644
--- a/unit_tests/operator/Test_ConvDepthWise_Op.cpp
+++ b/unit_tests/operator/Test_ConvDepthWise_Op.cpp
@@ -24,25 +24,25 @@
 namespace Aidge {
 TEST_CASE("[core/operator] ConvDepthWise_Op(computeReceptiveField)", "[Operator][computeReceptiveFiled][ConvDepthWise]") {
     auto dataProvider = Producer({16, 3, 224, 224}, "dataProvider");
-    auto conv1 = ConvDepthWise(3, {5, 5}, "conv1");         // output dims: {16, 3, 220, 220}
-    auto conv2 = ConvDepthWise(3, {3, 3}, "conv2");         // output dims: {16, 3, 218, 218}
-    auto conv3 = ConvDepthWise(3, {2, 2}, "conv3", {2,2});  // output dims: {16, 3, 109, 109}
-    auto conv4 = ConvDepthWise(3, {1, 1}, "conv4");         // output dims: {16, 3, 109, 109}
+    auto cdw1 = ConvDepthWise(3, {5, 5}, "cdw1");         // output dims: {16, 3, 220, 220}
+    auto cdw2 = ConvDepthWise(3, {3, 3}, "cdw2");         // output dims: {16, 3, 218, 218}
+    auto cdw3 = ConvDepthWise(3, {2, 2}, "cdw3", {2,2});  // output dims: {16, 3, 109, 109}
+    auto cdw4 = ConvDepthWise(3, {1, 1}, "cdw4");         // output dims: {16, 3, 109, 109}
 
     auto g = std::make_shared<GraphView>("TestGraph");
 
-    dataProvider->addChild(conv1, 0);
-    g->add(conv1);
-    g->addChild(conv2, conv1, 0);
-    g->addChild(conv3, conv2, 0);
-    g->addChild(conv4, conv3, 0);
+    dataProvider->addChild(cdw1, 0);
+    g->add(cdw1);
+    g->addChild(cdw2, cdw1, 0);
+    g->addChild(cdw3, cdw2, 0);
+    g->addChild(cdw4, cdw3, 0);
 
     g->forwardDims();
 
-    auto op1 = std::dynamic_pointer_cast<OperatorTensor>(conv1 -> getOperator());
-    auto op2 = std::dynamic_pointer_cast<OperatorTensor>(conv2 -> getOperator());
-    auto op3 = std::dynamic_pointer_cast<OperatorTensor>(conv3 -> getOperator());
-    auto op4 = std::dynamic_pointer_cast<OperatorTensor>(conv4 -> getOperator());
+    auto op1 = std::dynamic_pointer_cast<OperatorTensor>(cdw1 -> getOperator());
+    auto op2 = std::dynamic_pointer_cast<OperatorTensor>(cdw2 -> getOperator());
+    auto op3 = std::dynamic_pointer_cast<OperatorTensor>(cdw3 -> getOperator());
+    auto op4 = std::dynamic_pointer_cast<OperatorTensor>(cdw4 -> getOperator());
 
     SECTION("Check individual receptive fields") {
         auto res1 = op1->computeReceptiveField(0, {16,3,10,10});
@@ -59,13 +59,13 @@ TEST_CASE("[core/operator] ConvDepthWise_Op(computeReceptiveField)", "[Operator]
     SECTION("Check receptive field propagation") {
         // input:  first-{5, 0, 50, 50}  dims-{1, 1, 1, 1}
         auto res4 = op4->computeReceptiveField(op4->getInput(0)->getIdx({5,0,50,50}), {1,1,1,1});
-        // conv4 RF:  first-{5, 0, 50, 50}  dims-{1, 1, 1, 1}
+        // cdw4 RF:  first-{5, 0, 50, 50}  dims-{1, 1, 1, 1}
         auto res3 = op3->computeReceptiveField(res4[0].first, res4[0].second);
-        // conv3 RF:  first-{5, 0, 100, 100} dims-{1, 1, 2, 2}
+        // cdw3 RF:  first-{5, 0, 100, 100} dims-{1, 1, 2, 2}
         auto res2 = op2->computeReceptiveField(res3[0].first, res3[0].second);
-        // conv2 RF:  first-{5, 0, 100, 100} dims-{1, 1, 4, 4}
+        // cdw2 RF:  first-{5, 0, 100, 100} dims-{1, 1, 4, 4}
         auto res1 = op1->computeReceptiveField(res2[0].first, res2[0].second);
-        // conv1 RF:  first-{5, 0, 100, 100} dims-{1, 1, 8, 8}
+        // cdw1 RF:  first-{5, 0, 100, 100} dims-{1, 1, 8, 8}
 
         REQUIRE(((res1[0].first == op1->getInput(0)->getIdx({5, 0, 100, 100})) && (res1[0].second == std::vector<DimSize_t>({1, 1, 8, 8}))));
     }
diff --git a/unit_tests/recipies/Test_HorizontalTiling.cpp b/unit_tests/recipies/Test_HorizontalTiling.cpp
deleted file mode 100644
index c9fb5ed6d..000000000
--- a/unit_tests/recipies/Test_HorizontalTiling.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-// /********************************************************************************
-//  * Copyright (c) 2023 CEA-List
-//  *
-//  * This program and the accompanying materials are made available under the
-//  * terms of the Eclipse Public License 2.0 which is available at
-//  * http://www.eclipse.org/legal/epl-2.0.
-//  *
-//  * SPDX-License-Identifier: EPL-2.0
-//  *
-//  ********************************************************************************/
-
-// #include <catch2/catch_test_macros.hpp>
-// #include <set>
-
-// #include "aidge/graph/GraphView.hpp"
-// #include "aidge/graph/OpArgs.hpp"
-// #include "aidge/operator/Conv.hpp"
-// #include "aidge/operator/ReLU.hpp"
-// #include "aidge/recipies/Recipies.hpp"
-
-
-// namespace Aidge {
-
-// TEST_CASE("[core/recipies] Tiling(transformation)", "[Tiling][Recipies]") {
-
-//     SECTION("Transform a pre-generated GraphView") {
-
-//         SECTION("Simple Node: Conv") {
-//             std::shared_ptr<Node> myConv = Conv(3,4,{3,3}, "myconv");
-//             myConv->getOperator()->setDatatype(DataType::Int32);
-//             myConv->getOperator()->setBackend("cpu");
-//             std::shared_ptr<Tensor> myWeights = std::make_shared<Tensor>(Array4D<int,4,3,3,3> {
-//                 {
-//                     {
-//                         {{  0,   1,   2},
-//                          {  3,   4,   5},
-//                          {  6,   7,   8}},
-//                         {{  9,  10,  11},
-//                          { 12,  13,  14},
-//                          { 15,  16,  17}},
-//                         {{ 18,  19,  20},
-//                          { 21,  22,  23},
-//                          { 24,  25,  26}}
-//                     },
-//                     {
-//                         {{ 27,  28,  29},
-//                         { 30,  31,  32},
-//                         { 33,  34,  35}},
-//                         {{ 36,  37,  38},
-//                         { 39,  40,  41},
-//                         { 42,  43,  44}},
-//                         {{ 45,  46,  47},
-//                         { 48,  49,  50},
-//                         { 51,  52,  53}}
-//                     },
-//                     {
-//                         {{ 54,  55,  56},
-//                         { 57,  58,  59},
-//                         { 60,  61,  62}},
-//                         {{ 63,  64,  65},
-//                         { 66,  67,  68},
-//                         { 69,  70,  71}},
-//                         {{ 72,  73,  74},
-//                         { 75,  76,  77},
-//                         { 78,  79,  80}}
-//                     },
-//                     {
-//                         {{ 81,  82,  83},
-//                         { 84,  85,  86},
-//                         { 87,  88,  89}},
-//                         {{ 90,  91,  92},
-//                         { 93,  94,  95},
-//                         { 96,  97,  98}},
-//                         {{ 99, 100, 101},
-//                         {102, 103, 104},
-//                         {105, 106, 107}}
-//                     }
-//                 }
-//             });
-//             std::shared_ptr<Tensor> myBias = std::make_shared<Tensor>(Array1D<int,4> {{7,0,9,0}});
-//             std::shared_ptr<Tensor> myInput = std::make_shared<Tensor>(Array4D<int,2,3,5,5> { //NCHW
-//                 {
-//                     {
-//                         {{  0,   1,   2,   3,   4},
-//                         {  5,   6,   7,   8,   9},
-//                         { 10,  11,  12,  13,  14},
-//                         { 15,  16,  17,  18,  19},
-//                         { 20,  21,  22,  23,  24}},
-
-//                         {{ 25,  26,  27,  28,  29},
-//                         { 30,  31,  32,  33,  34},
-//                         { 35,  36,  37,  38,  39},
-//                         { 40,  41,  42,  43,  44},
-//                         { 45,  46,  47,  48,  49}},
-
-//                         {{ 50,  51,  52,  53,  54},
-//                         { 55,  56,  57,  58,  59},
-//                         { 60,  61,  62,  63,  64},
-//                         { 65,  66,  67,  68,  69},
-//                         { 70,  71,  72,  73,  74}}
-//                     },
-//                     {
-//                         {{ 75,  76,  77,  78,  79},
-//                         { 80,  81,  82,  83,  84},
-//                         { 85,  86,  87,  88,  89},
-//                         { 90,  91,  92,  93,  94},
-//                         { 95,  96,  97,  98,  99}},
-
-//                         {{100, 101, 102, 103, 104},
-//                         {105, 106, 107, 108, 109},
-//                         {110, 111, 112, 113, 114},
-//                         {115, 116, 117, 118, 119},
-//                         {120, 121, 122, 123, 124}},
-
-//                         {{125, 126, 127, 128, 129},
-//                         {130, 131, 132, 133, 134},
-//                         {135, 136, 137, 138, 139},
-//                         {140, 141, 142, 143, 144},
-//                         {145, 146, 147, 148, 149}}
-//                     }
-//                 }
-//             });
-//             std::shared_ptr<Tensor> myOutput = std::make_shared<Tensor>(Array4D<int,2,4,3,3> {
-//                 {
-//                     {
-//                         {{ 15226,  15577,  15928},
-//                          { 16981,  17332,  17683},
-//                          { 18736,  19087,  19438}},
-
-//                         {{ 37818,  38898,  39978},
-//                          { 43218,  44298,  45378},
-//                          { 48618,  49698,  50778}},
-
-//                         {{ 60426,  62235,  64044},
-//                          { 69471,  71280,  73089},
-//                          { 78516,  80325,  82134}},
-
-//                         {{ 83016,  85554,  88092},
-//                          { 95706,  98244, 100782},
-//                          {108396, 110934, 113472}}
-//                     },
-//                     {
-//                         {{ 41551,  41902,  42253},
-//                          { 43306,  43657,  44008},
-//                          { 45061,  45412,  45763}},
-
-//                         {{118818, 119898, 120978},
-//                          {124218, 125298, 126378},
-//                          {129618, 130698, 131778}},
-
-//                         {{196101, 197910, 199719},
-//                          {205146, 206955, 208764},
-//                          {214191, 216000, 217809}},
-
-//                         {{273366, 275904, 278442},
-//                          {286056, 288594, 291132},
-//                          {298746, 301284, 303822}}
-//                     }
-//                 }
-//             });
-//             myConv->getOperator()->associateInput(0,myInput);
-//             myConv->getOperator()->associateInput(1,myWeights);
-//             myConv->getOperator()->associateInput(2,myBias);
-//             myConv->getOperator()->computeOutputDims();
-
-//             std::shared_ptr<GraphView> g;
-//             g->add(myConv);
-//             horizontalTiling({myConv}, 3);
-
-//             SequentialScheduler s(g);
-//             s->forward();
-
-//             // myConv->getOperator()->getOutput(0)->print();
-//             REQUIRE(*(myConv->getOperator()->getOutput(0)) == *myOutput);
-//         }
-//     }
-// }
-// }
-//         // std::shared_ptr<GraphView> g = Sequential({
-//         //     Conv(3, 16, {3,3}, "conv1"),
-//         //     ReLU("relu1"),
-//         //     Conv(16, 32, {1,1}, "conv2"),
-//         //     Conv(32, 16, {1,1}, "conv3"),
-//         //     Conv(16, 10, {3,3}, "conv4"),
-//         //     ReLU("relu2")
-//         // });
-
-//     //     for (auto& individualConv : g->match("Conv")) {
-//     //         auto tiledConv = horizontalTiling(individualConv);
-//     //         g->replace(individualConv, tiledConv);
-//     //     }
-//     // }
-
-//     // SECTION("Create the GraphView with tiled layers") {
-//     //     std::shared_ptr<GraphView> g;
-//     //     g->addChild(horizontalTiling(Conv()))
-//     // }
-
-// // }
-// // } // namespace Aidge
\ No newline at end of file
-- 
GitLab