🚀 電影圖片字幕生成模型
該模型能夠以電影描述的風格為任意照片生成描述。它基於電影海報和相關描述進行學習,為用戶帶來趣味體驗。
🚀 快速開始
以下是使用該模型的示例代碼:
from PIL import Image
import torch
from transformers import AutoTokenizer, ViTFeatureExtractor, VisionEncoderDecoderModel
tokenizer = AutoTokenizer.from_pretrained("dumperize/movie-picture-captioning")
feature_extractor = ViTFeatureExtractor.from_pretrained("dumperize/movie-picture-captioning")
model = VisionEncoderDecoderModel.from_pretrained("dumperize/movie-picture-captioning")
max_length = 128
num_beams = 4
gen_kwargs = {"max_length": max_length, "num_beams": num_beams}
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
image_path = 'path/to/image.jpg';
image = Image.open(image_path)
image = image.resize([224,224])
if image.mode != "RGB":
image = image.convert(mode="RGB")
pixel_values = feature_extractor(images=[image], return_tensors="pt").pixel_values
pixel_values = pixel_values.to(device)
output_ids = model.generate(pixel_values, **gen_kwargs)
preds = tokenizer.batch_decode(output_ids, skip_special_tokens=True)
print([pred.strip() for pred in preds])
✨ 主要特性
- 能夠以電影描述的風格為照片生成描述。
- 基於特定的數據集進行訓練,生成具有特色的描述。
📚 詳細文檔
模型詳情
模型描述
這是一個基於 VisionEncoderDecoderModel 的編碼器 - 解碼器模型。編碼器使用了 Google/vit-base-patch16-224-in21k,解碼器使用了 DeepPavlov/rubert-base-cased。
該模型在俄羅斯應用程序 Kinoposk 的電影海報和描述數據集上進行了優化,現在能夠生成具有大片行話風格的描述。
模型來源
偏差、風險和侷限性
儘管該模型使用的訓練數據可以被認為是相當中立的,但該模型仍可能產生有偏差的預測。
訓練詳情
訓練數據
我們從 2022 年 10 月所有俄語電影的開源數據中編譯了一個數據集,來源為 kinopoisk。數據集中不包括描述非常短或非常長的電影,也排除了海報為空或非常小的電影。
預處理
該模型在 1x1080ti(11Gb)上訓練了近 24 小時。
評估
該模型取得了以下評估結果:sacrebleu 6.84
評估指標
我們使用了 sacrebleu 指標進行評估。
📄 許可證
本模型採用 Apache-2.0 許可證。
屬性 |
詳情 |
模型類型 |
圖像轉文本模型 |
評估指標 |
BLEU、sacrebleu |
訓練數據 |
從 2022 年 10 月所有俄語電影的開源數據中編譯的數據集,排除了描述非常短或非常長的電影,以及海報為空或非常小的電影 |