🚀 图像描述生成模型
本项目是一个图像描述生成模型,可实现图像到文本的转换,适用于图像描述生成等场景。支持印尼语和英语两种语言,使用了BLEU和ROUGE等评估指标。
🚀 快速开始
依赖安装
确保你已经安装了所需的库,你可以使用以下命令进行安装:
pip install transformers torch pillow
代码运行
以下是一个简单的运行示例,展示了如何使用预训练模型进行图像描述生成:
from transformers import VisionEncoderDecoderModel, ViTImageProcessor, GPT2Tokenizer
import torch
from PIL import Image
model = VisionEncoderDecoderModel.from_pretrained("evlinzxxx/best_model_ViTB16_GPT2")
feature_extractor = ViTImageProcessor.from_pretrained("evlinzxxx/best_model_ViTB16_GPT2")
tokenizer = GPT2Tokenizer.from_pretrained("evlinzxxx/best_model_ViTB16_GPT2")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
def show_image_and_captions(url):
display(load_image(url))
our_caption = get_caption(model, image_processor, tokenizer, url)
print(f"Our caption: {our_caption}")
show_image_and_captions("/content/drive/MyDrive/try/test_400/gl_16.jpg")
✨ 主要特性
- 多语言支持:支持印尼语(id)和英语(en)两种语言。
- 评估指标:使用BLEU和ROUGE等评估指标来评估模型性能。
- 模型架构:采用Vision Transformer(ViT-B/16)作为编码器,结合GPT2作为解码器。
📦 安装指南
你可以使用以下命令安装所需的依赖库:
pip install transformers torch pillow
💻 使用示例
基础用法
from transformers import VisionEncoderDecoderModel, ViTImageProcessor, GPT2Tokenizer
import torch
from PIL import Image
model = VisionEncoderDecoderModel.from_pretrained("evlinzxxx/best_model_ViTB16_GPT2")
feature_extractor = ViTImageProcessor.from_pretrained("evlinzxxx/best_model_ViTB16_GPT2")
tokenizer = GPT2Tokenizer.from_pretrained("evlinzxxx/best_model_ViTB16_GPT2")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
def show_image_and_captions(url):
display(load_image(url))
our_caption = get_caption(model, image_processor, tokenizer, url)
print(f"Our caption: {our_caption}")
show_image_and_captions("/content/drive/MyDrive/try/test_400/gl_16.jpg")
📚 详细文档
模型信息
属性 |
详情 |
模型类型 |
VisionEncoderDecoderModel(ViT-B/16 + GPT2) |
训练数据 |
暂未提供 |
支持的标签
- 图像到文本转换(image-to-text)
- 图像描述生成(image-captioning)
- 视觉Transformer(vision-transformer)
- ViT-B/16 模型
支持的语言
评估指标