Views
No views yet
1
2import requests
3from pathlib import Path
4
5if not Path("ov_phi3_vision.py").exists():
6 r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/notebooks/phi-3-vision/ov_phi3_vision.py")
7 open("ov_phi3_vision.py", "w").write(r.text)
8
9
10if not Path("gradio_helper.py").exists():
11 r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/notebooks/phi-3-vision/gradio_helper.py")
12 open("gradio_helper.py", "w").write(r.text)
13
14if not Path("notebook_utils.py").exists():
15 r = requests.get(url="https://raw.githubusercontent.com/openvinotoolkit/openvino_notebooks/latest/utils/notebook_utils.py")
16 open("notebook_utils.py", "w").write(r.text)
17
18from ov_phi3_vision import convert_phi3_model
19
20from pathlib import Path
21import nncf
22
23
24model_id = "microsoft/Phi-3.5-vision-instruct"
25out_dir = Path("Save Your Phi-3.5-vision OpenVINO INT4 PATH")
26compression_configuration = {
27 "mode": nncf.CompressWeightsMode.INT4_SYM,
28 "group_size": 64,
29 "ratio": 0.6,
30}
31
32convert_phi3_model(model_id, out_dir, compression_configuration)
331
2from ov_phi3_vision import OvPhi3Vision
3
4from notebook_utils import device_widget
5
6device = device_widget(default="GPU", exclude=["NPU"])
7
8out_dir = Path("Your Phi-3.5-vision OpenVINO INT4 PATH")
9
10model = OvPhi3Vision(out_dir, device.value)
11
12import requests
13from PIL import Image
14
15image = Image.open(r"Your local image Path")
16
17from transformers import AutoProcessor, TextStreamer
18
19messages = [
20 {"role": "user", "content": "<|image_1|>\nPlease analyze the image"},
21]
22
23processor = AutoProcessor.from_pretrained(out_dir, trust_remote_code=True)
24
25prompt = processor.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
26
27inputs = processor(prompt, [image], return_tensors="pt")
28
29generation_args = {"max_new_tokens": 500, "do_sample": False, "streamer": TextStreamer(processor.tokenizer, skip_prompt=True, skip_special_tokens=True)}
30
31print("Analyze:")
32generate_ids = model.generate(**inputs, eos_token_id=processor.tokenizer.eos_token_id, **generation_args)
33