From 66b20c222345ebdb99d2346a7234f0d96539d5ca Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 5 Sep 2023 12:43:51 +0100 Subject: [PATCH] lambda can only write to /tmp folder to using /tmp for model download --- model_data/simulation_system/MLModel/Models.py | 2 +- model_data/simulation_system/predictions.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/model_data/simulation_system/MLModel/Models.py b/model_data/simulation_system/MLModel/Models.py index ac8697d5..ac8f1409 100644 --- a/model_data/simulation_system/MLModel/Models.py +++ b/model_data/simulation_system/MLModel/Models.py @@ -66,7 +66,7 @@ class AutogluonModel: logger.info("In local development mode - no need for s3 client") self.model = TabularPredictor.load(path=filepath) else: - logger.info(f"Loading model from s3") + logger.info(f"Loading model from s3 with filepath: %s and model_folder: %s" % (filepath, model_folder)) client.download_model(filepath=filepath, model_folder=model_folder) self.model = TabularPredictor.load(path=str(Path(model_folder) / filepath)) diff --git a/model_data/simulation_system/predictions.py b/model_data/simulation_system/predictions.py index f158af1e..1b3827d8 100644 --- a/model_data/simulation_system/predictions.py +++ b/model_data/simulation_system/predictions.py @@ -135,7 +135,10 @@ def prediction( else: raise ValueError("No other model currently") - model.load_model(filepath=model_location, client=CLIENT, model_folder="local_model") + # In lambda, only the /tmp folder is writable + model_folder = "/tmp" if RUNTIME_ENVIRONMENT in ["dev", "prod"] else "local_model" + + model.load_model(filepath=model_location, client=CLIENT, model_folder=model_folder) logger.info("--- Generating Predictions ---") prediction = model.generate_predictions(data=data)