netsai/model_optimization
0
1{2 "cells": [3 {4 "cell_type": "code",5 "execution_count": 5,6 "id": "a0edd6cd",7 "metadata": {},8 "outputs": [9 {10 "name": "stdout",11 "output_type": "stream",12 "text": [13 "Collecting transformers\n",14 " Downloading transformers-5.8.0-py3-none-any.whl.metadata (33 kB)\n",15 "Collecting huggingface-hub<2.0,>=1.5.0 (from transformers)\n",16 " Downloading huggingface_hub-1.14.0-py3-none-any.whl.metadata (14 kB)\n",17 "Requirement already satisfied: numpy>=1.17 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from transformers) (1.26.4)\n",18 "Requirement already satisfied: packaging>=20.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from transformers) (26.0)\n",19 "Requirement already satisfied: pyyaml>=5.1 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from transformers) (6.0.3)\n",20 "Collecting regex>=2025.10.22 (from transformers)\n",21 " Downloading regex-2026.4.4-cp311-cp311-win_amd64.whl.metadata (41 kB)\n",22 "Collecting tokenizers<=0.23.0,>=0.22.0 (from transformers)\n",23 " Downloading tokenizers-0.22.2-cp39-abi3-win_amd64.whl.metadata (7.4 kB)\n",24 "Requirement already satisfied: typer in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from transformers) (0.24.1)\n",25 "Collecting safetensors>=0.4.3 (from transformers)\n",26 " Downloading safetensors-0.7.0-cp38-abi3-win_amd64.whl.metadata (4.2 kB)\n",27 "Collecting tqdm>=4.27 (from transformers)\n",28 " Downloading tqdm-4.67.3-py3-none-any.whl.metadata (57 kB)\n",29 "Requirement already satisfied: filelock>=3.10.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from huggingface-hub<2.0,>=1.5.0->transformers) (3.25.0)\n",30 "Requirement already satisfied: fsspec>=2023.5.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from huggingface-hub<2.0,>=1.5.0->transformers) (2026.2.0)\n",31 "Collecting hf-xet<2.0.0,>=1.4.3 (from huggingface-hub<2.0,>=1.5.0->transformers)\n",32 " Downloading hf_xet-1.5.0-cp37-abi3-win_amd64.whl.metadata (4.9 kB)\n",33 "Requirement already satisfied: httpx<1,>=0.23.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from huggingface-hub<2.0,>=1.5.0->transformers) (0.28.1)\n",34 "Requirement already satisfied: typing-extensions>=4.1.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from huggingface-hub<2.0,>=1.5.0->transformers) (4.15.0)\n",35 "Requirement already satisfied: anyio in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from httpx<1,>=0.23.0->huggingface-hub<2.0,>=1.5.0->transformers) (4.13.0)\n",36 "Requirement already satisfied: certifi in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from httpx<1,>=0.23.0->huggingface-hub<2.0,>=1.5.0->transformers) (2026.2.25)\n",37 "Requirement already satisfied: httpcore==1.* in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from httpx<1,>=0.23.0->huggingface-hub<2.0,>=1.5.0->transformers) (1.0.9)\n",38 "Requirement already satisfied: idna in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from httpx<1,>=0.23.0->huggingface-hub<2.0,>=1.5.0->transformers) (3.11)\n",39 "Requirement already satisfied: h11>=0.16 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from httpcore==1.*->httpx<1,>=0.23.0->huggingface-hub<2.0,>=1.5.0->transformers) (0.16.0)\n",40 "Requirement already satisfied: colorama in C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python311\\site-packages (from tqdm>=4.27->transformers) (0.4.6)\n",41 "Requirement already satisfied: click>=8.2.1 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from typer->transformers) (8.3.1)\n",42 "Requirement already satisfied: shellingham>=1.3.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from typer->transformers) (1.5.4)\n",43 "Requirement already satisfied: rich>=12.3.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from typer->transformers) (14.3.3)\n",44 "Requirement already satisfied: annotated-doc>=0.0.2 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from typer->transformers) (0.0.4)\n",45 "Requirement already satisfied: markdown-it-py>=2.2.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from rich>=12.3.0->typer->transformers) (4.0.0)\n",46 "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from rich>=12.3.0->typer->transformers) (2.19.2)\n",47 "Requirement already satisfied: mdurl~=0.1 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from markdown-it-py>=2.2.0->rich>=12.3.0->typer->transformers) (0.1.2)\n",48 "Downloading transformers-5.8.0-py3-none-any.whl (10.6 MB)\n",49 " ---------------------------------------- 0.0/10.6 MB ? eta -:--:--\n",50 " ---------------------------------------- 0.0/10.6 MB ? eta -:--:--\n",51 " --- ------------------------------------ 1.0/10.6 MB 4.2 MB/s eta 0:00:03\n",52 " --------------- ------------------------ 4.2/10.6 MB 9.7 MB/s eta 0:00:01\n",53 " ---------------------------------------- 10.6/10.6 MB 17.9 MB/s 0:00:00\n",54 "Downloading huggingface_hub-1.14.0-py3-none-any.whl (661 kB)\n",55 " ---------------------------------------- 0.0/661.5 kB ? eta -:--:--\n",56 " ---------------------------------------- 661.5/661.5 kB ? 0:00:00\n",57 "Downloading hf_xet-1.5.0-cp37-abi3-win_amd64.whl (4.0 MB)\n",58 " ---------------------------------------- 0.0/4.0 MB ? eta -:--:--\n",59 " ---------------------------------------- 4.0/4.0 MB 119.8 MB/s 0:00:00\n",60 "Downloading tokenizers-0.22.2-cp39-abi3-win_amd64.whl (2.7 MB)\n",61 " ---------------------------------------- 0.0/2.7 MB ? eta -:--:--\n",62 " ---------------------------------------- 2.7/2.7 MB 165.7 MB/s 0:00:00\n",63 "Downloading regex-2026.4.4-cp311-cp311-win_amd64.whl (278 kB)\n",64 "Downloading safetensors-0.7.0-cp38-abi3-win_amd64.whl (341 kB)\n",65 "Downloading tqdm-4.67.3-py3-none-any.whl (78 kB)\n",66 "Installing collected packages: tqdm, safetensors, regex, hf-xet, huggingface-hub, tokenizers, transformers\n",67 "\n",68 " ---------------------------------------- 0/7 [tqdm]\n",69 " ---------------------------------------- 0/7 [tqdm]\n",70 " ----------- ---------------------------- 2/7 [regex]\n",71 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",72 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",73 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",74 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",75 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",76 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",77 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",78 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",79 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",80 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",81 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",82 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",83 " ---------------------- ----------------- 4/7 [huggingface-hub]\n",84 " ---------------------------- ----------- 5/7 [tokenizers]\n",85 " ---------------------------------- ----- 6/7 [transformers]\n",86 " ---------------------------------- ----- 6/7 [transformers]\n",87 " ---------------------------------- ----- 6/7 [transformers]\n",88 " ---------------------------------- ----- 6/7 [transformers]\n",89 " ---------------------------------- ----- 6/7 [transformers]\n",90 " ---------------------------------- ----- 6/7 [transformers]\n",91 " ---------------------------------- ----- 6/7 [transformers]\n",92 " ---------------------------------- ----- 6/7 [transformers]\n",93 " ---------------------------------- ----- 6/7 [transformers]\n",94 " ---------------------------------- ----- 6/7 [transformers]\n",95 " ---------------------------------- ----- 6/7 [transformers]\n",96 " ---------------------------------- ----- 6/7 [transformers]\n",97 " ---------------------------------- ----- 6/7 [transformers]\n",98 " ---------------------------------- ----- 6/7 [transformers]\n",99 " ---------------------------------- ----- 6/7 [transformers]\n",100 " ---------------------------------- ----- 6/7 [transformers]\n",101 " ---------------------------------- ----- 6/7 [transformers]\n",102 " ---------------------------------- ----- 6/7 [transformers]\n",103 " ---------------------------------- ----- 6/7 [transformers]\n",104 " ---------------------------------- ----- 6/7 [transformers]\n",105 " ---------------------------------- ----- 6/7 [transformers]\n",106 " ---------------------------------- ----- 6/7 [transformers]\n",107 " ---------------------------------- ----- 6/7 [transformers]\n",108 " ---------------------------------- ----- 6/7 [transformers]\n",109 " ---------------------------------- ----- 6/7 [transformers]\n",110 " ---------------------------------- ----- 6/7 [transformers]\n",111 " ---------------------------------- ----- 6/7 [transformers]\n",112 " ---------------------------------- ----- 6/7 [transformers]\n",113 " ---------------------------------- ----- 6/7 [transformers]\n",114 " ---------------------------------- ----- 6/7 [transformers]\n",115 " ---------------------------------- ----- 6/7 [transformers]\n",116 " ---------------------------------- ----- 6/7 [transformers]\n",117 " ---------------------------------- ----- 6/7 [transformers]\n",118 " ---------------------------------- ----- 6/7 [transformers]\n",119 " ---------------------------------- ----- 6/7 [transformers]\n",120 " ---------------------------------- ----- 6/7 [transformers]\n",121 " ---------------------------------- ----- 6/7 [transformers]\n",122 " ---------------------------------- ----- 6/7 [transformers]\n",123 " ---------------------------------- ----- 6/7 [transformers]\n",124 " ---------------------------------- ----- 6/7 [transformers]\n",125 " ---------------------------------- ----- 6/7 [transformers]\n",126 " ---------------------------------- ----- 6/7 [transformers]\n",127 " ---------------------------------- ----- 6/7 [transformers]\n",128 " ---------------------------------- ----- 6/7 [transformers]\n",129 " ---------------------------------- ----- 6/7 [transformers]\n",130 " ---------------------------------- ----- 6/7 [transformers]\n",131 " ---------------------------------- ----- 6/7 [transformers]\n",132 " ---------------------------------- ----- 6/7 [transformers]\n",133 " ---------------------------------- ----- 6/7 [transformers]\n",134 " ---------------------------------- ----- 6/7 [transformers]\n",135 " ---------------------------------- ----- 6/7 [transformers]\n",136 " ---------------------------------- ----- 6/7 [transformers]\n",137 " ---------------------------------- ----- 6/7 [transformers]\n",138 " ---------------------------------- ----- 6/7 [transformers]\n",139 " ---------------------------------- ----- 6/7 [transformers]\n",140 " ---------------------------------- ----- 6/7 [transformers]\n",141 " ---------------------------------- ----- 6/7 [transformers]\n",142 " ---------------------------------- ----- 6/7 [transformers]\n",143 " ---------------------------------- ----- 6/7 [transformers]\n",144 " ---------------------------------- ----- 6/7 [transformers]\n",145 " ---------------------------------- ----- 6/7 [transformers]\n",146 " ---------------------------------- ----- 6/7 [transformers]\n",147 " ---------------------------------- ----- 6/7 [transformers]\n",148 " ---------------------------------- ----- 6/7 [transformers]\n",149 " ---------------------------------- ----- 6/7 [transformers]\n",150 " ---------------------------------- ----- 6/7 [transformers]\n",151 " ---------------------------------- ----- 6/7 [transformers]\n",152 " ---------------------------------- ----- 6/7 [transformers]\n",153 " ---------------------------------- ----- 6/7 [transformers]\n",154 " ---------------------------------- ----- 6/7 [transformers]\n",155 " ---------------------------------- ----- 6/7 [transformers]\n",156 " ---------------------------------- ----- 6/7 [transformers]\n",157 " ---------------------------------- ----- 6/7 [transformers]\n",158 " ---------------------------------- ----- 6/7 [transformers]\n",159 " ---------------------------------- ----- 6/7 [transformers]\n",160 " ---------------------------------- ----- 6/7 [transformers]\n",161 " ---------------------------------- ----- 6/7 [transformers]\n",162 " ---------------------------------- ----- 6/7 [transformers]\n",163 " ---------------------------------- ----- 6/7 [transformers]\n",164 " ---------------------------------- ----- 6/7 [transformers]\n",165 " ---------------------------------- ----- 6/7 [transformers]\n",166 " ---------------------------------- ----- 6/7 [transformers]\n",167 " ---------------------------------- ----- 6/7 [transformers]\n",168 " ---------------------------------- ----- 6/7 [transformers]\n",169 " ---------------------------------- ----- 6/7 [transformers]\n",170 " ---------------------------------- ----- 6/7 [transformers]\n",171 " ---------------------------------- ----- 6/7 [transformers]\n",172 " ---------------------------------- ----- 6/7 [transformers]\n",173 " ---------------------------------- ----- 6/7 [transformers]\n",174 " ---------------------------------- ----- 6/7 [transformers]\n",175 " ---------------------------------- ----- 6/7 [transformers]\n",176 " ---------------------------------- ----- 6/7 [transformers]\n",177 " ---------------------------------- ----- 6/7 [transformers]\n",178 " ---------------------------------- ----- 6/7 [transformers]\n",179 " ---------------------------------- ----- 6/7 [transformers]\n",180 " ---------------------------------- ----- 6/7 [transformers]\n",181 " ---------------------------------- ----- 6/7 [transformers]\n",182 " ---------------------------------- ----- 6/7 [transformers]\n",183 " ---------------------------------- ----- 6/7 [transformers]\n",184 " ---------------------------------- ----- 6/7 [transformers]\n",185 " ---------------------------------- ----- 6/7 [transformers]\n",186 " ---------------------------------- ----- 6/7 [transformers]\n",187 " ---------------------------------- ----- 6/7 [transformers]\n",188 " ---------------------------------- ----- 6/7 [transformers]\n",189 " ---------------------------------- ----- 6/7 [transformers]\n",190 " ---------------------------------- ----- 6/7 [transformers]\n",191 " ---------------------------------- ----- 6/7 [transformers]\n",192 " ---------------------------------- ----- 6/7 [transformers]\n",193 " ---------------------------------- ----- 6/7 [transformers]\n",194 " ---------------------------------- ----- 6/7 [transformers]\n",195 " ---------------------------------- ----- 6/7 [transformers]\n",196 " ---------------------------------- ----- 6/7 [transformers]\n",197 " ---------------------------------- ----- 6/7 [transformers]\n",198 " ---------------------------------- ----- 6/7 [transformers]\n",199 " ---------------------------------- ----- 6/7 [transformers]\n",200 " ---------------------------------- ----- 6/7 [transformers]\n",201 " ---------------------------------- ----- 6/7 [transformers]\n",202 " ---------------------------------- ----- 6/7 [transformers]\n",203 " ---------------------------------- ----- 6/7 [transformers]\n",204 " ---------------------------------- ----- 6/7 [transformers]\n",205 " ---------------------------------- ----- 6/7 [transformers]\n",206 " ---------------------------------- ----- 6/7 [transformers]\n",207 " ---------------------------------- ----- 6/7 [transformers]\n",208 " ---------------------------------- ----- 6/7 [transformers]\n",209 " ---------------------------------- ----- 6/7 [transformers]\n",210 " ---------------------------------- ----- 6/7 [transformers]\n",211 " ---------------------------------- ----- 6/7 [transformers]\n",212 " ---------------------------------- ----- 6/7 [transformers]\n",213 " ---------------------------------- ----- 6/7 [transformers]\n",214 " ---------------------------------- ----- 6/7 [transformers]\n",215 " ---------------------------------- ----- 6/7 [transformers]\n",216 " ---------------------------------- ----- 6/7 [transformers]\n",217 " ---------------------------------- ----- 6/7 [transformers]\n",218 " ---------------------------------- ----- 6/7 [transformers]\n",219 " ---------------------------------- ----- 6/7 [transformers]\n",220 " ---------------------------------- ----- 6/7 [transformers]\n",221 " ---------------------------------- ----- 6/7 [transformers]\n",222 " ---------------------------------- ----- 6/7 [transformers]\n",223 " ---------------------------------- ----- 6/7 [transformers]\n",224 " ---------------------------------- ----- 6/7 [transformers]\n",225 " ---------------------------------- ----- 6/7 [transformers]\n",226 " ---------------------------------- ----- 6/7 [transformers]\n",227 " ---------------------------------- ----- 6/7 [transformers]\n",228 " ---------------------------------- ----- 6/7 [transformers]\n",229 " ---------------------------------- ----- 6/7 [transformers]\n",230 " ---------------------------------- ----- 6/7 [transformers]\n",231 " ---------------------------------- ----- 6/7 [transformers]\n",232 " ---------------------------------- ----- 6/7 [transformers]\n",233 " ---------------------------------- ----- 6/7 [transformers]\n",234 " ---------------------------------- ----- 6/7 [transformers]\n",235 " ---------------------------------- ----- 6/7 [transformers]\n",236 " ---------------------------------- ----- 6/7 [transformers]\n",237 " ---------------------------------- ----- 6/7 [transformers]\n",238 " ---------------------------------- ----- 6/7 [transformers]\n",239 " ---------------------------------- ----- 6/7 [transformers]\n",240 " ---------------------------------- ----- 6/7 [transformers]\n",241 " ---------------------------------- ----- 6/7 [transformers]\n",242 " ---------------------------------- ----- 6/7 [transformers]\n",243 " ---------------------------------- ----- 6/7 [transformers]\n",244 " ---------------------------------- ----- 6/7 [transformers]\n",245 " ---------------------------------- ----- 6/7 [transformers]\n",246 " ---------------------------------- ----- 6/7 [transformers]\n",247 " ---------------------------------- ----- 6/7 [transformers]\n",248 " ---------------------------------- ----- 6/7 [transformers]\n",249 " ---------------------------------- ----- 6/7 [transformers]\n",250 " ---------------------------------- ----- 6/7 [transformers]\n",251 " ---------------------------------- ----- 6/7 [transformers]\n",252 " ---------------------------------- ----- 6/7 [transformers]\n",253 " ---------------------------------- ----- 6/7 [transformers]\n",254 " ---------------------------------- ----- 6/7 [transformers]\n",255 " ---------------------------------------- 7/7 [transformers]\n",256 "\n",257 "Successfully installed hf-xet-1.5.0 huggingface-hub-1.14.0 regex-2026.4.4 safetensors-0.7.0 tokenizers-0.22.2 tqdm-4.67.3 transformers-5.8.0\n",258 "Note: you may need to restart the kernel to use updated packages.\n"259 ]260 },261 {262 "name": "stderr",263 "output_type": "stream",264 "text": [265 "\n",266 "[notice] A new release of pip is available: 26.0.1 -> 26.1.1\n",267 "[notice] To update, run: python.exe -m pip install --upgrade pip\n"268 ]269 }270 ],271 "source": [272 "pip install transformers"273 ]274 },275 {276 "cell_type": "code",277 "execution_count": 6,278 "id": "80f295a2",279 "metadata": {},280 "outputs": [281 {282 "name": "stdout",283 "output_type": "stream",284 "text": [285 "Requirement already satisfied: onnx in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (1.20.1)\n",286 "Requirement already satisfied: numpy>=1.23.2 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnx) (1.26.4)\n",287 "Requirement already satisfied: protobuf>=4.25.1 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnx) (7.34.1)\n",288 "Requirement already satisfied: typing_extensions>=4.7.1 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnx) (4.15.0)\n",289 "Requirement already satisfied: ml_dtypes>=0.5.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnx) (0.5.4)\n",290 "Note: you may need to restart the kernel to use updated packages.\n"291 ]292 },293 {294 "name": "stderr",295 "output_type": "stream",296 "text": [297 "\n",298 "[notice] A new release of pip is available: 26.0.1 -> 26.1.1\n",299 "[notice] To update, run: python.exe -m pip install --upgrade pip\n"300 ]301 }302 ],303 "source": [304 "pip install onnx"305 ]306 },307 {308 "cell_type": "code",309 "execution_count": 7,310 "id": "7becfb4e",311 "metadata": {},312 "outputs": [313 {314 "name": "stdout",315 "output_type": "stream",316 "text": [317 "Requirement already satisfied: onnxruntime in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (1.24.3)\n",318 "Requirement already satisfied: flatbuffers in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxruntime) (25.12.19)\n",319 "Requirement already satisfied: numpy>=1.21.6 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxruntime) (1.26.4)\n",320 "Requirement already satisfied: packaging in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxruntime) (26.0)\n",321 "Requirement already satisfied: protobuf in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxruntime) (7.34.1)\n",322 "Requirement already satisfied: sympy in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxruntime) (1.14.0)\n",323 "Requirement already satisfied: mpmath<1.4,>=1.1.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from sympy->onnxruntime) (1.3.0)\n",324 "Note: you may need to restart the kernel to use updated packages.\n"325 ]326 },327 {328 "name": "stderr",329 "output_type": "stream",330 "text": [331 "\n",332 "[notice] A new release of pip is available: 26.0.1 -> 26.1.1\n",333 "[notice] To update, run: python.exe -m pip install --upgrade pip\n"334 ]335 }336 ],337 "source": [338 "pip install onnxruntime"339 ]340 },341 {342 "cell_type": "code",343 "execution_count": 8,344 "id": "8da5bcb5",345 "metadata": {},346 "outputs": [347 {348 "name": "stdout",349 "output_type": "stream",350 "text": [351 "Requirement already satisfied: onnxscript in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (0.6.2)\n",352 "Requirement already satisfied: ml_dtypes in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxscript) (0.5.4)\n",353 "Requirement already satisfied: numpy in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxscript) (1.26.4)\n",354 "Requirement already satisfied: onnx_ir<2,>=0.1.15 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxscript) (0.2.0)\n",355 "Requirement already satisfied: onnx>=1.17 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxscript) (1.20.1)\n",356 "Requirement already satisfied: packaging in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxscript) (26.0)\n",357 "Requirement already satisfied: typing_extensions>=4.10 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnxscript) (4.15.0)\n",358 "Requirement already satisfied: sympy>=1.13 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnx_ir<2,>=0.1.15->onnxscript) (1.14.0)\n",359 "Requirement already satisfied: protobuf>=4.25.1 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from onnx>=1.17->onnxscript) (7.34.1)\n",360 "Requirement already satisfied: mpmath<1.4,>=1.1.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from sympy>=1.13->onnx_ir<2,>=0.1.15->onnxscript) (1.3.0)\n",361 "Note: you may need to restart the kernel to use updated packages.\n"362 ]363 },364 {365 "name": "stderr",366 "output_type": "stream",367 "text": [368 "\n",369 "[notice] A new release of pip is available: 26.0.1 -> 26.1.1\n",370 "[notice] To update, run: python.exe -m pip install --upgrade pip\n"371 ]372 }373 ],374 "source": [375 "pip install onnxscript"376 ]377 },378 {379 "cell_type": "code",380 "execution_count": 9,381 "id": "34f134f5",382 "metadata": {},383 "outputs": [384 {385 "name": "stdout",386 "output_type": "stream",387 "text": [388 "Requirement already satisfied: pandas in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (3.0.1)\n",389 "Requirement already satisfied: numpy>=1.26.0 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from pandas) (1.26.4)\n",390 "Requirement already satisfied: python-dateutil>=2.8.2 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from pandas) (2.9.0.post0)\n",391 "Requirement already satisfied: tzdata in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from pandas) (2025.3)\n",392 "Requirement already satisfied: six>=1.5 in c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages (from python-dateutil>=2.8.2->pandas) (1.17.0)\n",393 "Note: you may need to restart the kernel to use updated packages.\n"394 ]395 },396 {397 "name": "stderr",398 "output_type": "stream",399 "text": [400 "\n",401 "[notice] A new release of pip is available: 26.0.1 -> 26.1.1\n",402 "[notice] To update, run: python.exe -m pip install --upgrade pip\n"403 ]404 }405 ],406 "source": [407 "pip install pandas"408 ]409 },410 {411 "cell_type": "code",412 "execution_count": null,413 "id": "de7c1865",414 "metadata": {},415 "outputs": [416 {417 "name": "stderr",418 "output_type": "stream",419 "text": [420 "c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\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",421 " from .autonotebook import tqdm as notebook_tqdm\n",422 "Loading weights: 100%|██████████| 320/320 [00:00<00:00, 8753.75it/s]\n"423 ]424 }425 ],426 "source": [427 "import torch\n",428 "from transformers import AutoModelForImageClassification\n",429 "import os\n",430 "\n",431 "# 1. Model Selection: โหลด Pre-trained ResNet-50 จาก Hugging Face\n",432 "model_name = \"microsoft/resnet-50\"\n",433 "model = AutoModelForImageClassification.from_pretrained(model_name)\n",434 "model.eval() # ปรับเป็นโหมดใช้งานจริง\n",435 "\n",436 "# บันทึกเป็น .pt เพื่อเอาไว้ดูขนาดไฟล์ Baseline\n",437 "torch.save(model.state_dict(), \"hf_resnet50.pt\") # hf = hugging face\n",438 "\n",439 "# 2. Create Dummy Input (1 image, 3 channels, 224x224)\n",440 "# สำหรับโมเดล Vision ของ Hugging Face มักจะใช้ชื่อ input ว่า pixel_values\n",441 "dummy_input = torch.randn(1, 3, 224, 224)"442 ]443 },444 {445 "cell_type": "code",446 "execution_count": 11,447 "id": "884b9246",448 "metadata": {},449 "outputs": [450 {451 "name": "stderr",452 "output_type": "stream",453 "text": [454 "W0507 18:25:32.931000 11916 site-packages\\torch\\onnx\\_internal\\exporter\\_compat.py:125] Setting ONNX exporter to use operator set version 18 because the requested opset_version 14 is a lower version than we have implementations for. Automatic version conversion will be performed, which may not be successful at converting to the requested version. If version conversion is unsuccessful, the opset version of the exported model will be kept at 18. Please consider setting opset_version >=18 to leverage latest ONNX features\n",455 "W0507 18:25:33.617000 11916 site-packages\\torch\\onnx\\_internal\\exporter\\_schemas.py:455] Missing annotation for parameter 'input' from (input, boxes, output_size: 'Sequence[int]', spatial_scale: 'float' = 1.0, sampling_ratio: 'int' = -1, aligned: 'bool' = False). Treating as an Input.\n",456 "W0507 18:25:33.618000 11916 site-packages\\torch\\onnx\\_internal\\exporter\\_schemas.py:455] Missing annotation for parameter 'boxes' from (input, boxes, output_size: 'Sequence[int]', spatial_scale: 'float' = 1.0, sampling_ratio: 'int' = -1, aligned: 'bool' = False). Treating as an Input.\n",457 "W0507 18:25:33.619000 11916 site-packages\\torch\\onnx\\_internal\\exporter\\_schemas.py:455] Missing annotation for parameter 'input' from (input, boxes, output_size: 'Sequence[int]', spatial_scale: 'float' = 1.0). Treating as an Input.\n",458 "W0507 18:25:33.619000 11916 site-packages\\torch\\onnx\\_internal\\exporter\\_schemas.py:455] Missing annotation for parameter 'boxes' from (input, boxes, output_size: 'Sequence[int]', spatial_scale: 'float' = 1.0). Treating as an Input.\n"459 ]460 },461 {462 "name": "stdout",463 "output_type": "stream",464 "text": [465 "[torch.onnx] Obtain model graph for `ResNetForImageClassification([...]` with `torch.export.export(..., strict=False)`...\n",466 "[torch.onnx] Obtain model graph for `ResNetForImageClassification([...]` with `torch.export.export(..., strict=False)`... ✅\n",467 "[torch.onnx] Run decomposition...\n"468 ]469 },470 {471 "name": "stderr",472 "output_type": "stream",473 "text": [474 "c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\copyreg.py:105: FutureWarning: `isinstance(treespec, LeafSpec)` is deprecated, use `isinstance(treespec, TreeSpec) and treespec.is_leaf()` instead.\n",475 " return cls.__new__(cls, *args)\n",476 "The model version conversion is not supported by the onnxscript version converter and fallback is enabled. The model will be converted using the onnx C API (target version: 14).\n"477 ]478 },479 {480 "name": "stdout",481 "output_type": "stream",482 "text": [483 "[torch.onnx] Run decomposition... ✅\n",484 "[torch.onnx] Translate the graph into ONNX...\n",485 "[torch.onnx] Translate the graph into ONNX... ✅\n"486 ]487 },488 {489 "name": "stderr",490 "output_type": "stream",491 "text": [492 "Failed to convert the model to the target version 14 using the ONNX C API. The model was not modified\n",493 "Traceback (most recent call last):\n",494 " File \"c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\onnxscript\\version_converter\\__init__.py\", line 120, in call\n",495 " converted_proto = _c_api_utils.call_onnx_api(\n",496 " ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",497 " File \"c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\onnxscript\\version_converter\\_c_api_utils.py\", line 65, in call_onnx_api\n",498 " result = func(proto)\n",499 " ^^^^^^^^^^^\n",500 " File \"c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\onnxscript\\version_converter\\__init__.py\", line 115, in _partial_convert_version\n",501 " return onnx.version_converter.convert_version(\n",502 " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",503 " File \"c:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\onnx\\version_converter.py\", line 39, in convert_version\n",504 " converted_model_str = C.convert_version(model_str, target_version)\n",505 " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",506 "RuntimeError: D:\\a\\onnx\\onnx\\onnx/version_converter/adapters/axes_input_to_attribute.h:65: adapt: Assertion `node->hasAttribute(kaxes)` failed: No initializer or constant input to node found\n"507 ]508 },509 {510 "name": "stdout",511 "output_type": "stream",512 "text": [513 "Applied 106 of general pattern rewrite rules.\n",514 "Exported to ONNX successfully!\n"515 ]516 }517 ],518 "source": [519 "# 3. Export to ONNX\n",520 "torch.onnx.export(\n",521 " model, # โมเดลต้นฉบับ (ResNet-50)\n",522 " dummy_input, # ข้อมูลตัวอย่างสำหรับไล่กราฟ (Tracing)\n",523 " \"hf_resnet50.onnx\", # ชื่อไฟล์ปลายทาง\n",524 " input_names=['input'], # กำหนดชื่อเรียก Input\n",525 " output_names=['output'], # กำหนดชื่อเรียก Output\n",526 " opset_version=14 # เวอร์ชันของชุดคำสั่งคณิตศาสตร์\n",527 ")\n",528 "print(\"Exported to ONNX successfully!\")"529 ]530 },531 {532 "cell_type": "code",533 "execution_count": null,534 "id": "45bfa0ca",535 "metadata": {},536 "outputs": [537 {538 "name": "stdout",539 "output_type": "stream",540 "text": [541 "Quantization Complete! Check your folder for the new file.\n"542 ]543 }544 ],545 "source": [546 "from onnxruntime.quantization import quantize_dynamic, QuantType, quant_pre_process\n",547 "\n",548 "# เตรียมไฟล์ก่อน Quantize (จัดระเบียบกราฟ)\n",549 "quant_pre_process(\"hf_resnet50.onnx\", \"hf_resnet50_prep.onnx\")\n",550 "\n",551 "# 4. Quantization: บีบอัดไฟล์เป็น INT8\n",552 "quantize_dynamic(\n",553 " \"hf_resnet50_prep.onnx\", \n",554 " \"hf_resnet50_int8.onnx\", \n",555 " weight_type=QuantType.QUInt8, # แปลง Weights เป็น 8-bit Integer\n",556 ")\n",557 "\n",558 "print(\"Quantization Complete! Check your folder for the new file.\")"559 ]560 },561 {562 "cell_type": "code",563 "execution_count": 14,564 "id": "8233ed72",565 "metadata": {},566 "outputs": [567 {568 "name": "stdout",569 "output_type": "stream",570 "text": [571 "Benchmarking PyTorch...\n",572 "Benchmarking ONNX...\n",573 "Benchmarking ONNX INT8...\n",574 "\n",575 "--- สรุปผล Model Optimization ---\n",576 " Model File Size (MB) Avg Latency (ms)\n",577 "0 HF PyTorch FP32 97.818442 32.903767\n",578 "1 HF ONNX FP32 97.841096 12.911723\n",579 "2 HF ONNX INT8 24.738075 18.935103\n"580 ]581 }582 ],583 "source": [584 "import time\n",585 "import onnxruntime as ort\n",586 "import pandas as pd\n",587 "\n",588 "def benchmark_pytorch(model, input_tensor, runs=100):\n",589 " times = []\n",590 " with torch.no_grad():\n",591 " for _ in range(runs):\n",592 " start = time.time()\n",593 " _ = model(input_tensor) # ประมวลผลด้วย PyTorch\n",594 " end = time.time()\n",595 " times.append(end - start)\n",596 " return (sum(times) / runs) * 1000\n",597 "\n",598 "def benchmark_onnx(model_path, input_tensor, runs=100):\n",599 " session = ort.InferenceSession(model_path)\n",600 " # ดึงชื่อ Input อัตโนมัติ (ซึ่งก็คือ pixel_values)\n",601 " input_name = session.get_inputs()[0].name\n",602 " ort_inputs = {input_name: input_tensor.numpy()}\n",603 " \n",604 " times = []\n",605 " for _ in range(runs):\n",606 " start = time.time()\n",607 " session.run(None, ort_inputs) # ประมวลผลด้วย ONNX\n",608 " end = time.time()\n",609 " times.append(end - start)\n",610 " return (sum(times) / runs) * 1000\n",611 "\n",612 "def get_size_mb(file):\n",613 " return os.path.getsize(file) / (1024*1024)\n",614 "\n",615 "# รันเก็บค่า Latency\n",616 "print(\"Benchmarking PyTorch...\")\n",617 "pt_latency = benchmark_pytorch(model, dummy_input)\n",618 "\n",619 "print(\"Benchmarking ONNX...\")\n",620 "onnx_latency = benchmark_onnx(\"hf_resnet50_prep.onnx\", dummy_input)\n",621 "\n",622 "print(\"Benchmarking ONNX INT8...\")\n",623 "int8_latency = benchmark_onnx(\"hf_resnet50_int8.onnx\", dummy_input)\n",624 "\n",625 "# 5. Data Collection\n",626 "data = {\n",627 " \"Model\": [\"HF PyTorch FP32\", \"HF ONNX FP32\", \"HF ONNX INT8\"],\n",628 " \"File Size (MB)\": [\n",629 " get_size_mb(\"hf_resnet50.pt\"),\n",630 " get_size_mb(\"hf_resnet50_prep.onnx\"),\n",631 " get_size_mb(\"hf_resnet50_int8.onnx\")\n",632 " ],\n",633 " \"Avg Latency (ms)\": [pt_latency, onnx_latency, int8_latency]\n",634 "}\n",635 "\n",636 "df = pd.DataFrame(data)\n",637 "print(\"\\n--- สรุปผล Model Optimization ---\")\n",638 "print(df)"639 ]640 }641 ],642 "metadata": {643 "kernel_info": {644 "name": "python"645 },646 "kernelspec": {647 "display_name": "Python 3",648 "language": "python",649 "name": "python3"650 },651 "language_info": {652 "codemirror_mode": {653 "name": "ipython",654 "version": 3655 },656 "file_extension": ".py",657 "mimetype": "text/x-python",658 "name": "python",659 "nbconvert_exporter": "python",660 "pygments_lexer": "ipython3",661 "version": "3.11.0"662 },663 "nteract": {664 "version": "nteract-front-end@1.0.0"665 }666 },667 "nbformat": 4,668 "nbformat_minor": 5669}670 