许可证: mit
语言:
- 英文
标签:
- 医疗
- 视觉
小部件示例:
- 图片链接: "https://huggingface.co/flaviagiammarino/pubmed-clip-vit-base-patch32/resolve/main/scripts/input.jpeg"
候选标签: "胸部X光片, 脑部核磁共振, 腹部CT扫描"
示例标题: "腹部CT扫描"
PubMedCLIP模型卡
PubMedCLIP是针对医疗领域微调的CLIP模型版本。
模型描述
PubMedCLIP基于放射学上下文对象(ROCO)数据集训练,这是一个大规模多模态医学影像数据集。
ROCO数据集包含来自开放获取PubMed文章的各种成像模态(如X光、核磁共振、超声、荧光透视等)和人体部位(如头部、脊柱、胸部、腹部等)。
PubMedCLIP使用Adam优化器(学习率10−5),以64的批量大小训练了50个周期。
作者在此链接发布了三种预训练模型,分别采用ResNet-50、ResNet-50x4和ViT32作为图像编码器。本仓库仅包含PubMedCLIP的ViT32变体。
使用方式
import requests
from PIL import Image
import matplotlib.pyplot as plt
from transformers import CLIPProcessor, CLIPModel
model = CLIPModel.from_pretrained("flaviagiammarino/pubmed-clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("flaviagiammarino/pubmed-clip-vit-base-patch32")
url = "https://huggingface.co/flaviagiammarino/pubmed-clip-vit-base-patch32/resolve/main/scripts/input.jpeg"
image = Image.open(requests.get(url, stream=True).raw)
text = ["胸部X光片", "脑部核磁共振", "腹部CT扫描"]
inputs = processor(text=text, images=image, return_tensors="pt", padding=True)
probs = model(**inputs).logits_per_image.softmax(dim=1).squeeze()
plt.subplots()
plt.imshow(image)
plt.title("".join([x[0] + ": " + x[1] + "\n" for x in zip(text, [format(prob, ".4%") for prob in probs])]))
plt.axis("off")
plt.tight_layout()
plt.show()

补充信息
许可声明
作者根据MIT许可证发布了模型代码和预训练权重。
引用信息
@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}
}