Views
No views yet
1from transformers import BridgeTowerProcessor, BridgeTowerForContrastiveLearning
2import requests
3from PIL import Image
4import torch
5
6image_urls = [
7 "https://farm4.staticflickr.com/3395/3428278415_81c3e27f15_z.jpg",
8 "http://images.cocodataset.org/val2017/000000039769.jpg"]
9texts = [
10 "two dogs in a car",
11 "two cats sleeping on a couch"]
12images = [Image.open(requests.get(url, stream=True).raw) for url in image_urls]
13
14processor = BridgeTowerProcessor.from_pretrained("BridgeTower/bridgetower-large-itm-mlm")
15model = BridgeTowerForContrastiveLearning.from_pretrained("BridgeTower/bridgetower-large-itm-mlm-itc")
16
17inputs = processor(images, texts, padding=True, return_tensors="pt")
18outputs = model(**inputs)
19
20inputs = processor(images, texts[::-1], padding=True, return_tensors="pt")
21outputs_swapped = model(**inputs)
22
23print('Loss', outputs.loss.item())
24# Loss 0.00191505195107311
25print('Loss with swapped images', outputs_swapped.loss.item())
26# Loss with swapped images 2.1259872913360596 1from transformers import BridgeTowerProcessor, BridgeTowerForImageAndTextRetrieval
2import requests
3from PIL import Image
4
5url = "http://images.cocodataset.org/val2017/000000039769.jpg"
6image = Image.open(requests.get(url, stream=True).raw)
7texts = ["An image of two cats chilling on a couch", "A football player scoring a goal"]
8
9processor = BridgeTowerProcessor.from_pretrained("BridgeTower/bridgetower-large-itm-mlm-gaudi")
10model = BridgeTowerForImageAndTextRetrieval.from_pretrained("BridgeTower/bridgetower-large-itm-mlm-gaudi")
11
12# forward pass
13scores = dict()
14for text in texts:
15 # prepare inputs
16 encoding = processor(image, text, return_tensors="pt")
17 outputs = model(**encoding)
18 scores[text] = outputs.logits[0,1].item()1from transformers import BridgeTowerProcessor, BridgeTowerForMaskedLM
2from PIL import Image
3import requests
4
5url = "http://images.cocodataset.org/val2017/000000360943.jpg"
6image = Image.open(requests.get(url, stream=True).raw).convert("RGB")
7text = "a <mask> looking out of the window"
8
9processor = BridgeTowerProcessor.from_pretrained("BridgeTower/bridgetower-large-itm-mlm-gaudi")
10model = BridgeTowerForMaskedLM.from_pretrained("BridgeTower/bridgetower-large-itm-mlm-gaudi")
11
12# prepare inputs
13encoding = processor(image, text, return_tensors="pt")
14
15# forward pass
16outputs = model(**encoding)
17
18results = processor.decode(outputs.logits.argmax(dim=-1).squeeze(0).tolist())
19
20print(results)
21#.a cat looking out of the window.1@article{xu2022bridge,
2 title={BridgeTower: Building Bridges Between Encoders in Vision-Language Representation Learning},
3 author={Xu, Xiao and Wu, Chenfei and Rosenman, Shachar and Lal, Vasudev and Che, Wanxiang and Duan, Nan},
4 journal={arXiv preprint arXiv:2206.08657},
5 year={2022}
6}