Views
No views yet
1from transformers import CLIPProcessor, CLIPModel, CLIPConfig
2from PIL import Image
3import requests
4import torch
5
6model_id = "yujiepan/clip-vit-tiny-random-patch14-336"
7model = CLIPModel.from_pretrained(model_id).cuda()
8processor = CLIPProcessor.from_pretrained(model_id)
9
10url = "https://assets-c4akfrf5b4d3f4b7.z01.azurefd.net/assets/2024/04/BMDataViz_661fb89f3845e.png"
11image = Image.open(requests.get(url, stream=True).raw)
12text = "A description of the image"
13inputs = processor(text=[text], images=image, return_tensors="pt", padding=True).to("cuda")
14with torch.no_grad():
15 outputs = model(**inputs)
16logits_per_image = outputs.logits_per_image # shape: [batch_size, num_texts]
17logits_per_text = outputs.logits_per_text # shape: [batch_size, num_images]
18probs = logits_per_image.softmax(dim=1) # shape: [batch_size, num_texts]
19print(probs)1from transformers import CLIPProcessor, CLIPModel, CLIPConfig
2from PIL import Image
3import requests
4import torch
5
6model_name = "openai/clip-vit-large-patch14-336"
7config = CLIPConfig.from_pretrained(model_name)
8config = config.to_dict()
9config["projection_dim"] = 8
10config["text_config"]["hidden_size"] = 8
11config["text_config"]["projection_dim"] = 8
12config["text_config"]["intermediate_size"] = 16
13config["text_config"]["num_hidden_layers"] = 2
14config["text_config"]["num_attention_heads"] = 2
15config["vision_config"]["hidden_size"] = 8
16config["vision_config"]["projection_dim"] = 8
17config["vision_config"]["intermediate_size"] = 16
18config["vision_config"]["num_hidden_layers"] = 2
19config["vision_config"]["num_attention_heads"] = 2
20config = CLIPConfig.from_dict(config)
21model = CLIPModel(config).half().cuda()
22processor = CLIPProcessor.from_pretrained(model_name)
23
24url = "https://assets-c4akfrf5b4d3f4b7.z01.azurefd.net/assets/2024/04/BMDataViz_661fb89f3845e.png"
25image = Image.open(requests.get(url, stream=True).raw)
26text = "A description of the image"
27inputs = processor(text=[text], images=image, return_tensors="pt", padding=True).to("cuda")
28with torch.no_grad():
29 outputs = model(**inputs)
30logits_per_image = outputs.logits_per_image # shape: [batch_size, num_texts]
31logits_per_text = outputs.logits_per_text # shape: [batch_size, num_images]
32probs = logits_per_image.softmax(dim=1) # shape: [batch_size, num_texts]
33print(probs)
34
35model.push_to_hub("yujiepan/clip-vit-tiny-random-patch14-336")
36processor.push_to_hub("yujiepan/clip-vit-tiny-random-patch14-336")