🚀 圖像描述生成模型
本項目是一個圖像描述生成模型,可實現圖像到文本的轉換,適用於圖像描述生成等場景。支持印尼語和英語兩種語言,使用了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 模型
支持的語言
評估指標