from PIL import Image import requests import torch from torchvision import transforms from torchvision.transforms.functional import InterpolationMode from lzma import FILTER_LZMA1 try: from _lzma import * from _lzma import _encode_filter_properties, _decode_filter_properties except ImportError: from backports.lzma import * from backports.lzma import _encode_filter_properties, _decode_filter_properties device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') def load_demo_image(image_size, device): img_url = 'https://storage.googleapis.com/sfr-vision-language-research/BLIP/demo.jpg' raw_image = Image.open(requests.get(img_url, stream=True).raw).convert('RGB') w, h = raw_image.size print(raw_image.resize((w // 5, h // 5))) transform = transforms.Compose([ transforms.Resize((image_size, image_size), interpolation=InterpolationMode.BICUBIC), transforms.ToTensor(), transforms.Normalize((0.48145466, 0.4578275, 0.40821073), (0.26862954, 0.26130258, 0.27577711)) ]) image = transform(raw_image).unsqueeze(0).to(device) return image