Spaces:
Running
on
Zero
Running
on
Zero
File size: 51,180 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 254 255 256 257 258 259 260 261 262 263 264 265 266 267 |
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"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": null,
"id": "f0f4ce28",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/lib/python3/dist-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.17.3 and <1.25.0 is required for this version of SciPy (detected version 1.26.4\n",
" warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\n",
"/home/ubuntu/.local/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
" from .autonotebook import tqdm as notebook_tqdm\n",
"Skipping import of cpp extensions due to incompatible torch version 2.9.1+cu128 for torchao version 0.14.1 Please see https://github.com/pytorch/ao/issues/2919 for more info\n",
"TMA benchmarks will be running without grid constant TMA descriptor.\n",
"2025-11-19 09:44:55.971435: I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n",
"2025-11-19 09:44:55.985769: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:467] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n",
"WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n",
"E0000 00:00:1763545496.003110 2604295 cuda_dnn.cc:8579] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n",
"E0000 00:00:1763545496.009514 2604295 cuda_blas.cc:1407] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n",
"W0000 00:00:1763545496.021977 2604295 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.\n",
"W0000 00:00:1763545496.021992 2604295 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.\n",
"W0000 00:00:1763545496.021994 2604295 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.\n",
"W0000 00:00:1763545496.021996 2604295 computation_placer.cc:177] computation placer already registered. Please check linkage and avoid linking the same target more than once.\n",
"2025-11-19 09:44:56.026039: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n",
"To enable the following instructions: AVX512F AVX512_VNNI AVX512_BF16 AVX512_FP16 AVX_VNNI, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n",
"/usr/lib/python3/dist-packages/sklearn/utils/fixes.py:25: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n",
" from pkg_resources import parse_version # type: ignore\n",
"Fetching 7 files: 100%|██████████| 7/7 [00:00<00:00, 75282.38it/s]\n"
]
}
],
"source": [
"from qwenimage.reporting.datamodels import ExperimentSet\n",
"from qwenimage.reporting.visualize_barplot import compare_sets_with_timing"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "226af1b2",
"metadata": {},
"outputs": [
{
"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": [
"Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off]\n",
"Loading model from: /home/ubuntu/.local/lib/python3.10/site-packages/lpips/weights/v0.1/alex.pth\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA+gAAAHwCAYAAAA1uUU7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAB4SElEQVR4nOzdeXwcdfnA8c/TJD0pKaWUoy2k3DcFoSAoLSAKRi5RQBAERUDFA8/88GDxjAcKiohVAUG55BIIICIURO6jnOUoEErLUcqRQg+att/fHzNpt2napkd2t+nn/Xrta3dmvjPzbDLZ7DPfK1JKSJIkSZKk8upR7gAkSZIkSZIJuiRJkiRJFcEEXZIkSZKkCmCCLkmSJElSBTBBlyRJkiSpApigS5IkSZJUAUzQJUnSUkXE2IhIETG23LGsTiJidP5zTxExutzxSJK6lgm6JFWAouSneQllmou+qKeIaI2IFyPikojYtqjcBW1litYV2u2bImJqRNwdEZ9ud56dIuLaiHg5It6LiNci4t6IaFzKexjdwTnaHot9X91Ru5/FseWOZ3Ei4tgl/M7mP/LiTwL35s9lFRHrR8SvIuLJiJgRES0R8UhE/Cwiassd30o2jeznfm/+WpLUjVWXOwBJ0jJ7hyxJ6gdsAxwBfCwitk0pvdiJ/ccBc4DNgd2A3SJicErp1xGxEXArUJuf5wlgbeB9wLpAQydjfB54vWj5lSUVjoieKaXZy7qtMyIigKqU0pzlPUY39jpZ4tdm1/x5KvBcccGU0hdLFdSSRMT7gH+RXZcAU8jex+bA9sBlZNf4Ki+/9h8i+zuVJK0GrEGXpFXPQyml3VJK2wFfztetARzSyf0PSSntAmwKzMjXHZM/78+C5HxYSmmnlNJGwGDga8sQ44/yGNse82MraglwUUScERFTyZPEolrbX+YtAVrIEi4iYmBEnB0RE/PWA1Py1gObFB27uKXA/hHxJNAKbEs7EfF/ebk3IqKmaP3v8/XP5MubR8TVeUuC9/KWBbdExEeW4efRoYj4QET8K68Bfi8ino6I77aLpyoivhERT+RlpkXErRGxT1GZhWrsI+LGiJgZES9FxEmLO39Kqan491S0aZH10UET96Jz/iIi/hIR70bE8xFxSEQMz39O0yNiXEQslGRGxC4RcX1EvJm/r8ci4ril/Lx6Av8gS85bgcNTSuumlLYF1gSOA94qKn9cRDyY/yymR8Q9EfHJou11Re/hmxFxVV4j/3j+u9kxIu7L970zIrYo2retpUpzRBweEc/k7+POiNimqNx+EfHf/Hqdnf/+7oiI/RYTx7cj4pqImAH8Ijpo4h4R6+Z/P22tXKbk5/h00TGX9e9lr4h4KP9ZPdT+9yVJKg0TdElatcVK3r/t/0I/4At5glKTUnozpXTNCp6rvcOAk8lq199tt+0rwCeBicB7EdEbuB34ErAB8AzQn6z1wD0RMbSD418D9AZeXsz5LwTmAQOBj0CWDAOfyLdfkD9fAhwM1ACP5/vsA+zSyffZoTzZug34cH7MZrJa4B/nsbX5I/ArYGvgJWA2sBdwc0Ts38Ghz82PMx0YCvwhIj66IrF2wlfIfoazgeHAxcB/gI3z7TsAl0ZENUBE7A7cCdSTJdoTyG6inBcR31jCefbNjw/wh5TS5W0bUkqtKaUL2lqRRMT3gPOAnchq2FvIWghcHhEndnDsHwMjyH4X2wBXAjeT3bCqAfbIj9feBsBf8/fRIy93Y37Nkr+vXcluej1O9jf3QeC6iNihg+P9iOz3+xxZS5eOnAN8muymxONkN9p2B0bn7315/l5uBPqSta7ckaLflySpdEzQJWnVs1NeE/go8Nt83bvA1Z3c/+qIuI8sKeqTr2tLCK8kazLcA/gZ8BDwdkQ0RcQeyxDj+bFwP+YzF1Nul7wlwOh266cBW+TbjgI+xYJa8CNSStuQJchzgUHAKR0c+zcppY1TShsCj7XfmFKaDNzSdsz8eW+y1gLzWPAz2Tx/Piil9L6U0lBgGFlN7oo4nSwZegnYOKW0BfDztngiYruI2Bj4bL7u9ymlTckS1GfJfkc/7uC4/0gpbQJsQnaDA+A7Kxjr0kzIz3dYvtw7j3ETsuQdYCOyVhuQxd0TuAMYmv8+v5dvO60ouW1v66LXdywumIjoB5yaL14L1OXn/2++7kcR0f470O15vF/LlwcD17T7veweEX3a7VcDfCx/D22188PIrlmAK4DBKaVNUko7ARuSJevVLLgZVOx5YKP82l/c763tmvxCfk3WkXVB+V2+fnn+Xr6VUtoSaLtBUvz7kiSViAm6JK16+pPVyG0NTCJrAv7+TvY/h6yWcBey2rl7gGNSSr8GSCm9RtaP9+dk/dwTWa3aR4GxETGik+d4ngUDW91LVjvc3m0ppUfz885tt+3KlNKkom1ttdWzyW4ikFJ6HHg0X79zB8c/s+1FB8dvc0H+fFCeeLUl6re0nR+4Ln/+T2RN0K8hS6wmL+aYndX2nm5KKbU1y764aPvO+SOKt6WU3gGuz9eNyGv9i12el2sBbsrXLdLEfyW7OaX0Hgv/nptSSonsWmizbv7c1td9T2B2ZAPRtd1s6E9Wg92R4hYfaTFlyPdvS6QvSynNSym1kiXLAOuQJaDF2uItfg9tv/vi9zC43X5vppTabvT8E3gvf932M+8JXJA3MZ8LvEn2HiGr3W7vrymlt2GJ121bXBdExHMRcQNwIgtaiyzP38tF+XPxIIDrdlBOktSFbLokSaue21NKo1dg/+EppebFbcyT9AagISLWAj4D/Ibsf0Y9nRuA60cppQuWUubV5di2pKRs4YIpLen4ba4G3gYGkPXhb+srf0FRmWPIamFHkyV+HwEOImuGfFBn41lSqCu5XLEV7QLRWW2ji8/pYF1x3O3jeZmsBUF78xZznieKXn8QuKoTsXX257a876G99tuvBzbLj/sYMIusCXlPoP3NFVjy30Wb7wL/I7sWtwU+QDZ+xGFk3QnaLMvfy9v5y+L3X6rrR5KUswZdkipLRETvdo+S3UzNB7T6YuRTVeU1u01FRco1zdP9+XMv4FCAyKaW2z5f/8DyHDSlNIu8xhk4A1iLrK9ycXeBDwJXp5ROSil9EPhpvn7vTp6mpv3vNF/f9p72z2+EABxZtN8DwIMsSLKOAoiI/sDH8nXjOqhl/URRuQ/n6x7vZKyl0vbeXwb2KRqM7gDgzJTSw4vZ798sqOH+YkQc2rYhssH0jo5sJoIngJn5piMiokdkA++1NSl/Hehsi5OlGRgRbdfCAWSJN8DjEbE2WXIO8IOU0giyVhrLc7Ol2B5kN+q+klLam6yvOcD2+Tm75O9FktT1TNAlqbJsSJZYFD++t8Q9Vq464PfAW/nozw+zoFlscdPqpfl+3k9+/mMF47qEBUnmpRHxBHAfWQ3kVLIa/uV1Qf68Xtvx88S9zUVkP4+n85/H9/P1j9I5Y1j0dwpwGllt5TDg+Yh4mgV9ji9NKT2WUnqOBQOTfSkiJgAvkCV98+j42jg0Ip7Ly7U14/5FJ2Mtle+RDaq2M/BKRDwcERPJao8bF7dTPt3eJ4E3yBLhKyLi1Yh4jOzm0YXAWiml6Sy4kXIgWVLfTHazBeD7KaXF1dIvq/eA6yPicRY0oZ9Eds2+mb8GOD2P8yGyvuArohF4IyImRMSDZAMJtp33Tbr270WS1IVM0CVJxW4l+/L+MNlAX9uSJZQ3A/ullF7o5HE2JutnXPxYbnnCPIrs5sErLBil/DJgt6L+4stz7LuBp4pWXdCuyHlkTZPXJmvi/jrwdxb0V1/e844lH42d7P/xcLLRtr/PgmnvIOtb/C2yvsHDyGpFbwM+nFK6sYNDnwiMJxs7YDJwckqpqYNyZZNSupMsWb6e7CZF2+BvTSy4AbK4fR8AtiNr8fAU2SjrdWQJ+C/JbkyQUvox2QB7D5H1OV+LbDyEw1NKf2x/3BXwKlnLh2qymvG7gI+mlGblfdoPJavRnkuWIB9Fdg2tiMvIEu7+ZD+Ld8j6v++fMl329yJJ6lqR/e+QJEmrqqIp2wD2ypN/daGIuIBsfIYX81HUJUlaYdagS5IkSZJUAUzQJUmSJEmqADZxlyRJkiSpAliDLkmSJElSBTBBlyRpKSKiOSJSPjAYEVGXL6eIOLa80XUP7X/GkiStjkzQJUkVIyLGFiW+KSLmRMRrEXFdROxQ7viKvEc2Zde9rPiUWZIkSUA2Z6ckSZVmNtlc7L2A7YGPASMjoi6lNLOskQEppVeA3codhyRJ6l6sQZckVaJXUkq7pZR2BAr5usHA1gAR0S8iromIFyJiekS8FxHPRsQPI6Jn20EiYmRE/DsipuZlXoqIpojYuajM5hFxaURMiYjZ+XG+FRGL/R/ZURP3iDi2aN1BEXFHRMyMiKci4mPt9l/qOdsdr25JP6yI+GBEjIuIWRHxcER8oGjfQl6mrXXCX/Ll/nkLhRQRH8zXfSlffrstlk7G2tY8/cKIOD0iXomItyLibxHRf0mxd/x24vsR8Wr+u704ImqLNn4zf69vRkRrHtdVEbF5UZl+EfH7iJiY/0zeiIh7I+LrRWV65ud5Or823sjPNXQZ45UkaaUxQZckVayI6AUMzxffAybmr/sAB+XPzwBTgE2B7wM/yfftATQBHwLmAk8ANcBHgS3zMpuSNVM/PN82HtgY+AVw1gqE/g9gPSABWwAXR8TArjhnRKwL3ADskJ+vF9n7bm9s/rxH/rw7UJW//mD+/IH8+Y6U0rzliPUI4BRgJjAAOApoWMa3dCjwDaAF6At8CvhT0fbRZL/rV4GngIHAIcAtEdE7L/ND4IvAusCTwNvATmS/+zZX5uU2BZ4GIj/X/yJirWWMWZKklcIEXZJUiTaKiATMAo4jSzxPSCm19feeBmyTUlovpbRjSmkY8Ld82xH581rAoPz1zimlnVJK6wGbAf/N159Klkg+A2yYUtoBOCbf9sWIGLac8f8upbR5USz9gZHLeM4WssTxaaB1Cef6IrAG2c9oj5TS1mQJbnu35c9bRMQ6LEjGpxW9bkvUxy5jrG1mAVuRJb0P5Ov2WULsHXkP2DyltAULbgJ8IiI2zl9/B1grpbR1Smk7YL98/TAW3Hxoq03/cf573wRYG/g/gIjYk6zbBMD+KaXtyW48TAU2JPuZSpJUcibokqRKNJus5vZBstrYAM7Ma3QhqxH/dEQ8kzdPTsCn820bAKSU3gDuztc9ExGPR8TlwF7Ay/n6XfPnzYFp+XHaEv0eLEiql9VF+fOTRevWXZZzppSuTiltmT8mL+Fc2+XPz6aUHspfX9ZBuXvIEmjIas8/ADwH/BvYPSI2AYbk29uS+WX9+dyaUpqcUppHdmOh+H131tiU0pR27yOAbfLXGwK3RcS0iJiXx99mg/z5uvz5h3kz91uAb7NgQL9di/b5V/6+3mLBDR3HF5AklYWDxEmSKtErKaXdACJiK7JEdy3gc2S1oA35M8CLZM2dh5IlmMU3n/cBjiSrWd0a+DjwSWBb4KtkiR/AG8CEDuJY3gHp3s6f5xSti3bPK/ucS5RSei8i7ia7QbEXWXL9D2AcWbPyL+RF3wYeWc5Y3y563fbeg+W30L55Lfo1QE/gHbIbONXAiLxIFUBKaUxEPAUcSHYD431k18JxeV/14uPeR9b6oNhEJEkqAxN0SVKlK06mavLnthrOZ1JKW+T9za9jQQ0wERFkNcUXpJTaBkb7C/BZYO+82H1kTbKnAwe0NaGPiDWBQ1JKN3TB++nUOSPiEOBn+T77LKEW/TGyPtibRsSIlNI4spsQHRlLlpwfS9a/+06y0fIBTsyfb89rwDsd60o2KiLWyc/1iaL1TwA7kiXnAB9JKd0dEUcAlxQfICJGAk+klO7Ilz8I3EFWw75l/r7a/DqldFleLsia+b+90t+VJEmdYIIuSapE60fEPWT/p7bO181jQdPlR8n6EG8eES+QJe592h2jCrgFeCciXsr337pof4CfAgeTNZt+MSKeBmrJ+jNXA39duW9rmc5ZSzbAHCy4MdGR3wNfJ+uHflf+81jcSOS3Aafnxwb4H1n/8nfz/WFB//NliXVl6g08GxGvsaAv+RUppecjG6F/Ltnv9qaImEg2GF97XwEOj4hJwJtkfeIhu9HwXErp7Yi4EdgfuDQifkTW930jsvECjmPBNSJJUsnYB12SVIl6kvUTfh9ZU+m7gcNTSrfn239Klhy+DawJXAqc0+4Yc4FzgefJak43Bybl674EkFJ6Jj/PpWRNprchGwV9LPC1LnhfK/2ceX/tj5I1S68i+3kdsJji97KgWfobwFMppbks6KsPRQl6OX4+ZKOrn0F2I2AGWT/0z+fxPEXWAuIFsmtkKtnI6+01AbfnsW5HNsjeLWQDwr2dlzkEOI1sJPiNyG5qPJ+fe+xKf1eSJHVCpNS+25UkSVrV5QOfAZyeUiqUMxZJktQ5NnGXJEldLu+y0KG2AQElSVrdmaBLkqRS2HXpRSRJWr3ZxF2SJEmSpArgIHGSJEmSJFUAE3RJkiRJkiqACbokSZIkSRXABF2SJEmSpApggi5JkiRJUgUwQZckSZIkqQKYoEuSJEmSVAFM0CVJkiRJqgAm6JIkSZIkVQATdEmSJEmSKoAJuiRJkiRJFcAEXZIkSZKkCmCCLkmSJElSBTBBlyRJkiSpAlSXOwBJkiRJksqmUHse8DFgCoWWbfN1A4HLgDqgGTiMQstbXR1KyRL0uoam/YCzgCrgz82N9Y3ttn8LOKoorq2AdZob698sVYySJEmSpNXOBcDZwIVF6xqA/1BoaaRQ25Avf6erA4mUUlefg7qGpirgGWBfYBJwP/Cp5sb6JxdT/gDglObG+r2XdNwePXqkPn36rOxwJUmSJEndxIwZM1JKacnduwu1dcD1RTXoTwOjKbS8QqF2fWAshZYtujrWUtWgjwQmNDfWPw9Q19B0KXAQ0GGCDnwKuGRpB+3Tpw/Tp09faUFKkiRJkrqXiGiNiAeKVo1JKY1Zym7rUmh5BSBP0gd3WYBFSpWgDwFeKlqeBOzaUcG6hqa+wH7AyR1tj4gTgBMAampqmDp16sqNVJIkSZLUncxJKe1c7iA6o1QJenSwbnFt6w8A/re4vuf5nY4xAP369UuDBg1aORFKkiRJkpR5jULt+kVN3KeU4qSlmmZtEjCsaHko8PJiyh5BJ5q3S5IkSZLURa4FPpO//gzwz1KctFQ16PcDm9U1NA0HJpMl4Ue2L1TX0FQLjAI+vbwnam1tZdKkScyaNWt5D6Gl6N27N0OHDqWmpqbcoUiSJEnSiinUXgKMBgZRqJ0EnAY0ApdTqP0cMBH4ZClCKcko7gB1DU0fBc4km2btvObG+p/UNTSdBNDcWH9uXuZYYL/mxvojOnPMfv36pfaDxL3wwgv079+ftddem4iOWtZrRaSUeOONN3jnnXcYPnx4ucORJElSN/SPB17ikvsmEhGcfuA2bDukdqHtfxj7HP999nXmzkt8dZ/N2H3TQbz05gy+fcWjzJ47j723HMyX9toUgL/f+yKXPzCJnlXB1z60OXvkZet/+1+2Wn9NAE4ctTF7b7luyd+nSiMiZqSU+pU7js4oWYLeFTpK0MePH8+WW25pct6FUko89dRTbLXVVuUORZIkSd1My4xWjvzzPVz9xT14bdosTrlsHFd8Yff52297egr3v/Am395vy4X2O/nihzjm/XWMHD6Qo/58D6cfuC0D+tbwmfPu45ov7cF7c+bxqTH3cM2X9uDlt2fScNWj/P343Ur99pbstp/Cc7dBVU/Y/+ew3rYLtj38d7i9EWo3zJYP/ROsuQHc9ye45w+Q5sFXxy0o/98zYPx1QMC2h8LuHY7BvVpYlRL0UvVBLymT867lz1eSJEld5eGX3mKXuoH0rO7BsIF9mT57Lu/NmTt/e9Ojr/DenHkc+ad7OOWycUyb1QrAk69MY+TwgQDstcVg7nvhTSa9NZPNBq9BTVUP1uhVTZ+eVbz4RlbBN/6Vd/jkuXfx9cvG8db02aV/o+298ihMfhCO/zd8/I9wU8OiZXY8Bo5ryh5rbpCt2/og+NK9C5d77x14+G9w/H/gc/+GB86D2U5PvSrolgl6ua2xxhqLrCsUCgwZMoQRI0aw7bbbcu21185f/6tf/QqAY489luHDhzNixAh22mkn7r77bgDuuecedt11V0aMGMFWW21FoVBY5Phjx46ltraWESNGzH/ccsstXfcmJUmSpC7QMrOV2j4Lxjrq37ualhmt85dfmzaLHgEXf343RgwbwDm3PQdAccPgNfvU8NaM2dSt3ZcnX5nGO7NaebVlFuNfmcbbM1sZvGYv7vj2XvzjpN3ZuW4gP7txfMne32K9MQHWH5G9rh0Kb70Ic95buMwjl8BfPgK3/hjmzcvWrTEYqtqNDVXdB/qvD60zYc5MqOkDPWrghf/CmL3ggo/BNV/s8rekZVeqQeLK5tAjj2bi5FdX2vE2HLIeV1580XLte8opp/DNb36T8ePH88EPfpApUxYdqf+Xv/wln/jEJ7j55ps58cQTefTRR/nMZz7D5Zdfzg477MDcuXN5+umnOzz+Bz/4Qa6//vrFnj+lREqJHj16dLi8OHPnzqWqqmoZ3qkkSZK0fGr71MyvFQd4Z9YcavsuSEAH9O3JqM0HAzBq83UoXPcEAMWNPN+ZNYcBfWsY0Lcnp3xocz731wdYZ41ebLX+mqy7Zm96VVfRK8+EDtlxCBfe3dzl72upBm8N9/4R5syGqU/DtMkw823on/eN3/KjsEM+VNc1X4THLl+w3F5VNWy2L5y9c9b0fc9vQXXPrMn73t+DTfdZkOCronT7BH3i5FfZ/rifrrTjPXr+qSt8jK222orq6mqmTp262DJ77rknEyZMAGDKlCmsv/76AFRVVbH11lt3+lzNzc3sv//+7LXXXtx9992ceeaZnHTSSfOXr7nmGs4++2xuvPFGIoLvfe97HH744YwdO5bTTz+d9ddfn3HjxvHkk0+u2JuWJEmSOmHHYWtxxs3P0Dp3HlPeeY9+PavoVb2gsmi3jQfy6OS3+cBmg3h0cgt1a2ddi7daf00efPFN3rfRQMY+PYXTDsi+M++/3frsv936TJk2i29d8ShDBvRh2qxW1uydJf13PTeVTdZZtAVsyQ3eErb7BFx0MKw1HAZvBf0GLdjeZ60Fr7c9FJ77z+IT9KkT4Mlr4auPZAn6+R+FLethj6/AnWdmNfHD94SdjunKd6Tl0O0T9Ep077330qNHD9ZZZ53FlrnuuuvYbrvtgKzmfYsttmD06NHst99+fOYzn6F3796L7PPf//6XESNGzF++8sorqaqq4umnn+b888/nnHPOobm5eaHlK6+8knHjxvHII48wdepUdtllF/bcc08A7rvvPh5//HFHa5ckSVLJ1Pat4ejdNuLwP95NRHDaAVvzxMst3PnsVE4ctQmfeN9Q/u/KxzhizN3UVPXgjMN2AOA7H9mSb1/5CK1zE6M3X4dNB/cH4OuXjePllpn0qani9AO3AeDu597gt/95ln69qulV3YPGQ7cv2/tdyMjPZ4/XnoQ7fwM9ilqxznwb+gzIXr9wO6y96RIOlKDXGlDdK1us7pX1QV9zCNT/KusP8LudYOuDofeaXfNetFxM0EvoN7/5DX/729/o378/l112WYeDrX3rW9/ixz/+Meussw5/+ctfAPjBD37AUUcdxc0338zFF1/MJZdcwtixYxfZt6Mm7s3NzWy00UbsttuCESqLl++8804+9alPUVVVxbrrrsuoUaO4//77WXPNNRk5cqTJuSRJkkrusF2GcdguwxZat80G2VRrvaqr+PXhIxbZZ8O1+3LpCe9fZH1HZT+yzXp8ZJv1VkqsK9WFB8O8OdB3IHz0jGzguOdvgz2+Cnf9Fp4fCz2qYe3N4EPHZvs8cTU8cD688yr89UDY67uw4a4w5H3wp32ABHUfhEGbwe2/hOduzWrVN97L5LwCmaCXUFsf9CVp64Pe3iabbMIXvvAFPv/5z7POOuvwxhtvsPbaa3fqvP369Vvs8pKm2Wu/nyRJkqQudMw1Cy+vsQ6sn9fu7/OD7NHeNodkj/Y+VFh03ahvZQ9VLEdxXwU0NTXNT6SfffZZqqqqGDBgwEo59p577slll13G3Llzef3117njjjsYOXLkSjm2JEmS1FUKhQIRsdRHRzMgrcpW1/e9urAGvQvMmDGDoUOHzl/++te/vkLHu+iiizjllFPo27cv1dXV/P3vf+9wVPX2fdC/973vsfPOOy/x2Icccgh33303O+ywAxHBL37xC9Zbbz2eeuqpFYpZkiRJ6kqFQmGhJHT06NEAHXYF7U5W1/e9uoglNXGudP369UvTp09faN348ePZaqut5i9X0jRr3Un7n7MkSZJUTuVOVD935MeZMvnFkp/3rkeeAWD3HTYv+bkBBg/ZiL9cfFVZzt1ZETEjpbRK9N/t9jXoJtOSJEmSutqUyS9y3YlLGlm9a4z+8UsAZTk3wAF/nFCW83ZX3T5BlyRJkqTuonDl45x+1ZOLrI+jLl9o+bSPb03h0G1LFZZWEhN0SZIkSVpFFA7d1sS7G3MUd0mSJEmSKoAJuiRJkiRJFcAEXZIkSZKkCmCC3gXWWGONLjv2IYccwogRI9h0002pra1lxIgRjBgxgrvuuovdd9+9y84rSZIkSepa3X6QuJU9H2G55/m7+uqrgWx+x1/96ldcf/3187fddddd5QpLkiRJkrSCun2CvrLnI1yWef5SSnz729/mxhtvJCL43ve+x+GHH77Y9WPHjuUHP/gBa6+9Nk8//TR77rkn55xzDj16dK6hwxprrMG7777L2LFjOe2001h33XUZN24cH//4x9luu+0466yzmDlzJtdccw2bbLIJr7/+OieddBITJ04E4Mwzz2SPPfZYrp+LJEmSJGnFdPsEvZyuuuoqxo0bxyOPPMLUqVPZZZdd2HPPPbnrrrs6XA9w33338eSTT7LRRhux3377cdVVV/GJT3ximc/9yCOPMH78eAYOHMjGG2/M8ccfz3333cdZZ53F7373O84880y++tWvcsopp/CBD3yAiRMn8pGPfITx48ev7B+DJEmSJKkTTNC70J133smnPvUpqqqqWHfddRk1ahT333//YtevueaajBw5ko033hiAT33qU9x5553LlaDvsssurL/++gBssskmfPjDHwZgu+2247bbbgPglltu4cknn5y/z7Rp03jnnXfo37//ir51SZIkSdIyMkHvQimlZVoPEBFLXO6sXr16zX/do0eP+cs9evRgzpw5AMybN4+7776bPn36LNc5JEmSJEkrj6O4d6E999yTyy67jLlz5/L6669zxx13MHLkyMWuh6yJ+wsvvMC8efO47LLL+MAHPtBl8X34wx/m7LPPnr88bty4LjuXJEmSJGnJTNC70CGHHML222/PDjvswN57780vfvEL1ltvvcWuB3j/+99PQ0MD2267LcOHD+eQQw7psvh++9vf8sADD7D99tuz9dZbc+6553bZuSRJkiRJSxZLam5d6fr165emT5++0Lrx48ez1VZbzV9elaZZ62jqtErV/ucsSZIkldPo0aOB7Dt1ORww6n0rdfaoVcUBf5zAdbc/WO4wligiZqSU+pU7js7o9n3QyzlnuSRJkiRJndXtE/RVyejRo+ff+ZMkSZIkrV7sgy5JkiRJUgXolgn6qtyvflXgz1eSJEmSVr5ul6D37t2bN954wySyi6SUeOONN+jdu3e5Q5EkSZKkbqXb9UEfOnQokyZN4vXXXy93KN1W7969GTp0aLnDkCRJkqRupdsl6DU1NQwfPrzcYUiSJEmStEy6XRN3SZIkSZJWRSbokiRJkiRVABN0SZIkSZIqgAm6JEmSJEkVoNsNEidJkiSpfA498mgmTn615Od96pFHANhl1L4lPzfAjOYXgU3Lcm51HyVL0OsamvYDzgKqgD83N9Y3dlBmNHAmUANMbW6sH1Wq+CRJkiSt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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_fp8_weightonly</td>\n",
" <td>0.250386</td>\n",
" <td>0.098014</td>\n",
" <td>2.162742</td>\n",
" <td>0.025480</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>qwen_int8_weightonly</td>\n",
" <td>0.194428</td>\n",
" <td>0.087902</td>\n",
" <td>1.989593</td>\n",
" <td>0.028399</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>qwen_fp8</td>\n",
" <td>0.384760</td>\n",
" <td>0.092095</td>\n",
" <td>2.305696</td>\n",
" <td>0.038131</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>qwen_int8</td>\n",
" <td>0.609537</td>\n",
" <td>0.062481</td>\n",
" <td>9.517996</td>\n",
" <td>0.055190</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" experiment lpips_mean lpips_std time_mean time_std\n",
"0 qwen_base 0.000000 0.000000 1.752080 0.038048\n",
"1 qwen_fp8_weightonly 0.250386 0.098014 2.162742 0.025480\n",
"2 qwen_int8_weightonly 0.194428 0.087902 1.989593 0.028399\n",
"3 qwen_fp8 0.384760 0.092095 2.305696 0.038131\n",
"4 qwen_int8 0.609537 0.062481 9.517996 0.055190"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_all = compare_sets_with_timing(\n",
" ExperimentSet.create(\n",
" \"qwen_base\",\n",
" \"qwen_fp8_weightonly\",\n",
" \"qwen_int8_weightonly\",\n",
" \"qwen_fp8\",\n",
" \"qwen_int8\",\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
}
|