Skip to content

Commit 303bc50

Browse files
Replace deprecated openvino.runtime (#1280)
* remove deprecated openvino.runtime * remove deprecated openvino.runtime * remove deprecated openvino.runtime * remove unused * fix, test and distribute notebooks * skip diffusion * sudo * skip senetence transformers notebook as well until quantization recipe is fixed * rm amd --------- Co-authored-by: IlyasMoutawwakil <[email protected]>
1 parent 23c58c3 commit 303bc50

File tree

10 files changed

+334
-218
lines changed

10 files changed

+334
-218
lines changed

.github/workflows/test_openvino_notebooks.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,12 @@ on:
55
schedule:
66
- cron: "14 3 * * 1" # run weekly: every Monday at 3:14
77
push:
8-
paths:
9-
- ".github/workflows/test_openvino_notebooks.yml"
10-
- "notebooks/openvino/*"
8+
branches:
9+
- v*-release
1110
pull_request:
1211
paths:
13-
- ".github/workflows/test_openvino_notebooks.yml"
1412
- "notebooks/openvino/*"
13+
- ".github/workflows/test_openvino_notebooks.yml"
1514

1615
concurrency:
1716
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@@ -25,7 +24,13 @@ jobs:
2524
strategy:
2625
fail-fast: false
2726
matrix:
28-
python-version: ["3.9", "3.12"]
27+
python-version: [3.9]
28+
test_file: [
29+
"optimum_openvino_inference.ipynb",
30+
"question_answering_quantization.ipynb",
31+
# "sentence_transformer_quantization.ipynb", TODO: fix and run on any cpu
32+
# "stable_diffusion_hybrid_quantization.ipynb", TODO: update and ran on a powerful cpu
33+
]
2934

3035
runs-on: ubuntu-22.04
3136

@@ -38,16 +43,20 @@ jobs:
3843
with:
3944
python-version: ${{ matrix.python-version }}
4045

46+
- name: Install packages
47+
run: |
48+
sudo apt-get install -y ffmpeg
49+
4150
- name: Install dependencies
4251
run: |
43-
# ffmpeg is required for image classification and audio classification pipelines
44-
sudo apt-get install ffmpeg
4552
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
4653
pip install -r notebooks/openvino/requirements.txt
4754
pip install .[tests,openvino] nbval
4855
56+
- name: Change some variables
57+
run: |
58+
sed -i 's/NUM_TRAIN_ITEMS = 600/NUM_TRAIN_ITEMS = 2/' notebooks/openvino/question_answering_quantization.ipynb
59+
4960
- name: Test with Pytest
5061
run: |
51-
sed -i 's/NUM_TRAIN_ITEMS = 600/NUM_TRAIN_ITEMS = 10/' notebooks/openvino/question_answering_quantization.ipynb
52-
sed -i 's/# %pip install/%pip install/' notebooks/openvino/optimum_openvino_inference.ipynb
53-
python -m pytest --nbval-lax notebooks/openvino/optimum_openvino_inference.ipynb notebooks/openvino/question_answering_quantization.ipynb
62+
pytest --nbval-lax -vvvv notebooks/openvino/${{ matrix.test_file }}

notebooks/openvino/quantized_generation_demo.ipynb renamed to notebooks/openvino/demos/quantized_generation_demo.ipynb

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
"import os\n",
4646
"\n",
4747
"from transformers import AutoTokenizer\n",
48+
"\n",
4849
"from optimum.intel import OVModelForCausalLM, OVWeightQuantizationConfig"
4950
]
5051
},
@@ -211,6 +212,7 @@
211212
"source": [
212213
"from transformers import TextStreamer\n",
213214
"\n",
215+
"\n",
214216
"# Tokenize the sample\n",
215217
"inputs = tokenizer([sample], return_tensors='pt')\n",
216218
"\n",
@@ -294,15 +296,15 @@
294296
"\n",
295297
"\n",
296298
"# Tokenize the sample\n",
297-
"inputs = tokenizer([sample], return_tensors='pt') \n",
299+
"inputs = tokenizer([sample], return_tensors='pt')\n",
298300
"\n",
299301
"out = stateless_model.generate(\n",
300302
" **inputs,\n",
301303
" max_new_tokens=128,\n",
302304
" streamer=TextStreamer(tokenizer=tokenizer, skip_special_tokens=True),\n",
303305
" pad_token_id=tokenizer.eos_token_id,\n",
304306
" prompt_lookup_num_tokens=3,\n",
305-
") "
307+
")"
306308
]
307309
},
308310
{
@@ -442,6 +444,7 @@
442444
"outputs": [],
443445
"source": [
444446
"from functools import wraps\n",
447+
"\n",
445448
"import numpy as np\n",
446449
"\n",
447450
"\n",
@@ -458,15 +461,15 @@
458461
" if len(self.seq_lens) > 0 or len(self.win_sizes) > 0:\n",
459462
" raise RuntimeError(\"Always use a new instance, don't reuse!\")\n",
460463
" self.model_forward = self.model.forward\n",
461-
" \n",
464+
"\n",
462465
" @wraps(self.model_forward)\n",
463466
" def forward_wrapper(**kwargs):\n",
464467
" self.seq_lens[-1].append(kwargs.get(\"attention_mask\").shape[-1])\n",
465468
" self.win_sizes[-1].append(kwargs.get(\"input_ids\").shape[-1] - 1)\n",
466469
" return self.model_forward(**kwargs)\n",
467-
" \n",
470+
"\n",
468471
" self.model.forward = forward_wrapper\n",
469-
" \n",
472+
"\n",
470473
" # wrap generate method\n",
471474
" self.model_generate = self.model.generate\n",
472475
"\n",
@@ -494,7 +497,7 @@
494497
" self.seq_lens = [sl[1:] for sl in self.seq_lens]\n",
495498
" # Add window size for output to ease calculation later\n",
496499
" for ws, sl in zip(self.win_sizes, self.seq_lens):\n",
497-
" ws.append(0) \n",
500+
" ws.append(0)\n",
498501
"\n",
499502
" def acceptance_rate(self, return_mean=True, normalize=False):\n",
500503
" # ar_per_win = ((cur_seq_len - cur_win_size) - (prev_seq_len - prev_win_size) - 1) / prev_win_size\n",
@@ -533,8 +536,9 @@
533536
"metadata": {},
534537
"outputs": [],
535538
"source": [
536-
"from tqdm import tqdm\n",
537539
"from datasets import load_dataset\n",
540+
"from tqdm import tqdm\n",
541+
"\n",
538542
"\n",
539543
"dataset_name = \"openai_humaneval\"\n",
540544
"dataset_subset_name = None\n",
@@ -590,10 +594,10 @@
590594
"from threading import Thread\n",
591595
"\n",
592596
"from transformers import (\n",
593-
" TextIteratorStreamer,\n",
597+
" GenerationConfig,\n",
594598
" StoppingCriteria,\n",
595599
" StoppingCriteriaList,\n",
596-
" GenerationConfig,\n",
600+
" TextIteratorStreamer,\n",
597601
")\n",
598602
"\n",
599603
"\n",
@@ -690,7 +694,7 @@
690694
" prompt_char = \"\"\n",
691695
" history[-1][1] = prompt_char\n",
692696
" yield history, \"Status: Generating...\", *([gr.update(interactive=False)] * 4)\n",
693-
" \n",
697+
"\n",
694698
" streamer = TextIteratorStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)\n",
695699
"\n",
696700
" # Create a stopping criteria to prevent the model from playing the role of the user aswell.\n",
@@ -770,6 +774,7 @@
770774
"source": [
771775
"import gradio as gr\n",
772776
"\n",
777+
"\n",
773778
"try:\n",
774779
" demo.close()\n",
775780
"except:\n",
@@ -808,7 +813,7 @@
808813
" history: conversation history\n",
809814
" Returns:\n",
810815
" updated history\n",
811-
" \"\"\" \n",
816+
" \"\"\"\n",
812817
" history[-1][1] = None\n",
813818
" return history\n",
814819
"\n",

0 commit comments

Comments
 (0)