Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -41,10 +41,11 @@ class Phi3WithImage(torch.nn.Module):
|
|
| 41 |
super().__init__()
|
| 42 |
self.phi3 = AutoModelForCausalLM.from_pretrained(
|
| 43 |
phi3_model_name,
|
| 44 |
-
torch_dtype=torch.bfloat16,
|
|
|
|
| 45 |
device_map="auto",
|
| 46 |
trust_remote_code=True,
|
| 47 |
-
quantization_config=bnb_config
|
| 48 |
)
|
| 49 |
self.image_encoder = image_encoder
|
| 50 |
self.image_embed_dim = image_embed_dim
|
|
@@ -114,12 +115,20 @@ image_transform = transforms.Compose([
|
|
| 114 |
image_encoder = SigLIPImageEncoder(model_name=image_model_name, embed_dim=image_embed_dim, pretrained_path=siglip_pretrained_path).to(device)
|
| 115 |
#model = Phi3WithImage(phi3_model_name, lora_model_path, image_encoder, image_embed_dim, bnb_config=bnb_config).to(device)
|
| 116 |
model = Phi3WithImage(phi3_model_name, image_encoder, image_embed_dim, bnb_config=bnb_config).to(device)
|
| 117 |
-
model.phi3 = prepare_model_for_kbit_training(model.phi3)
|
| 118 |
|
| 119 |
# Load LoRA model
|
| 120 |
model.phi3 = PeftModel.from_pretrained(model.phi3, lora_model_path, device_map="auto", offload_dir='./offload')
|
| 121 |
model.phi3 = model.phi3.merge_and_unload()
|
|
|
|
|
|
|
| 122 |
#model.phi3 = PeftModel.from_pretrained(model.phi3, lora_model_path, device_map="auto")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 123 |
model.eval() # Set to evaluation mode
|
| 124 |
|
| 125 |
# 3. Inference Function
|
|
|
|
| 41 |
super().__init__()
|
| 42 |
self.phi3 = AutoModelForCausalLM.from_pretrained(
|
| 43 |
phi3_model_name,
|
| 44 |
+
#torch_dtype=torch.bfloat16,
|
| 45 |
+
torch_dtype=torch.float32,
|
| 46 |
device_map="auto",
|
| 47 |
trust_remote_code=True,
|
| 48 |
+
#quantization_config=bnb_config
|
| 49 |
)
|
| 50 |
self.image_encoder = image_encoder
|
| 51 |
self.image_embed_dim = image_embed_dim
|
|
|
|
| 115 |
image_encoder = SigLIPImageEncoder(model_name=image_model_name, embed_dim=image_embed_dim, pretrained_path=siglip_pretrained_path).to(device)
|
| 116 |
#model = Phi3WithImage(phi3_model_name, lora_model_path, image_encoder, image_embed_dim, bnb_config=bnb_config).to(device)
|
| 117 |
model = Phi3WithImage(phi3_model_name, image_encoder, image_embed_dim, bnb_config=bnb_config).to(device)
|
| 118 |
+
#model.phi3 = prepare_model_for_kbit_training(model.phi3)
|
| 119 |
|
| 120 |
# Load LoRA model
|
| 121 |
model.phi3 = PeftModel.from_pretrained(model.phi3, lora_model_path, device_map="auto", offload_dir='./offload')
|
| 122 |
model.phi3 = model.phi3.merge_and_unload()
|
| 123 |
+
model.phi3.save_pretrained("merged_model_fp16")
|
| 124 |
+
|
| 125 |
#model.phi3 = PeftModel.from_pretrained(model.phi3, lora_model_path, device_map="auto")
|
| 126 |
+
model.phi3 = AutoModelForCausalLM.from_pretrained(
|
| 127 |
+
"merged_model_fp16",
|
| 128 |
+
quantization_config=bnb_config,
|
| 129 |
+
torch_dtype=torch.bfloat16,
|
| 130 |
+
device_map="auto"
|
| 131 |
+
)
|
| 132 |
model.eval() # Set to evaluation mode
|
| 133 |
|
| 134 |
# 3. Inference Function
|