Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
|
@@ -85,25 +85,32 @@ def reload_models_task(model_choices):
|
|
| 85 |
|
| 86 |
# Replace old models with new ones atomically
|
| 87 |
with MODEL_LOCK:
|
| 88 |
-
#
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
try:
|
| 92 |
-
del LOADED_MODELS[model_name]
|
| 93 |
-
except:
|
| 94 |
-
pass
|
| 95 |
-
if model_name in LOADED_TOKENIZERS:
|
| 96 |
-
try:
|
| 97 |
-
del LOADED_TOKENIZERS[model_name]
|
| 98 |
-
except:
|
| 99 |
-
pass
|
| 100 |
|
| 101 |
-
# Clear
|
| 102 |
-
|
|
|
|
| 103 |
|
| 104 |
# Update with new models
|
| 105 |
LOADED_MODELS.update(new_models)
|
| 106 |
LOADED_TOKENIZERS.update(new_tokenizers)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
|
| 108 |
print(f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] Model reload completed")
|
| 109 |
|
|
|
|
| 85 |
|
| 86 |
# Replace old models with new ones atomically
|
| 87 |
with MODEL_LOCK:
|
| 88 |
+
# Store old models for cleanup
|
| 89 |
+
old_models = LOADED_MODELS.copy()
|
| 90 |
+
old_tokenizers = LOADED_TOKENIZERS.copy()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
|
| 92 |
+
# Clear the dictionaries
|
| 93 |
+
LOADED_MODELS.clear()
|
| 94 |
+
LOADED_TOKENIZERS.clear()
|
| 95 |
|
| 96 |
# Update with new models
|
| 97 |
LOADED_MODELS.update(new_models)
|
| 98 |
LOADED_TOKENIZERS.update(new_tokenizers)
|
| 99 |
+
|
| 100 |
+
# Delete old model references
|
| 101 |
+
for model_name in old_models:
|
| 102 |
+
try:
|
| 103 |
+
del old_models[model_name]
|
| 104 |
+
except:
|
| 105 |
+
pass
|
| 106 |
+
for tokenizer_name in old_tokenizers:
|
| 107 |
+
try:
|
| 108 |
+
del old_tokenizers[tokenizer_name]
|
| 109 |
+
except:
|
| 110 |
+
pass
|
| 111 |
+
|
| 112 |
+
# Clear memory
|
| 113 |
+
clear_memory()
|
| 114 |
|
| 115 |
print(f"[{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] Model reload completed")
|
| 116 |
|