Spaces:
Sleeping
Sleeping
Hardik commited on
Commit ·
606b50e
1
Parent(s): a6150bc
LSTM: use keras3 directly (not tf-keras) for loading Keras 3 model
Browse files
ml_service/app/services/model_loader.py
CHANGED
|
@@ -9,9 +9,10 @@ from app.config import settings
|
|
| 9 |
os.environ["TF_USE_LEGACY_KERAS"] = "1"
|
| 10 |
import tensorflow as tf
|
| 11 |
try:
|
| 12 |
-
import tf_keras
|
| 13 |
except ImportError:
|
| 14 |
-
|
|
|
|
| 15 |
|
| 16 |
warnings.filterwarnings("ignore")
|
| 17 |
|
|
@@ -108,18 +109,21 @@ class ModelManager:
|
|
| 108 |
loaded = False
|
| 109 |
last_lstm_error = ""
|
| 110 |
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
|
|
|
|
|
|
|
|
|
| 123 |
|
| 124 |
if not loaded:
|
| 125 |
raise RuntimeError(f"Could not load LSTM model ({'h5' if is_h5 else 'zip'}): {last_lstm_error}")
|
|
|
|
| 9 |
os.environ["TF_USE_LEGACY_KERAS"] = "1"
|
| 10 |
import tensorflow as tf
|
| 11 |
try:
|
| 12 |
+
import tf_keras
|
| 13 |
except ImportError:
|
| 14 |
+
tf_keras = None
|
| 15 |
+
import keras as keras3
|
| 16 |
|
| 17 |
warnings.filterwarnings("ignore")
|
| 18 |
|
|
|
|
| 109 |
loaded = False
|
| 110 |
last_lstm_error = ""
|
| 111 |
|
| 112 |
+
for loader_fn, name in [
|
| 113 |
+
(lambda p: keras3.models.load_model(p), "keras3"),
|
| 114 |
+
(lambda p: keras3.saving.load_model(p), "keras3_saving"),
|
| 115 |
+
(lambda p: tf.keras.models.load_model(p, compile=False), "tf.keras"),
|
| 116 |
+
(lambda p: tf_keras.models.load_model(p, compile=False), "tf_keras"),
|
| 117 |
+
]:
|
| 118 |
+
if name == "tf_keras" and tf_keras is None:
|
| 119 |
+
continue
|
| 120 |
+
try:
|
| 121 |
+
self.lstm_model = loader_fn(model_path)
|
| 122 |
+
loaded = True
|
| 123 |
+
break
|
| 124 |
+
except Exception as e:
|
| 125 |
+
last_lstm_error = f"{name}: {str(e)}"
|
| 126 |
+
continue
|
| 127 |
|
| 128 |
if not loaded:
|
| 129 |
raise RuntimeError(f"Could not load LSTM model ({'h5' if is_h5 else 'zip'}): {last_lstm_error}")
|