项目介绍:clip-japanese-base
clip-japanese-base是一个由LY公司开发的日语版CLIP模型,即对比语言图像预训练模型。此模型经过约10亿对网络收集的图像-文本数据进行训练,能够处理诸多视觉任务,例如零样本图像分类、文本到图像检索以及图像到文本检索等。
如何使用
如果用户想使用这个模型,首先需要安装一些必要的Python包:
pip install pillow requests sentencepiece transformers torch timm
使用代码如下:
import io
import requests
from PIL import Image
import torch
from transformers import AutoImageProcessor, AutoModel, AutoTokenizer
HF_MODEL_PATH = 'line-corporation/clip-japanese-base'
device = "cuda" if torch.cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained(HF_MODEL_PATH, trust_remote_code=True)
processor = AutoImageProcessor.from_pretrained(HF_MODEL_PATH, trust_remote_code=True)
model = AutoModel.from_pretrained(HF_MODEL_PATH, trust_remote_code=True).to(device)
image = Image.open(io.BytesIO(requests.get('https://images.pexels.com/photos/2253275/pexels-photo-2253275.jpeg?auto=compress&cs=tinysrgb&dpr=3&h=750&w=1260').content))
image = processor(image, return_tensors="pt").to(device)
text = tokenizer(["犬", "猫", "象"]).to(device)
with torch.no_grad():
image_features = model.get_image_features(**image)
text_features = model.get_text_features(**text)
text_probs = (100.0 * image_features @ text_features.T).softmax(dim=-1)
print("Label probs:", text_probs)
# [[1., 0., 0.]]
以上代码通过一个示例说明了如何使用模型进行图像与文本的特征提取与匹配。
模型架构
clip-japanese-base在架构上采用Eva02-B作为图像编码器,而文本编码器则使用一个12层的BERT模型,该模型的初始化自rinna/japanese-clip-vit-b-16。
性能评估
数据集
模型性能评估中使用了以下数据集:
- STAIR Captions:用于图像到文本(i2t)以及文本到图像(t2i)的检索,通过R@1衡量检索的平均召回率。
- Recruit Datasets:用于图像分类。
- ImageNet-1K:用于图像分类,类别名称已翻译为日语,具体可以在ja-imagenet-1k-classnames.txt与ja-imagenet-1k-templates.txt查找。
结果
模型 | 图像编码器参数 | 文本编码器参数 | STAIR Captions (R@1) | Recruit Datasets (acc@1) | ImageNet-1K (acc@1) |
---|---|---|---|---|---|
我们的模型 | 86M (Eva02-B) | 100M (BERT) | 0.30 | 0.89 | 0.58 |
Stable-ja-clip | 307M (ViT-L) | 100M (BERT) | 0.24 | 0.77 | 0.68 |
Rinna-ja-clip | 86M (ViT-B) | 100M (BERT) | 0.13 | 0.54 | 0.56 |
Laion-clip | 632M (ViT-H) | 561M (XLM-RoBERTa) | 0.30 | 0.83 | 0.58 |
Hakuhodo-ja-clip | 632M (ViT-H) | 100M (BERT) | 0.21 | 0.82 | 0.46 |
开源许可
clip-japanese-base项目遵循Apache 2.0许可协议,这意味着该模型可以在商业项目中使用,前提是必须遵循相应的许可规定。