Views
No views yet
google/siglip2-base-patch16-512 (Frozen)Qwen/Qwen3-1.7B (LoRA Fine-tuned)model_architecture.py) which is included in the repository. You must load the architecture class before loading the weights.1import torch
2from transformers import AutoTokenizer
3from huggingface_hub import hf_hub_download
4from model_architecture import MultiModalQwen, MMConfig
5from PIL import Image
6from torchvision import transforms
7
8# 1. Initialize Configuration & Model
9cfg = MMConfig()
10model = MultiModalQwen(cfg)
11
12# 2. Download and Load Weights
13ckpt_path = hf_hub_download(repo_id="SatyaJaiss/SigLIP-Qwen-1.7B-COCO-Captioner", filename="pytorch_model.bin")
14
15state_dict = torch.load(ckpt_path, map_location="cpu")
16model.load_state_dict(state_dict)
17model.to("cuda").eval()
18
19# 3. Load Tokenizer
20tokenizer = AutoTokenizer.from_pretrained("SatyaJaiss/SigLIP-Qwen-1.7B-COCO-Captioner")
21
22# 4. Prepare Image
23image_path = "path/to/your/image.jpg"
24image = Image.open(image_path).convert("RGB")
25
26transform = transforms.Compose([
27 transforms.Resize((512, 512)),
28 transforms.ToTensor(),
29 transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])
30])
31pixel_values = transform(image).unsqueeze(0).to("cuda").bfloat16()
32
33# 5. Generate Caption
34prompts = ["Caption: "]
35inputs = tokenizer(prompts, return_tensors="pt").to("cuda")
36
37with torch.no_grad():
38 gen_ids = model.generate(
39 pixel_values=pixel_values,
40 input_ids=inputs.input_ids,
41 attention_mask=inputs.attention_mask,
42 max_new_tokens=30,
43 do_sample=False
44 )
45
46print(tokenizer.decode(gen_ids[0], skip_special_tokens=True))