diff --git a/unit_tests/operator/Test_ConcatImpl.cpp b/unit_tests/operator/Test_ConcatImpl.cpp deleted file mode 100644 index d7cefd8d7ca3b42bcbde292f437e55965edab006..0000000000000000000000000000000000000000 --- a/unit_tests/operator/Test_ConcatImpl.cpp +++ /dev/null @@ -1,145 +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 "aidge/data/Tensor.hpp" -#include "aidge/operator/Add.hpp" -#include "aidge/operator/Concat.hpp" - -#include "aidge/backend/cpu.hpp" - -using namespace Aidge; - -TEST_CASE("[cpu/operator] Concat(forward)", "[Concat][CPU]") { - SECTION("Concat 1D inputs") { - std::shared_ptr<Tensor> input1 = std::make_shared<Tensor>(Array1D<int,2>{{ 2, 3 }}); - std::shared_ptr<Tensor> input2 = std::make_shared<Tensor>(Array1D<int,3>{{ 4, 5, 6 }}); - std::shared_ptr<Tensor> input3 = std::make_shared<Tensor>(Array1D<int,4>{{ 7, 8, 9, 10 }}); - std::shared_ptr<Tensor> input4 = std::make_shared<Tensor>(Array1D<int,5>{{ 11, 12, 13, 14, 15 }}); - std::shared_ptr<Tensor> input5 = std::make_shared<Tensor>(Array1D<int,6>{{ 16, 17, 18, 19, 20, 21 }}); - - std::shared_ptr<Tensor> expectedOutput = std::make_shared<Tensor>(Array1D<int,20>{ - { 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14,15,16,17,18,19,20,21 }}); - - auto myConcat = Concat(5, 0); - myConcat->getOperator()->associateInput(0, input1); - myConcat->getOperator()->associateInput(1, input2); - myConcat->getOperator()->associateInput(2, input3); - myConcat->getOperator()->associateInput(3, input4); - myConcat->getOperator()->associateInput(4, input5); - myConcat->getOperator()->setBackend("cpu"); - myConcat->getOperator()->setDataType(DataType::Int32); - myConcat->forward(); - - std::static_pointer_cast<Tensor>(myConcat->getOperator()->getRawOutput(0))->print(); - - REQUIRE(*std::static_pointer_cast<OperatorTensor>(myConcat->getOperator())->getOutput(0) == *expectedOutput); - } - SECTION("Concat 4D inputs on 1st axis") { - std::shared_ptr<Tensor> input1 = std::make_shared<Tensor>(Array4D<int,1,3,3,2> { - { // - { // - {{20, 47},{21, 48},{22, 49}}, // - {{23, 50},{24, 51},{25, 52}}, // - {{26, 53},{27, 54},{28, 55}} // - }, // - } // - }); // - std::shared_ptr<Tensor> input2 = std::make_shared<Tensor>(Array4D<int,2,3,3,2> { - { - { // - {{29, 56},{30, 57},{31, 58}}, // - {{32, 59},{33, 60},{34, 61}}, // - {{35, 62},{36, 63},{37, 64}} // - }, // - { // - {{38, 65},{39, 66},{40, 67}}, // - {{41, 68},{42, 69},{43, 70}}, // - {{44, 71},{45, 72},{46, 73}} // - } // - } // - }); // - - std::shared_ptr<Tensor> expectedOutput = std::make_shared<Tensor>(Array4D<int,3,3,3,2> { - { // - { // - {{20, 47},{21, 48},{22, 49}}, // - {{23, 50},{24, 51},{25, 52}}, // - {{26, 53},{27, 54},{28, 55}} // - }, // - { // - {{29, 56},{30, 57},{31, 58}}, // - {{32, 59},{33, 60},{34, 61}}, // - {{35, 62},{36, 63},{37, 64}} // - }, // - { // - {{38, 65},{39, 66},{40, 67}}, // - {{41, 68},{42, 69},{43, 70}}, // - {{44, 71},{45, 72},{46, 73}} // - } // - } // - }); // - - auto myConcat = Concat(2, 0); - myConcat->getOperator()->associateInput(0, input1); - myConcat->getOperator()->associateInput(1, input2); - myConcat->getOperator()->setBackend("cpu"); - myConcat->getOperator()->setDataType(DataType::Int32); - myConcat->forward(); - - std::static_pointer_cast<OperatorTensor>(myConcat->getOperator())->getOutput(0)->print(); - - REQUIRE(*std::static_pointer_cast<OperatorTensor>(myConcat->getOperator())->getOutput(0) == *expectedOutput); - } - - SECTION("Concat 4D inputs on 3rd axis") { - std::shared_ptr<Tensor> input1 = std::make_shared<Tensor>(Array4D<int,1,3,3,2> { - { // - { // - {{20, 47},{21, 48},{22, 49}}, // - {{23, 50},{24, 51},{25, 52}}, // - {{26, 53},{27, 54},{28, 55}} // - }, // - } // - }); // - std::shared_ptr<Tensor> input2 = std::make_shared<Tensor>(Array4D<int,1,3,6,2> { - { - { // - {{29, 56},{30, 57},{31, 58},{38, 65},{39, 66},{40, 67}}, // - {{32, 59},{33, 60},{34, 61},{41, 68},{42, 69},{43, 70}}, // - {{35, 62},{36, 63},{37, 64},{44, 71},{45, 72},{46, 73}} // - }, - } - }); - - std::shared_ptr<Tensor> expectedOutput = std::make_shared<Tensor>(Array4D<int,1,3,9,2> { - { // - { // - {{20, 47},{21, 48},{22, 49},{29, 56},{30, 57},{31, 58},{38, 65},{39, 66},{40, 67}}, // - {{23, 50},{24, 51},{25, 52},{32, 59},{33, 60},{34, 61},{41, 68},{42, 69},{43, 70}}, // - {{26, 53},{27, 54},{28, 55},{35, 62},{36, 63},{37, 64},{44, 71},{45, 72},{46, 73}} // - }, // - } // - }); // - - auto myConcat = Concat(2, 2); - myConcat->getOperator()->associateInput(0, input1); - myConcat->getOperator()->associateInput(1, input2); - myConcat->getOperator()->setBackend("cpu"); - myConcat->getOperator()->setDataType(DataType::Int32); - myConcat->forward(); - - std::static_pointer_cast<Tensor>(myConcat->getOperator()->getRawOutput(0))->print(); - - REQUIRE(*std::static_pointer_cast<OperatorTensor>(myConcat->getOperator())->getOutput(0) == *expectedOutput); - } -} \ No newline at end of file diff --git a/unit_tests/operator/Test_GatherImpl.cpp b/unit_tests/operator/Test_GatherImpl.cpp deleted file mode 100644 index e3bf4a4124760b285fd69463fb1836ce87461d71..0000000000000000000000000000000000000000 --- a/unit_tests/operator/Test_GatherImpl.cpp +++ /dev/null @@ -1,98 +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 "aidge/data/Tensor.hpp" -#include "aidge/operator/Gather.hpp" - -#include "aidge/backend/cpu.hpp" - -#include <memory> - - -using namespace Aidge; - -TEST_CASE("[cpu/operator] Gather(forward)") { - SECTION("2D Tensor axis 0") { - std::shared_ptr<Tensor> input = std::make_shared<Tensor>(Array2D<int,3,3> { - { - {1, 2, 3}, - {4, 5, 6}, - {7, 8, 9} - } - }); - std::shared_ptr<Tensor> indexes = std::make_shared<Tensor>(Array2D<int,1,2> { - { - {1, 2} - } - }); - std::shared_ptr<Tensor> expectedOutput = std::make_shared<Tensor>(Array3D<int,1,2,3> { - { - { - {4, 5, 6}, - {7, 8, 9} - } - } - }); - - std::shared_ptr<Node> myGather = Gather({1, 2}, {1, 2}, 0); - auto op = std::static_pointer_cast<OperatorTensor>(myGather -> getOperator()); - op->associateInput(0,input); - // op->associateInput(1,indexes); - op->setDataType(DataType::Int32); - op->setBackend("cpu"); - myGather->forward(); - op->getOutput(0)->print(); - expectedOutput->print(); - - REQUIRE(*(op->getOutput(0)) == *expectedOutput); - - } - SECTION("2D Tensor axis 1") { - std::shared_ptr<Tensor> input = std::make_shared<Tensor>(Array2D<int,3,3> { - { - {1, 2, 3}, - {4, 5, 6}, - {7, 8, 9} - } - }); - std::shared_ptr<Tensor> indexes = std::make_shared<Tensor>(Array2D<int,1,2> { - { - {0, 2} - } - }); - std::shared_ptr<Tensor> expectedOutput = std::make_shared<Tensor>(Array3D<int,3,1,2> { - { - { - {1, 3} - }, - { - {4, 6} - }, - { - {7, 9} - } - } - }); - - std::shared_ptr<Node> myGather = Gather({0, 2}, {1, 2}, 1); - auto op = std::static_pointer_cast<OperatorTensor>(myGather -> getOperator()); - op->associateInput(0,input); - // op->associateInput(1,indexes); - op->setDataType(DataType::Int32); - op->setBackend("cpu"); - myGather->forward(); - - REQUIRE(*(op->getOutput(0)) == *expectedOutput); - - } -} \ No newline at end of file diff --git a/unit_tests/operator/Test_ReshapeImpl.cpp b/unit_tests/operator/Test_ReshapeImpl.cpp deleted file mode 100644 index c57acfdf6779f9832a8ca02331f4fbc5f97ef507..0000000000000000000000000000000000000000 --- a/unit_tests/operator/Test_ReshapeImpl.cpp +++ /dev/null @@ -1,69 +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 "aidge/data/Tensor.hpp" -#include "aidge/operator/Reshape.hpp" - -#include "aidge/backend/cpu.hpp" - -#include <memory> - -using namespace Aidge; - -TEST_CASE("[cpu/operator] Reshape(forward)") { - SECTION("1D Tensor") { - std::shared_ptr<Tensor> input = std::make_shared<Tensor>(Array1D<float,6> { - {1.0, 2.0, 3.0, 4.0, 5.0, 6.0} - }); - std::shared_ptr<Tensor> expectedOutput = std::make_shared<Tensor>(Array2D<float,2,3> { - { - {1.0, 2.0, 3.0}, - {4.0, 5.0, 6.0} - } - }); - - std::shared_ptr<Node> myReshape = Reshape({2, 3}); - auto op = std::static_pointer_cast<OperatorTensor>(myReshape -> getOperator()); - op->associateInput(0, input); - op->setDataType(DataType::Float32); - op->setBackend("cpu"); - myReshape->forward(); - - REQUIRE(*(op->getOutput(0)) == *expectedOutput); - } - SECTION("2D Tensor") { - std::shared_ptr<Tensor> input = std::make_shared<Tensor>(Array2D<float,2,3> { - { - {1.0, 2.0, 3.0}, - {4.0, 5.0, 6.0} - } - - }); - std::shared_ptr<Tensor> expectedOutput = std::make_shared<Tensor>(Array2D<float,3,2> { - { - {1.0, 2.0}, - {3.0, 4.0}, - {5.0, 6.0} - } - }); - - std::shared_ptr<Node> myReshape = Reshape({3, 2}); - auto op = std::static_pointer_cast<OperatorTensor>(myReshape -> getOperator()); - op->associateInput(0, input); - op->setDataType(DataType::Float32); - op->setBackend("cpu"); - myReshape->forward(); - - REQUIRE(*(op->getOutput(0)) == *expectedOutput); - } -} \ No newline at end of file