File size: 34,890 Bytes
74bda2d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a811a65f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-01T09:19:50.038353Z",
     "start_time": "2024-05-01T09:19:42.352132Z"
    }
   },
   "outputs": [],
   "source": [
    "from PIL import Image\n",
    "import requests\n",
    "import torch\n",
    "from torchvision import transforms\n",
    "from torchvision.transforms.functional import InterpolationMode\n",
    "from lzma import FILTER_LZMA1\n",
    "try:\n",
    "    from _lzma import *\n",
    "    from _lzma import _encode_filter_properties, _decode_filter_properties\n",
    "except ImportError:\n",
    "    from backports.lzma import *\n",
    "    from backports.lzma import _encode_filter_properties, _decode_filter_properties\n",
    "\n",
    "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n",
    "\n",
    "def load_demo_image(image_size,device):\n",
    "    img_url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Sukhoi_T-50_Beltyukov.jpg/800px-Sukhoi_T-50_Beltyukov.jpg' \n",
    "    raw_image = Image.open(requests.get(img_url, stream=True).raw).convert('RGB')   \n",
    "\n",
    "    w,h = raw_image.size\n",
    "    display(raw_image.resize((w//5,h//5)))\n",
    "    \n",
    "    transform = transforms.Compose([\n",
    "        transforms.Resize((image_size,image_size),interpolation=InterpolationMode.BICUBIC),\n",
    "        transforms.ToTensor(),\n",
    "        transforms.Normalize((0.48145466, 0.4578275, 0.40821073), (0.26862954, 0.26130258, 0.27577711))\n",
    "        ]) \n",
    "    image = transform(raw_image).unsqueeze(0).to(device)   \n",
    "    return image"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5e6f3fb1",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-01T09:22:02.157115Z",
     "start_time": "2024-05-01T09:21:26.706787Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": "<PIL.Image.Image image mode=RGB size=160x106>",
      "image/png": "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",
      "image/jpeg": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "load checkpoint from /workspace/BLIP/weights/model_base_vqa_capfilt_large.pth\n",
      "answer: jet\n"
     ]
    }
   ],
   "source": [
    "from models.blip_vqa import blip_vqa\n",
    "\n",
    "image_size = 480\n",
    "image = load_demo_image(image_size=image_size, device=device)     \n",
    "\n",
    "model_url = '/workspace/BLIP/weights/model_base_vqa_capfilt_large.pth'\n",
    "    \n",
    "model = blip_vqa(pretrained=model_url, image_size=image_size, vit='base')\n",
    "model.eval()\n",
    "model = model.to(device)\n",
    "\n",
    "question = 'Can you description about plane in image?'\n",
    "\n",
    "with torch.no_grad():\n",
    "    answer = model(image, question, train=False, inference='generate') \n",
    "    print('answer: '+answer[0])"
   ]
  },
  {
   "cell_type": "code",
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "IOPub data rate exceeded.\n",
      "The Jupyter server will temporarily stop sending output\n",
      "to the client in order to avoid crashing it.\n",
      "To change this limit, set the config variable\n",
      "`--ServerApp.iopub_data_rate_limit`.\n",
      "\n",
      "Current values:\n",
      "ServerApp.iopub_data_rate_limit=1000000.0 (bytes/sec)\n",
      "ServerApp.rate_limit_window=3.0 (secs)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import json\n",
    "\n",
    "with open('objects.json') as f:\n",
    "    d = json.load(f)\n",
    "    print(d)"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-05-01T09:07:37.393500Z",
     "start_time": "2024-05-01T09:07:15.627630Z"
    }
   },
   "id": "7cd25587bfee1a30",
   "execution_count": 2
  },
  {
   "cell_type": "code",
   "outputs": [],
   "source": [],
   "metadata": {
    "collapsed": false
   },
   "id": "f868e97453edacd8"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}