File size: 1,562 Bytes
e1ca814
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
599c69e
 
 
 
e1ca814
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
base_model:
- microsoft/Phi-3.5-vision-instruct
---

This is the [microsoft/Phi-3.5-vision-instruct](https://huggingface.co/microsoft/Phi-3.5-vision-instruct) model, converted to OpenVINO, with fp16 weights.

Use OpenVINO GenAI to run inference on this model:

- Install OpenVINO GenAI nightly and pillow:
```
pip install --upgrade --pre pillow openvino-genai openvino openvino-tokenizers --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly
```
- Download a test image: `curl -O "https://storage.openvinotoolkit.org/test_data/images/dog.jpg"`
- Run inference:

```python
import numpy as np
import openvino as ov
import openvino_genai
from PIL import Image

# Choose GPU instead of CPU in the line below to run the model on Intel integrated or discrete GPU
pipe = openvino_genai.VLMPipeline("Phi-3.5-vision-instruct-ov-fp16", "CPU")
pipe.start_chat()

# Setting eos_token_id to tokenizer's eos token id is necessary for Phi-3.5-vision-instruct
config = openvino_genai.GenerationConfig()
config.set_eos_token_id(pipe.get_tokenizer().get_eos_token_id())
config.max_new_tokens = 100

image = Image.open("dog.jpg")
image_data = np.array(image.getdata()).reshape(1, image.size[1], image.size[0], 3).astype(np.uint8)
image_data = ov.Tensor(image_data)  

prompt = "Can you describe the image?"
result = pipe.generate(prompt, image=image_data, generation_config=config)
print(result.texts[0])
```

See [OpenVINO GenAI repository](https://github.com/openvinotoolkit/openvino.genai?tab=readme-ov-file#performing-visual-language-text-generation)