From e4db07cb0b54212675d10c6c06bf2841b142401a Mon Sep 17 00:00:00 2001 From: NAUD Maxence <maxence.naud@cea.fr> Date: Thu, 26 Oct 2023 15:01:26 +0000 Subject: [PATCH] [Upd][WIP] Horizontal Tiling test --- unit_tests/recipies/Test_HorizontalTiling.cpp | 185 ++++++++++++++++-- 1 file changed, 165 insertions(+), 20 deletions(-) diff --git a/unit_tests/recipies/Test_HorizontalTiling.cpp b/unit_tests/recipies/Test_HorizontalTiling.cpp index 575e185c8..a1a54b4eb 100644 --- a/unit_tests/recipies/Test_HorizontalTiling.cpp +++ b/unit_tests/recipies/Test_HorizontalTiling.cpp @@ -9,29 +9,174 @@ * ********************************************************************************/ -#include <catch2/catch_test_macros.hpp> -#include <set> +// #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" +// #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 { +// namespace Aidge { -TEST_CASE("[core/recipies] Tiling(horizontal)", "[Tiling][HorizontalTiling][Recipies]") { +// TEST_CASE("[core/recipies] Tiling(transformation)", "[Tiling][Recipies]") { - // SECTION("Transform a pre-generated GraphView") { - // 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") - // }); +// 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); +// auto tiledConv = horizontalTile({myConv}, 3); +// g->replace({myConv}, {tiledConv}); + + +// 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); @@ -44,5 +189,5 @@ TEST_CASE("[core/recipies] Tiling(horizontal)", "[Tiling][HorizontalTiling][Reci // g->addChild(horizontalTiling(Conv())) // } -} -} // namespace Aidge \ No newline at end of file +// } +// } // namespace Aidge \ No newline at end of file -- GitLab