From c91e78b2798c9582db10947b6b59e509390b0011 Mon Sep 17 00:00:00 2001 From: El Williams Date: Fri, 29 May 2026 01:33:01 +0000 Subject: [PATCH] fix: normalize path separators for cross-platform model loading When a model is trained on Windows, learner_subpath paths contain backslash separators. On Linux, os.path.join does not normalize backslashes, causing malformed paths like: 'model_1/100_LightGBM\learner_fold_0.lightgbm' Add os.path.normpath() to normalize path separators before joining, handling both Windows-to-Linux and Linux-to-Windows transfers. Fixes #541 --- supervised/model_framework.py | 1 + 1 file changed, 1 insertion(+) diff --git a/supervised/model_framework.py b/supervised/model_framework.py index 08ffbb64..458f8bca 100644 --- a/supervised/model_framework.py +++ b/supervised/model_framework.py @@ -721,6 +721,7 @@ def load(results_path, model_subpath, lazy_load=True): for learner_desc, learner_subpath in zip( json_desc.get("learners"), json_desc.get("saved") ): + learner_subpath = os.path.normpath(learner_subpath) learner_path = os.path.join(results_path, learner_subpath) l = AlgorithmFactory.load(learner_desc, learner_path, lazy_load) mf.learners += [l]