Spaces:
Runtime error
Runtime error
Fix: use enable_unsafe_deserialization for MobileNetV3 loading
Browse files
app.py
CHANGED
|
@@ -111,22 +111,14 @@ def preprocess_image(img_array: np.ndarray, mode: str) -> np.ndarray:
|
|
| 111 |
# dikenali agar load_model tidak error.
|
| 112 |
import keras
|
| 113 |
|
| 114 |
-
# Fix MobileNetV3 hard_swish:
|
| 115 |
-
# positional arg
|
| 116 |
-
#
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
if isinstance(arg, (int, float)):
|
| 123 |
-
new_args.append(tf.constant(arg))
|
| 124 |
-
else:
|
| 125 |
-
new_args.append(arg)
|
| 126 |
-
return _original_layer_call(self, *tuple(new_args), **kwargs)
|
| 127 |
-
|
| 128 |
-
keras.layers.Layer.__call__ = _patched_layer_call
|
| 129 |
-
logger.info("Patched Layer.__call__ for MobileNetV3 compat")
|
| 130 |
|
| 131 |
|
| 132 |
_OriginalDense = keras.layers.Dense
|
|
|
|
| 111 |
# dikenali agar load_model tidak error.
|
| 112 |
import keras
|
| 113 |
|
| 114 |
+
# Fix MobileNetV3 hard_swish: deserialization gagal karena 3.0 dipass
|
| 115 |
+
# sebagai positional arg. enable_unsafe_deserialization() menonaktifkan
|
| 116 |
+
# validasi ketat saat reconstruct model dari config.
|
| 117 |
+
try:
|
| 118 |
+
keras.config.enable_unsafe_deserialization()
|
| 119 |
+
logger.info("Enabled unsafe deserialization for MobileNetV3 compat")
|
| 120 |
+
except AttributeError:
|
| 121 |
+
logger.warning("keras.config.enable_unsafe_deserialization not available")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 122 |
|
| 123 |
|
| 124 |
_OriginalDense = keras.layers.Dense
|