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())
|