Kian Kyars commited on
Commit
5c65737
·
1 Parent(s): fc14fba

Add error handling and fallback device mapping for model loading

Browse files
Files changed (1) hide show
  1. app.py +44 -13
app.py CHANGED
@@ -72,23 +72,54 @@ class Model:
72
  def load_models(self):
73
  import os
74
  os.environ["TOKENIZERS_PARALLELISM"] = "false"
 
75
 
76
- self.colqwen2_model = ColQwen2.from_pretrained(
77
- "vidore/colqwen2-v0.1",
78
- torch_dtype=torch.bfloat16,
79
- device_map="cuda:0",
80
- trust_remote_code=True,
81
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  self.colqwen2_processor = ColQwen2Processor.from_pretrained(
83
  "vidore/colqwen2-v0.1"
84
  )
85
- self.qwen2_vl_model = Qwen2VLForConditionalGeneration.from_pretrained(
86
- MODEL_NAME,
87
- revision=MODEL_REVISION,
88
- torch_dtype=torch.bfloat16,
89
- trust_remote_code=True,
90
- )
91
- self.qwen2_vl_model.to("cuda:0")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  self.qwen2_vl_processor = AutoProcessor.from_pretrained(
93
  MODEL_NAME,
94
  revision=MODEL_REVISION,
 
72
  def load_models(self):
73
  import os
74
  os.environ["TOKENIZERS_PARALLELISM"] = "false"
75
+ os.environ["TRANSFORMERS_OFFLINE"] = "0"
76
 
77
+ # Load ColQwen2 with explicit configuration
78
+ try:
79
+ self.colqwen2_model = ColQwen2.from_pretrained(
80
+ "vidore/colqwen2-v0.1",
81
+ torch_dtype=torch.bfloat16,
82
+ device_map="auto",
83
+ trust_remote_code=True,
84
+ low_cpu_mem_usage=True,
85
+ )
86
+ except Exception as e:
87
+ print(f"Error loading ColQwen2: {e}")
88
+ # Fallback to CPU loading then move to GPU
89
+ self.colqwen2_model = ColQwen2.from_pretrained(
90
+ "vidore/colqwen2-v0.1",
91
+ torch_dtype=torch.bfloat16,
92
+ device_map=None,
93
+ trust_remote_code=True,
94
+ )
95
+ self.colqwen2_model = self.colqwen2_model.to("cuda:0")
96
+
97
  self.colqwen2_processor = ColQwen2Processor.from_pretrained(
98
  "vidore/colqwen2-v0.1"
99
  )
100
+
101
+ # Load Qwen2-VL with explicit configuration
102
+ try:
103
+ self.qwen2_vl_model = Qwen2VLForConditionalGeneration.from_pretrained(
104
+ MODEL_NAME,
105
+ revision=MODEL_REVISION,
106
+ torch_dtype=torch.bfloat16,
107
+ trust_remote_code=True,
108
+ device_map="auto",
109
+ low_cpu_mem_usage=True,
110
+ )
111
+ except Exception as e:
112
+ print(f"Error loading Qwen2VL: {e}")
113
+ # Fallback approach
114
+ self.qwen2_vl_model = Qwen2VLForConditionalGeneration.from_pretrained(
115
+ MODEL_NAME,
116
+ revision=MODEL_REVISION,
117
+ torch_dtype=torch.bfloat16,
118
+ trust_remote_code=True,
119
+ device_map=None,
120
+ )
121
+ self.qwen2_vl_model = self.qwen2_vl_model.to("cuda:0")
122
+
123
  self.qwen2_vl_processor = AutoProcessor.from_pretrained(
124
  MODEL_NAME,
125
  revision=MODEL_REVISION,