Views
No views yet
1from transformers import VisionEncoderDecoderModel, ViTImageProcessor, BertTokenizer
2import torch
3from PIL import Image
4
5# load models
6feature_extractor = ViTImageProcessor.from_pretrained("atasoglu/vit-bert-flickr8k")
7tokenizer = BertTokenizer.from_pretrained("atasoglu/vit-bert-flickr8k")
8model = VisionEncoderDecoderModel.from_pretrained("atasoglu/vit-bert-flickr8k")
9
10device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
11model.to(device)
12
13# load image
14img = Image.open("example.jpg")
15
16# encode (extracting features)
17pixel_values = feature_extractor(images=[img], return_tensors="pt").pixel_values
18pixel_values = pixel_values.to(device)
19
20# generate caption
21output_ids = model.generate(pixel_values)
22
23# decode
24preds = tokenizer.batch_decode(output_ids, skip_special_tokens=True)
25print(preds)