File size: 57,579 Bytes
77afe44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e76b6794",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "/home/ubuntu/Qwen-Image-Edit-Angles\n"
     ]
    }
   ],
   "source": [
    "%cd /home/ubuntu/Qwen-Image-Edit-Angles"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f0f4ce28",
   "metadata": {},
   "outputs": [],
   "source": [
    "from qwenimage.reporting.datamodels import ExperimentSet\n",
    "from qwenimage.reporting.visualize_barplot import compare_sets_with_timing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "226af1b2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off]\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/ubuntu/.local/lib/python3.10/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n",
      "  warnings.warn(\n",
      "/home/ubuntu/.local/lib/python3.10/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=AlexNet_Weights.IMAGENET1K_V1`. You can also use `weights=AlexNet_Weights.DEFAULT` to get the most up-to-date weights.\n",
      "  warnings.warn(msg)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading model from: /home/ubuntu/.local/lib/python3.10/site-packages/lpips/weights/v0.1/alex.pth\n"
     ]
    },
    {
     "data": {
      "image/png": "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Xvo08HStsltqvb4auHot2iQiIiIiItIkRA9/yGWPTFip3E58YIXXlx45gOiolXOeyTqIEgOB24ADl61fDhAlp8ePM4gSjxJWJls5QI+SOQnQe9fnSUVERERERGRF0VFbK/DOpiixCfAIcBJR8rO08rZAAVFyXvx8f8K07waXaRb321m/LO4iIiIiIiIi2RMl7gOGAl2JElOBS4HisC15C3AJ0AW4iSgBy5dT6wY8GpcVAfcSJZ/NRpOzlcVdREREREREJHui5PFr2H4acFod5ZMIK4plXUGG9S4HDi8pqxhSUlZR3JANEhEREREREWmOspLFXURERERERKRZiBJnA0cRJfde212zlsVdREREREREpBnoBwxZlx2VxV1EREREREQkD2QUoFeWl37V0A0RERERERERaQK+Byavy46rTRJXUlbxXklZxa/j58eXlFXcnrbtypKyitmr3ltERERERESkmYmSlxMl12kU+pqyuG8H9IyfDwZ+mratNdBxXU4qIiIiIiIiIivKdJk1EREREREREWlAmQTo3uCtEBEREREREWnmMkkS94uSsopTCEPaKSmr+C4ub91grRIRERERERFpZjIJ0FvGPykd056rd11EREREREQkSnQj5HHrBMwBxhIlv1mbQ6wpQB+2Tg0TERERERERaeqiRCFwMnAGsGMd298DbgbuJEpWr+lwqw3QK8tLX1mnRoqIiIiIiIg0fROAfvHzL4CPgblAB2BLYAfgNuC3wOZrOlgmQ9xFREREREREZGUtgAuB+4mS01faGiU2Bo4HzsnkYArQRURERERERNZNv9UOXQ9B+1+JEtdmcjCtgy4iIiIiIiKyLlYbnCd2J0psvcZ6adSDLiIiIiIiIrK+osQtwC7A9sDdhKHtECV+SZS8KZNDrFWAXlJW0QH4GdAe+G9leenotdlfREREREREpInan5A0rg1wLPABUAKcC6x/gF5SVnE/cAjQA0gCLxHuBgBcWlJWcWJleenIdWm5iIiIiIiISBPSHXgGGECYTn4SITncSZkeYE1z0HcE3qwsL50D7E5IEb8UeAKoIWSrExEREREREWnufgC2IwxtXwp8QsjyvijTA6xpiPtGwH/j5/vGj/+uLC89q6Ss4j7goLVprYiIiIiIiEhWRInbgYOBGUTJrevYbsB1hLh2AXAyUfK9eNvweFshcBtRsjyDM44CjiLMQ3+OKLmUKLEN8GmmTV5TD3oNYb45wG6Aszxgnw9YpicSERERERERyaI7gOGr2X4gsFn8czpwMwBRohC4Md4+ADieKDEgg/P9HLgSuBr4GVGiBWH0+Z8zbfCaetA/BI4uKatoA+wNVLM8QN8C+DrTE4mIiIiIiIhkTZR8lShRspoahwF3ESUdGEOU6EiU6E5I7DaRKDkpHCdxf1x3whrONwe4uFbp5WvT5DX1oF9CGDt/WFz375Xlpd+XlFX0IXTbv742JxMRERERERGpJ0Vm9k7az+lruX8PYEra66lx2arKVxYlLiNKdF3tWaJEV6JERoH6anvQK8tL/1tSVtEf2Bn4urK8dEy8KRW0f5TJSURERERERETqWZW777Qe+9c1ZdtXU16XPwJlRIn/Aq8CHwPzCFPFtwSGEEajFxE6wFcrk3XQZwATgVmpgsry0imseEdBREREREREpDGZCvRKe90TmE7IvF5XeV32Icw7Hw4cUGtbKtAfA/whkwataR30fsCzQO/49Q2V5aXnZXJgERERERERkTz2BHBOPMd8ZyBJlPyaKDET2Iwo0RuYBhwHnFDnEaLky8CuRIltCRnjBwKdgDnAeOApouTYTBu0ph70cqBP2utzSsoqRlaWl47O9AQiIiIiIiIiWRcl7gOGAl2JElOBS4HisC15C/A0YYm1iYRl1k6Jt1URJc4BniMss3Y7UXL107uj5Dhg3Po2eU0B+u7AF8CxhLHzfwX2ABSgi4iIiIiISP6KksevYbsDZ69i29OEAD6r1pTFvRvwTGV56XvAP+KyDRu2SSIiIiIiIiLNTyZJ4jqVlFVsw/IJ7t1KyioGpjZWlpeOb5CWiYiIiIiIiDQjmQToJ7B8QrzX8TqTY4iIiIiIiIjIamQSXNe1Blwm20RERERERESajyjRGTga6Af8GdgW+JQo+W0mu682QK8sL13THHURERERERERiRJbAS8BXeOSPwPPAHcBZ2VyCAXgIiIiIiIiIuvvb0BHYBIAUTIJvALsm+kBVtuDXlJW8d4a9vfK8tIdMz2ZiIiIiIiISBM1GHgMmA6cG5d9RViyPCNrmoO+3Rq2e6YnEhEREREREWnC5gPtapUNBGZneoA1BeinrG2LVqWkrGI4cB1QCNxWWV5avop6g4AxwLGV5aUP1df5RURERERERBrQ64QEcdsAECXeAnYE7sv0AGtKEnfnejRumZKyikLgRmA/YCrwdklZxROV5aUT6qj3F+C5+jiviIiIiIiISJZcCOwE9Ilf70SYj/77TA+wpjno7YCbgYOAmcAfK8tLH1yHhg4GJlaWl06Kj3s/cBgwoVa9XwIPA4PW4RwiIiIiIiIiuRElpxAltgEOBjYFKoGniZILMj3Emoa4XwGcGD/vBPynpKzincry0i/Xsqk9gClpr6cCO6dXKCmr6AEcAeyNAnQRERERERFpbKLkQmBdOrWBNQfohwNzgcuBXYCjgEOAf6zleayOstoJ5q4FfltZXlpdUlax6gOZnQ6cDlBcXMysWbPWsinS0KqqqlmyZEmum5FVVVXVTepa3KTHxnQuWpzrZmRVi+JiXbfS6OjzVhojXbeNn74nNA9N7brNiiixHSFW3g5om7bFiZJrir2BNQfoPYF/V5aX/i0e7n40oTd8bU0FetU67vRadXYC7o+D867AQSVlFVWV5aWPpVdy9xHACIC2bdt6165dkfxSVFRIixYtct2MrCoqKqQpXYuTp02nY1XLXDcjq5YsXarrVhodfd5KY6TrtvHT94Tmoaldt1lyN7BVHeV1dVjXaU0BeiHwA0BleekPcfBcnOnB07wNbFZSVtEbmAYcB5yQXqGyvLR36nlJWcUdwFO1g3MRERERERGRPFUCjAbOBOatywEy6WY/q6Ss4uT4udd+XVle2mVNB6gsL60qKas4h5CdvRC4vbK89KOSsooz4+23rHXLRURERERERPLHfcC2QCVR8od1OUAmAXrL+Keu17Xnka9SZXnp08DTtcrqDMwry0tPzvS4IiIiIiIiInngL8A7wCyixLdAdVzuRMm+mRxgTQH6sPVonIiIiIiIiEhz8R8gET9Pz8GWccf2agP0yvLSV1a1raSsYg+gc6YnEhEREREREWnCtgE+IfSkz1mXA2SU6n0VriasV74+xxARERERERFpCh4BOhMl71zXA6xvcJ1xungRERERERGRrIoSw4HrCMnKbyNKltfafiFwYvyqCNgS2IAo+R1RopKQjb0aqCJK7rSGs3UB9idKfEroSU+fg35UJs1V77eIiIiIiIg0PVGiELgR2A+YCrxNlHiCKDlheZ3k1YTR4RAlDgHOJ0p+l3aUYUTJWRmecXj8uFn8k1I/c9BLyioOXc3mTpmeRERERERERCTLBgMTiZKTAIgS9wOHARNWUf94wlJp6+py1iIYr8uaetAfW80JbH1PLiIiIiIiIrKOiszsnbTXI9x9RNrrHsCUtNdTgZ3rPFKUaEPoAT8nrdSB54kSDtxKlBxR577LjpGMMm75KqwpQJ+MgnARERERERHJP1Xuvrp54XXlTFtVfHsI8L9aw9t3J0pOJ0psCLxAlPiEKPnqCntFiUuAMUTJ5+PndXGi5BWraecya1pmrSSTg4iIiIiIiIjkmamsuB55T2D6KuoeR+3h7VFyevw4gyjxKGHI/Ku19ouAa4Hn4+e1bwCkRp6vf4AuIiIiIiIi0ki9DWxGlOgNTCME4SesVCtKJIAhwI/TytoCBUTJefHz/QlzzGu7E3grfn4XDTwHXURERERERKTxiZJVRIlzgOcIy6zdTpT8iChxZrz9lrjmEcDzRMn5aXt3Ax4lSkCIm+8lSj5bxzlOIUrsRZToQ5Q8eX2brABdREQk9uA7U7jvrcmYGZcduhVb90gs23bLK1/wzIffUFRgbL1xB6JDt8LMmPLdAi56aDxLqmvYe4sNOXtYPwBOvG0MVdXOgiXVnLZnbw7brgeTZv7ABQ+Oo7iwgKoa54rDtmbAxh1y9XaliajP6/bCB8cx6rOZ7L35hvzl6IHLjvPKZzO59ZUvqHFn3y27cdqefbL+PkVE1kmUfBp4ulbZLbVe3wHcUatsErBthmd5mbDW+q/XqY1pFKCLiIgAyQVLuWN0JY/+Yne+nbuI80eO5aGzdlu2/YCtNuLMIX0BOPs/7zH6i9ns3q8rf3n2E87frz+De3fmxNvGcMBWG9Fvw3b8++TBtCgqYN6ipRx43Wsctl0PNunchofP2g0zY/TEWdzw8ufcdOKOuXrL0gTU93X7m/0358gdevLY+9OWHeO7+Uu4c3Qld5wSrmkREVlJXcno1okCdBEREeD9Kd8zqKQzLYoK6NW5DfOXVLO4qpqWRYUA9O7adlnd4kKjsCD8Xzzh67kM7t0ZgGGbb8hbX35Hvw3bLQtkFi6ppn+39gAUFS4PbuYtrmKLjdR7Luunvq/bjRKt+HLW/BXO8dInM+jYupjT7gorGV1cuuWya1pERJbpSZTYa5Vba2d/XwUF6CIiIkBy4VISrYuXvW7fqojkgqVs2KFwhXpvfDGbGfMWs3Mc3HhaKpgOrYuZOW8xANU1zvH/HMPn387jouFbLKvzwdQklzzxIdPnLOSWH6v3XNZPfV+3dfl27iIqZ8/n/tN3ZeKMH/jdIx/wcFovvYiIAHBU/FMXJ8PYWwG6iIgIkGhdzNxFS5e9nreoikSb4hXqfPz1XK567hP+9dNBmIWeSEsb1DZvURUd430KC4wHztiV7+cv4dAbX6d0YHc6tCpmm54JHv3F7oydModLH/+Qx8/Zo+HfnDRZ9X3d1qVjm2J269uVFkUFDNi4A9/NX1K/b0JEpGlYCixc34NoIpGIiAiwfa9OvFP5PUura5g2ZyFtWxQuGyYMUDlrPhc9NJ7rj9+ezm1bLCvfsnsH3v3qOwBGfTqDnXt3Zml1DTU1oYuydXyclkUFLFpavWy/Dq2KaFW8Yi+nyNqqz+t2VXbp04UPpycBmD5nIe1aqn9HRKQONxElO63yJ0P6hBUREQESbYo5aZdNOfbWNzAzLj1kAB9NT/L657M4Y0hfLn9qAnMXLeU3D4wD4Iwhfdh7i2789oAtuOjhcSytdob234B+G7bnm+Qizr3vfQoKYElVDb/cux8tiwp56ZNvuWXUJAri2+OXHDIgh+9YmoL6vG4BrnnuU0Z9NoOZ8xZz4m1j+OdPdqLvBu3YpU8XjrnlDZbW1HCprlsRkQajAF1ERCR2zKBeHDOo1wplW20clqy6/eRBde6zSZc23H/6riuUbZRoxQNn7rpS3b236MbeW3Srp9aKBPV13QJccMDmXHDA5iuVnzmk77Js8CIispKvgO/q40Aa4i4iIrIWoijCzNb4E0VRrpsqsoyuWxGRBhQlexMl/1Qfh1IPuoiIyFqIomiFIGbo0KEAjBo1KiftEcmErlsRkcZBPegiIiIiIiIieUABuoiIiIiIiEgeUIAuIiIiIiIikgcUoIuIiIiIiIjkAQXoIiIiIiIiInlAAbqIiIiIiIhIHlCALiIiIiIiIpIHFKCLiIiIiIiI5AEF6CIiIiIiIiJ5QAG6iIiIiIiISB5QgC4iIiIiIiKSB4py3QARERERERGRBhElhgPXAYXAbUTJ8lrbhwKPA1/GJY8QJS/PaN8GoABdREREREREmp4oUQjcCOwHTAXeJko8QZScUKvma0TJg9dx33qlIe4iIiIiIiLSFA0GJhIlJxEllwD3A4dlYd91ph50ERERERERaYyKzOydtNcj3H1E2usewJS011OBnes4zq5EiXHAdOACouRHa7FvvVKALiIiIiIiIo1RlbvvtJrtVkeZ13r9HrApUfIHosRBwGPAZhnuW+80xF1ERERERESaoqlAr7TXPQm95MtFyblEyR/i508DxUSJrhnt2wDUgy4iIiIiIiJN0dvAZkSJ3sA04DjghBVqRImNgG+Jkk6UGEzoxJ4NzFnjvg1APegiIiIiIiLS9ETJKuAc4DngY+ABouRHRIkziRJnxrWOBj6M56D/AzguBOur2LeBqQddREREREREmqYwbP3pWmW3pD2/Abgh430bWNYC9JKyihUWea8sLy2vtf1E4Lfxyx+AsyrLS8dlq30iIiIiIiIiuZSVIe4lZRWpRd4PBAYAx5eUVQyoVe1LYEhleelA4ApgBCIiIiIiIiLNRLZ60AcDEyvLSycBlJRVpBZ5n5CqUFleOjqt/hhCljwREZGMHHXCSUye9k3Wz/vJuDDYa9CQ/bJ+7gWVXwH9sn5eqT+6bkVEJF22AvS1XeT9VOCZujaY2enA6QDFxcXMmjWrvtoo9aSqqpolS5bkuhlZVVVV3aSuxU16bEznosW5bkZWtSgu1nXb6BUw9OeXZv2s3/z5lwA5OffTfzhc122jp+u2OWhq162+JzQPTe26bSyyFaBnvMh7SVnFMEKAvkdd2919BPHw97Zt23rXrl3rq41ST4qKCmnRokWum5FVRUWFNKVrcfK06XSsapnrZmTVkqVLdd02crm6bqs8zBb7Lgfn1nXb+Om6bR503TZ+um4lW7IVoGe0yHtJWcVA4DbgwMry0tlZapuIiIiIiIhIzmUrQH8b2KykrGKVi7yXlFVsAjwCnFRZXvpZltolIiIiIiIikheyksW9srx0pUXeK8tLPyopqzizpKwitUD8JUAX4KaSsoqxJWUV72SjbSIiIiIiIiL5IGvroFeWl660yHtleektac9PA07LVntERERERERE8klWetBFREREREREZPUUoIuIiIiIiIjkAQXoIiIiIiIiInlAAbqIiIiIiIhIHlCALiIiIiIiIpIHFKCLiIiIiIiI5AEF6CIiIiIiIiJ5QAG6iIiIiIiISB5QgC4iIiIiIiKSBxSgi4iIiIiIiOQBBegiIiIiIiIieaAo1w0QERERERERaRBRYjhwHVAI3EaULK+1/UTgt/GrH4CziJLj4m2VwDygGqgiSu7U0M1VD7qIiIiIiIg0PVGiELgROBAYABxPlBhQq9aXwBCi5EDgCmBEre3DiJLbZSM4B/Wgi4iIiIiISNM0GJhIlJwEQJS4HzgMmLCsRpQcnVZ/DNAzi+1biXrQRUREREREpDEqMrN30n5Or7W9BzAl7fXUuGxVTgWeSXvtwPNEiXeJErWP3SDUgy4iIiIiIiKNUZW7r27oudVR5nXWjBLDCAH6HmmluxMlpxMlNgReIEp8QpR8dZ1bmwH1oIuIiIiIiEhTNBXolfa6JzB9pVpRYiBwG3AYUXL28vLk9PhxBvAoYch8g1IPuoiIyFp477ERjH38tpXKbz9lxf+ztzvsNHY4PCuj4URERKRubwObESV6A9OA44ATVqgRJTYBHgFOIkp+llbeFiggSs6Ln+8PXN7QDVaALiIishZ2OPx0Bd7S6OjGkog0S1GyiihxDvAcYZm124mSHxElzoy33wJcAnQBbiJKwPLl1LoBj8ZlRcC9RMlnG7rJCtBFREREmjjdWBKRZitKPg08XavslrTnpwGn1bHfJGDbhm3cyjQHXURERERERCQPKEAXERERERERyQMK0EVERERERETygAJ0ERERERERkTygAF1EREREREQkDyhAFxEREREREckDCtBFRERERERE8oACdBEREREREZE8oABdREREREREJA8oQBcRERERERHJAwrQRURERERERPKAAnQRERERERGRPKAAXURERERERCQPKEAXERERERERyQNFuW6ArN6D70zhvrcmY2ZcduhWbN0jsWzboqXV/Pbh8Uyfs5CNO7bmL0cNpFVxIVO+W8BFD41nSXUNe2+xIWcP6wfAqE9ncN1/PwfgV/v2Z0j/DQC48eWJvPTJDFoUFnDV0QPp1blN9t+oiIiIiIhIM6ce9DyWXLCUO0ZXcv/pu3LtsdsRPfHRCtsfencqfTdox4Nn7kafru146N2pAPzl2U84f7/+PHzWboz+YhYTZ/xAdY1T/swn3HHKYO44ZTD/9/THVNc4E2f8wOgvZvHwWbvxq3034y/PfpKLtyoiIiIiItLsKUDPY+9P+Z5BJZ1pUVRAr85tmL+kmsVV1cu2j5k0m7232BCAfbbckLe+/A6ACV/PZXDvzgAM2zyUfzlrPj07tSHRuphE62J6dmrDV7PnM2bSbIZtHo6xc58ufPz13Cy/SxEREREREQEF6HktuXApidbFy163b1VEcsHSOrcn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",
      "text/plain": [
       "<Figure size 1008x504 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>experiment</th>\n",
       "      <th>lpips_mean</th>\n",
       "      <th>lpips_std</th>\n",
       "      <th>time_mean</th>\n",
       "      <th>time_std</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>qwen_base</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.752080</td>\n",
       "      <td>0.038048</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>qwen_sageattn_qk_int8_pv_fp16_triton</td>\n",
       "      <td>0.853700</td>\n",
       "      <td>0.112891</td>\n",
       "      <td>1.775369</td>\n",
       "      <td>0.272377</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>qwen_sageattn_qk_int8_pv_fp16_cuda</td>\n",
       "      <td>0.203273</td>\n",
       "      <td>0.097512</td>\n",
       "      <td>1.777100</td>\n",
       "      <td>0.244729</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>qwen_sageattn_qk_int8_pv_fp8_cuda</td>\n",
       "      <td>0.201616</td>\n",
       "      <td>0.098540</td>\n",
       "      <td>1.815426</td>\n",
       "      <td>0.075430</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>qwen_sageattn_qk_int8_pv_fp8_cuda_sm90</td>\n",
       "      <td>0.839612</td>\n",
       "      <td>0.055112</td>\n",
       "      <td>1.299148</td>\n",
       "      <td>0.068006</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                               experiment  lpips_mean  lpips_std  time_mean  \\\n",
       "0                               qwen_base    0.000000   0.000000   1.752080   \n",
       "1    qwen_sageattn_qk_int8_pv_fp16_triton    0.853700   0.112891   1.775369   \n",
       "2      qwen_sageattn_qk_int8_pv_fp16_cuda    0.203273   0.097512   1.777100   \n",
       "3       qwen_sageattn_qk_int8_pv_fp8_cuda    0.201616   0.098540   1.815426   \n",
       "4  qwen_sageattn_qk_int8_pv_fp8_cuda_sm90    0.839612   0.055112   1.299148   \n",
       "\n",
       "   time_std  \n",
       "0  0.038048  \n",
       "1  0.272377  \n",
       "2  0.244729  \n",
       "3  0.075430  \n",
       "4  0.068006  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_all = compare_sets_with_timing(\n",
    "    ExperimentSet.create(\n",
    "        \"qwen_base\",\n",
    "        \"qwen_sageattn_qk_int8_pv_fp16_triton\",\n",
    "        \"qwen_sageattn_qk_int8_pv_fp16_cuda\",\n",
    "        \"qwen_sageattn_qk_int8_pv_fp8_cuda\",\n",
    "        \"qwen_sageattn_qk_int8_pv_fp8_cuda_sm90\",\n",
    "    ),\n",
    "    profile_target=\"loop\",\n",
    "    sort_by=None\n",
    ")\n",
    "\n",
    "df_all\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "477d7613",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2e99efc4",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "06c65a7a",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "31dea8be",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4efef8a4",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "15b6d974",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "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.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}