| 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 |