This is an automated email from the ASF dual-hosted git repository.

okislal pushed a commit to branch madlib2-master
in repository https://gitbox.apache.org/repos/asf/madlib.git

commit 40dfa0e3810b2f8d070941ba8053cc7b7886f169
Author: Orhan Kislal <[email protected]>
AuthorDate: Fri Sep 1 20:34:48 2023 +0300

    DL: Update get_state_to_return to always return bytea
    
    get_state_to_return returned bytea in some cases and a single float in
    others. The float value is not actually used so it did not break the
    process. However, this still causes python instability and errors in
    some cases. This commit fixes the issue by converting the float value to
    bytea just like the rest of the options.
---
 src/ports/postgres/modules/deep_learning/madlib_keras.py_in           | 2 +-
 .../modules/deep_learning/test/unit_tests/test_madlib_keras.py_in     | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/ports/postgres/modules/deep_learning/madlib_keras.py_in 
b/src/ports/postgres/modules/deep_learning/madlib_keras.py_in
index 5a99f129..2bd98c4f 100644
--- a/src/ports/postgres/modules/deep_learning/madlib_keras.py_in
+++ b/src/ports/postgres/modules/deep_learning/madlib_keras.py_in
@@ -800,7 +800,7 @@ def get_state_to_return(segment_model, is_last_row, 
is_multiple_model, agg_image
         new_state = serialize_state_with_nd_weights(
             agg_image_count, updated_model_weights)
     else:
-        new_state = float(agg_image_count)
+        new_state = np.float32(agg_image_count).tostring()
 
     return new_state
 
diff --git 
a/src/ports/postgres/modules/deep_learning/test/unit_tests/test_madlib_keras.py_in
 
b/src/ports/postgres/modules/deep_learning/test/unit_tests/test_madlib_keras.py_in
index ab8dc383..3da8549d 100644
--- 
a/src/ports/postgres/modules/deep_learning/test/unit_tests/test_madlib_keras.py_in
+++ 
b/src/ports/postgres/modules/deep_learning/test/unit_tests/test_madlib_keras.py_in
@@ -127,7 +127,7 @@ class 
MadlibKerasFitEvalTransitionTestCase(unittest.TestCase):
 
         image_count = kwargs['GD']['agg_image_count']
         self.assertEqual(ending_image_count, image_count)
-        image_count = new_state
+        image_count = np.fromstring(new_state,dtype=np.float32)[0]
         self.assertEqual(ending_image_count, image_count)
 
     def _test_fit_transition_multiple_model_no_cache_first_buffer_pass(self, 
**kwargs):
@@ -179,7 +179,7 @@ class 
MadlibKerasFitEvalTransitionTestCase(unittest.TestCase):
             self.total_images_per_seg, self.accessible_gpus_for_seg,
             self.dummy_prev_weights, **kwargs)
 
-        image_count = new_state
+        image_count = np.fromstring(new_state,dtype=np.float32)[0]
         self.assertEqual(ending_image_count, image_count)
 
     def _test_fit_transition_multiple_model_no_cache_middle_buffer_pass(self,

Reply via email to