atasoglu/flickr8k-dataset
Updated • 155 • 2
How to use atasoglu/vit-bert-flickr8k with Transformers:
# Use a pipeline as a high-level helper
# Warning: Pipeline type "image-to-text" is no longer supported in transformers v5.
# You must load the model directly (see below) or downgrade to v4.x with:
# 'pip install "transformers<5.0.0'
from transformers import pipeline
pipe = pipeline("image-to-text", model="atasoglu/vit-bert-flickr8k") # Load model directly
from transformers import AutoTokenizer, AutoModelForImageTextToText
tokenizer = AutoTokenizer.from_pretrained("atasoglu/vit-bert-flickr8k")
model = AutoModelForImageTextToText.from_pretrained("atasoglu/vit-bert-flickr8k")Vision Encoder Decoder (ViT + BERT) model that fine-tuned on flickr8k-dataset for image-to-text task.
Example:
from transformers import VisionEncoderDecoderModel, ViTImageProcessor, BertTokenizer
import torch
from PIL import Image
# load models
feature_extractor = ViTImageProcessor.from_pretrained("atasoglu/vit-bert-flickr8k")
tokenizer = BertTokenizer.from_pretrained("atasoglu/vit-bert-flickr8k")
model = VisionEncoderDecoderModel.from_pretrained("atasoglu/vit-bert-flickr8k")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
# load image
img = Image.open("example.jpg")
# encode (extracting features)
pixel_values = feature_extractor(images=[img], return_tensors="pt").pixel_values
pixel_values = pixel_values.to(device)
# generate caption
output_ids = model.generate(pixel_values)
# decode
preds = tokenizer.batch_decode(output_ids, skip_special_tokens=True)
print(preds)