Views
No views yet
pip install torch transformers datasets pillow1import torch
2from transformers import CLIPVisionModel, CLIPProcessor
3from PIL import Image
4
5# Tải vision encoder và CLIP processor
6vision_model = CLIPVisionModel.from_pretrained("zhaospei/Model_11")
7processor = CLIPProcessor.from_pretrained("zhaospei/Model_10")
8
9# Chuẩn bị ảnh MNIST (28×28)
10img = Image.open("path_to_mnist_digit.png").convert("L") # ảnh xám
11img = img.resize((224, 224)).convert("RGB") # mở rộng thành RGB 3 kênh
12
13inputs = processor(images=img, return_tensors="pt")
14
15# Lấy embedding từ ảnh
16with torch.no_grad():
17 vision_outputs = vision_model(**inputs)
18
19image_embeds = vision_outputs.last_hidden_state[:, 0, :] # CLS token embedding
20print("Image embedding shape:", image_embeds.shape)1from transformers import CLIPModel
2
3# Tải CLIP đầy đủ
4clip = CLIPModel.from_pretrained("zhaospei/Model_11")
5# Thay thành encoder đã fine-tune
6clip.vision_model.load_state_dict(vision_model.vision_model.state_dict())
7
8# Ví dụ zero-shot MNIST
9from PIL import Image
10img = Image.open("path_to_mnist_digit.png").convert("L").resize((224, 224)).convert("RGB")
11texts = [str(i) for i in range(10)]
12
13inputs = processor(text=texts, images=img, return_tensors="pt", padding=True)
14with torch.no_grad():
15 outputs = clip(**inputs)
16
17probs = outputs.logits_per_image.softmax(dim=1)[0]
18print({texts[i]: float(probs[i]) for i in range(10)})