Spaces:
Running
on
Zero
Running
on
Zero
Upload 2 files
Browse files- clip_analyzer.py +6 -0
- clip_model_manager.py +9 -0
clip_analyzer.py
CHANGED
|
@@ -44,6 +44,12 @@ class CLIPAnalyzer:
|
|
| 44 |
)
|
| 45 |
self.tokenizer = open_clip.get_tokenizer(model_name)
|
| 46 |
print(f"OpenCLIP model loaded successfully.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
except Exception as e:
|
| 48 |
print(f"Error loading OpenCLIP model: {e}")
|
| 49 |
raise
|
|
|
|
| 44 |
)
|
| 45 |
self.tokenizer = open_clip.get_tokenizer(model_name)
|
| 46 |
print(f"OpenCLIP model loaded successfully.")
|
| 47 |
+
import gc
|
| 48 |
+
gc.collect()
|
| 49 |
+
if torch.cuda.is_available():
|
| 50 |
+
torch.cuda.empty_cache()
|
| 51 |
+
torch.cuda.synchronize()
|
| 52 |
+
print("Memory cleanup completed after OpenCLIP loading.")
|
| 53 |
except Exception as e:
|
| 54 |
print(f"Error loading OpenCLIP model: {e}")
|
| 55 |
raise
|
clip_model_manager.py
CHANGED
|
@@ -48,6 +48,15 @@ class CLIPModelManager:
|
|
| 48 |
)
|
| 49 |
self.tokenizer = open_clip.get_tokenizer(self.model_name)
|
| 50 |
self.logger.info("Successfully loaded OpenCLIP model")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
except Exception as e:
|
| 52 |
self.logger.error(f"Error loading CLIP model: {e}")
|
| 53 |
self.logger.error(traceback.format_exc())
|
|
|
|
| 48 |
)
|
| 49 |
self.tokenizer = open_clip.get_tokenizer(self.model_name)
|
| 50 |
self.logger.info("Successfully loaded OpenCLIP model")
|
| 51 |
+
|
| 52 |
+
# 立即清理 OpenCLIP 載入過程中的記憶體碎片
|
| 53 |
+
import gc
|
| 54 |
+
gc.collect()
|
| 55 |
+
if torch.cuda.is_available():
|
| 56 |
+
torch.cuda.empty_cache()
|
| 57 |
+
torch.cuda.synchronize()
|
| 58 |
+
self.logger.info("Memory cleanup completed after OpenCLIP loading in CLIPModelManager")
|
| 59 |
+
|
| 60 |
except Exception as e:
|
| 61 |
self.logger.error(f"Error loading CLIP model: {e}")
|
| 62 |
self.logger.error(traceback.format_exc())
|