Views
No views yet
1import requests
2from PIL import Image
3import matplotlib.pyplot as plt
4
5from transformers import CLIPProcessor, CLIPModel
6
7model = CLIPModel.from_pretrained("flaviagiammarino/pubmed-clip-vit-base-patch32")
8processor = CLIPProcessor.from_pretrained("flaviagiammarino/pubmed-clip-vit-base-patch32")
9
10url = "https://huggingface.co/flaviagiammarino/pubmed-clip-vit-base-patch32/resolve/main/scripts/input.jpeg"
11image = Image.open(requests.get(url, stream=True).raw)
12text = ["Chest X-Ray", "Brain MRI", "Abdominal CT Scan"]
13
14inputs = processor(text=text, images=image, return_tensors="pt", padding=True)
15probs = model(**inputs).logits_per_image.softmax(dim=1).squeeze()
16
17plt.subplots()
18plt.imshow(image)
19plt.title("".join([x[0] + ": " + x[1] + "\n" for x in zip(text, [format(prob, ".4%") for prob in probs])]))
20plt.axis("off")
21plt.tight_layout()
22plt.show()
@article{eslami2021does,
title={Does clip benefit visual question answering in the medical domain as much as it does in the general domain?},
author={Eslami, Sedigheh and de Melo, Gerard and Meinel, Christoph},
journal={arXiv preprint arXiv:2112.13906},
year={2021}
}