🚀 SigLIP (基礎尺寸模型)
SigLIP是一個預訓練模型,在224x224分辨率的WebLi數據集上進行訓練。它能用於零樣本圖像分類和圖像 - 文本檢索等任務,為多模態處理帶來了更優的損失函數,提升了性能。
🚀 快速開始
SigLIP是具有更好損失函數的CLIP多模態模型。Sigmoid損失僅對圖像 - 文本對進行操作,無需對成對相似度進行全局歸一化,這使得在擴大批量大小的同時,在小批量下也能有更好的表現。
你可以使用原始模型進行零樣本圖像分類和圖像 - 文本檢索等任務。更多版本可在模型中心查找。
✨ 主要特性
- SigLIP採用了更優的Sigmoid損失函數,操作僅基於圖像 - 文本對,無需全局歸一化,可進一步擴大批量大小,小批量下表現也佳。
- 可用於零樣本圖像分類和圖像 - 文本檢索等任務。
📦 安裝指南
文檔中未提及安裝相關內容,可參考Hugging Face的通用安裝指南進行環境準備。
💻 使用示例
基礎用法
以下是使用該模型進行零樣本圖像分類的示例代碼:
from PIL import Image
import requests
from transformers import AutoProcessor, AutoModel
import torch
model = AutoModel.from_pretrained("google/siglip-base-patch16-224")
processor = AutoProcessor.from_pretrained("google/siglip-base-patch16-224")
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
texts = ["a photo of 2 cats", "a photo of 2 dogs"]
inputs = processor(text=texts, images=image, padding="max_length", return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
probs = torch.sigmoid(logits_per_image)
print(f"{probs[0][0]:.1%} that image 0 is '{texts[0]}'")
高級用法
使用pipeline API進行零樣本圖像分類,簡化操作:
from transformers import pipeline
from PIL import Image
import requests
image_classifier = pipeline(task="zero-shot-image-classification", model="google/siglip-base-patch16-224")
url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)
outputs = image_classifier(image, candidate_labels=["2 cats", "a plane", "a remote"])
outputs = [{"score": round(output["score"], 4), "label": output["label"] } for output in outputs]
print(outputs)
更多代碼示例可參考文檔。
📚 詳細文檔
模型描述
SigLIP是一種多模態模型,它改進了CLIP的損失函數。Sigmoid損失僅在圖像 - 文本對上操作,無需對成對相似度進行全局歸一化,這使得在擴大批量大小的同時,在小批量下也能有更好的表現。作者之一對SigLIP的簡要總結可點擊此處查看。
預期用途和限制
可使用原始模型進行零樣本圖像分類和圖像 - 文本檢索等任務。可在模型中心查找其他版本。
訓練過程
訓練數據
SigLIP在WebLI數據集的英文圖像 - 文本對上進行預訓練(Chen et al., 2023)。
預處理
圖像被調整/縮放至相同分辨率(224x224),並在RGB通道上進行歸一化,均值為(0.5, 0.5, 0.5),標準差為(0.5, 0.5, 0.5)。文本被分詞並填充到相同長度(64個標記)。
計算資源
模型在16個TPU - v4芯片上訓練了三天。
評估結果
SigLIP與CLIP的評估對比結果如下(取自論文):

BibTeX引用和引用信息
@misc{zhai2023sigmoid,
title={Sigmoid Loss for Language Image Pre-Training},
author={Xiaohua Zhai and Basil Mustafa and Alexander Kolesnikov and Lucas Beyer},
year={2023},
eprint={2303.15343},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
📄 許可證
本模型採用Apache 2.0許可證。