bdtimuhammad commited on
Commit
7bda545
·
verified ·
1 Parent(s): 57051ea

Update loader.py

Browse files
Files changed (1) hide show
  1. loader.py +18 -28
loader.py CHANGED
@@ -1,36 +1,26 @@
1
  import torch
2
- import torchxrayvision
3
  import gc
 
4
 
5
  class ModelLoader:
6
  def __init__(self):
7
- self.active_model = None
 
8
 
9
- def clear_memory(self):
10
- """Clears the currently loaded model from memory."""
11
- if self.active_model is not None:
12
- del self.active_model
13
- self.active_model = None
14
- gc.collect()
15
- if torch.cuda.is_available():
16
- torch.cuda.empty_cache()
 
 
17
 
18
- def load_model(self):
19
- """Loads the X-Ray DenseNet model into memory (CPU)."""
20
- if self.active_model is not None:
21
- return self.active_model
22
 
23
- self.clear_memory()
24
- print("Loading X-Ray DenseNet model into memory (CPU)...")
25
-
26
- try:
27
- # We strictly use X-Ray DenseNet
28
- model = torchxrayvision.models.DenseNet(weights="densenet121-res224-all")
29
- model.eval()
30
- self.active_model = model
31
- print("X-Ray model loaded successfully.")
32
- return self.active_model
33
-
34
- except Exception as e:
35
- print(f"CRITICAL ERROR loading X-Ray model: {e}")
36
- return None
 
1
  import torch
 
2
  import gc
3
+ import open_clip
4
 
5
  class ModelLoader:
6
  def __init__(self):
7
+ self.biomed_model = None
8
+ self.preprocess = None
9
 
10
+ def load_biomed_clip(self):
11
+ """Universal Zero-Shot Auditor (BiomedCLIP)"""
12
+ if self.biomed_model is None:
13
+ print("🔄 Loading BiomedCLIP Auditor...")
14
+ model, _, preprocess = open_clip.create_model_and_transforms(
15
+ 'hf-hub:microsoft/BiomedCLIP-PubMedBERT_256-vit_base_patch16_224'
16
+ )
17
+ self.biomed_model = model.to("cuda").eval()
18
+ self.preprocess = preprocess
19
+ return self.biomed_model, self.preprocess
20
 
21
+ def clear_vram(self):
22
+ """Safety flush to prevent OOM during live demo."""
23
+ gc.collect()
24
+ torch.cuda.empty_cache()
25
 
26
+ loader = ModelLoader()