From 73094cedb612a87a1059ce686c4f2090aad06514 Mon Sep 17 00:00:00 2001
From: cmoineau <cyril.moineau@cea.fr>
Date: Fri, 28 Mar 2025 10:34:45 +0000
Subject: [PATCH 1/2] Update Pybind 2.10.4 -> 2.13.6

---
 cmake/PybindModuleCreation.cmake | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cmake/PybindModuleCreation.cmake b/cmake/PybindModuleCreation.cmake
index 8f386be..bab7fba 100644
--- a/cmake/PybindModuleCreation.cmake
+++ b/cmake/PybindModuleCreation.cmake
@@ -1,8 +1,8 @@
-function(generate_python_binding pybind_module_name target_to_bind) 
+function(generate_python_binding pybind_module_name target_to_bind)
     add_definitions(-DPYBIND)
     Include(FetchContent)
 
-    set(PYBIND_VERSION v2.10.4)
+    set(PYBIND_VERSION v2.13.6)
     set(PYBIND11_FINDPYTHON ON)
     message(STATUS "Retrieving pybind ${PYBIND_VERSION} from git")
 
-- 
GitLab


From b1ec2e2cfe531566287874507136db8b665b2074 Mon Sep 17 00:00:00 2001
From: Olivier BICHLER <olivier.bichler@cea.fr>
Date: Mon, 31 Mar 2025 11:56:18 +0200
Subject: [PATCH 2/2] Fix tests

---
 unit_tests/loss/classification/Test_BCE.cpp    | 7 +++++--
 unit_tests/loss/classification/Test_CELoss.cpp | 6 ++++--
 unit_tests/loss/regression/Test_MSE.cpp        | 6 ++++--
 unit_tests/metrics/Test_Accuracy.cpp           | 2 ++
 4 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/unit_tests/loss/classification/Test_BCE.cpp b/unit_tests/loss/classification/Test_BCE.cpp
index 34149f3..9190e81 100644
--- a/unit_tests/loss/classification/Test_BCE.cpp
+++ b/unit_tests/loss/classification/Test_BCE.cpp
@@ -93,7 +93,8 @@ TEST_CASE("[loss/classification] BCE", "[loss][classification][BCE]") {
 
             // compare results
             Tensor res_manual_tensor = Tensor(res_manual);
-            REQUIRE(approxEq<float>(res_manual, res_function));
+            res_manual_tensor.resize({1, 1});
+            REQUIRE(approxEq<float>(res_manual_tensor, res_function));
         }
     }
 #if USE_AIDGE_BACKEND_CUDA
@@ -154,7 +155,9 @@ TEST_CASE("[loss/classification] BCE", "[loss][classification][BCE]") {
             const Tensor res_function = loss::BCE(pred_tensor, targ_tensor);
 
             // compare results
-            REQUIRE(approxEq<float>(res_manual, res_function));
+            Tensor res_manual_tensor = Tensor(res_manual);
+            res_manual_tensor.resize({1, 1});
+            REQUIRE(approxEq<float>(res_manual_tensor, res_function));
 
             cudaFree(d_pred);
             cudaFree(d_targ);
diff --git a/unit_tests/loss/classification/Test_CELoss.cpp b/unit_tests/loss/classification/Test_CELoss.cpp
index 2a01965..74c6113 100644
--- a/unit_tests/loss/classification/Test_CELoss.cpp
+++ b/unit_tests/loss/classification/Test_CELoss.cpp
@@ -121,7 +121,8 @@ TEST_CASE("[loss/classification] CELoss", "[loss][classification][CELoss]") {
 
             // Compute the CELoss manually
 
-            const Tensor manualResult = Tensor(manualCELoss(predictionArray, targetArray, batchSize, outputSize));
+            Tensor manualResult = Tensor(manualCELoss(predictionArray, targetArray, batchSize, outputSize));
+            manualResult.resize({1, 1});
           
             // Compute the CELoss using Aidge::loss::CELoss function
 
@@ -183,7 +184,8 @@ TEST_CASE("[loss/classification] CELoss", "[loss][classification][CELoss]") {
 
             // Compute the CELoss manually
 
-            const Tensor manualResult = Tensor(manualCELoss(predictionArray, targetArray, batchSize, outputSize));
+            Tensor manualResult = Tensor(manualCELoss(predictionArray, targetArray, batchSize, outputSize));
+            manualResult.resize({1, 1});
           
             // Compute the CELoss using Aidge::loss::CELoss function
 
diff --git a/unit_tests/loss/regression/Test_MSE.cpp b/unit_tests/loss/regression/Test_MSE.cpp
index adf4aa3..dd40800 100644
--- a/unit_tests/loss/regression/Test_MSE.cpp
+++ b/unit_tests/loss/regression/Test_MSE.cpp
@@ -94,7 +94,8 @@ TEST_CASE("[loss/regression] MSE", "[loss][regression][MSE]") {
 
             // compare results
             Tensor res_manual_tensor = Tensor(res_manual);
-            REQUIRE(approxEq<float>(res_manual, res_function));
+            res_manual_tensor.resize({1, 1});
+            REQUIRE(approxEq<float>(res_manual_tensor, res_function));
         }
     }
 #if USE_AIDGE_BACKEND_CUDA
@@ -153,7 +154,8 @@ TEST_CASE("[loss/regression] MSE", "[loss][regression][MSE]") {
 
             // compare results
             Tensor res_manual_tensor = Tensor(res_manual);
-            REQUIRE(approxEq<float>(res_manual, res_function));
+            res_manual_tensor.resize({1, 1});
+            REQUIRE(approxEq<float>(res_manual_tensor, res_function));
 
             cudaFree(d_pred);
             cudaFree(d_targ);
diff --git a/unit_tests/metrics/Test_Accuracy.cpp b/unit_tests/metrics/Test_Accuracy.cpp
index d58076d..3f25fb2 100644
--- a/unit_tests/metrics/Test_Accuracy.cpp
+++ b/unit_tests/metrics/Test_Accuracy.cpp
@@ -100,6 +100,7 @@ TEST_CASE("[metrics] Accuracy", "[metrics][Accuracy]") {
 
             // compare results
             Tensor res_manual_tensor = Tensor(accuracy);
+            res_manual_tensor.resize({1, 1});
             REQUIRE(approxEq<float>(res_manual_tensor, res_function));
         }
     }
@@ -168,6 +169,7 @@ TEST_CASE("[metrics] Accuracy", "[metrics][Accuracy]") {
 
             // compare results
             Tensor res_manual_tensor = Tensor(accuracy);
+            res_manual_tensor.resize({1, 1});
             REQUIRE(approxEq<float>(res_manual_tensor, res_function));
 
             cudaFree(d_pred);
-- 
GitLab