diff --git a/unit_tests/scheduler/Test_Scheduler.cpp b/unit_tests/scheduler/Test_Scheduler.cpp index 8ea8e726f286035a1059a317471b893ce4639251..1dd294a3ba26937a62d1adfe325cd15e0a8b1a8c 100644 --- a/unit_tests/scheduler/Test_Scheduler.cpp +++ b/unit_tests/scheduler/Test_Scheduler.cpp @@ -20,6 +20,7 @@ #include "aidge/scheduler/Scheduler.hpp" #include "aidge/backend/cpu.hpp" +#include "aidge/recipies/GraphViewHelper.hpp" using namespace Aidge; @@ -206,4 +207,28 @@ TEST_CASE("[cpu/scheduler] SequentialScheduler(forward)") { } SECTION("Test Recurrent graph") {} +} + +TEST_CASE("[cpu/scheduler] SequentialScheduler(backward)", "[scheduler][backward]") { + std::shared_ptr<GraphView> gv = Sequential({ReLU(), ReLU()}); + + std::shared_ptr<Tensor> inputTensor = + std::make_shared<Tensor>(Array4D<int, 2, 1, 5, 5>{{{{{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}}}}}); + auto label = inputTensor; + // implem already set to default + auto myProd = Producer(inputTensor, "prod"); + myProd -> addChild(gv); + gv -> compile("cpu", DataType::Float32); + compile_gradient(gv); + SequentialScheduler scheduler(gv); + scheduler.backward(); } \ No newline at end of file