首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >OpenVINO2025+QWen2.5-VL多模态大模型应用演示

OpenVINO2025+QWen2.5-VL多模态大模型应用演示

作者头像
OpenCV学堂
发布2026-04-02 19:24:32
发布2026-04-02 19:24:32
1240
举报
模型下载与转换

QWen-VL是主要是由QWen LLM、Vision Encoder、MLP-based Vision-Language Merger 三个组件组合完成的架构,完整的QWen-VL的架构图示如下:

当前支持Qwen/Qwen2.5-VL-3B-Instruct与Qwen/Qwen2.5-VL-7B-Instruct两个模型可供下载

代码语言:javascript
复制
huggingface-cli download "Qwen/Qwen2.5-VL-3B-Instruct" --local-dir qwen2.5_3b

下载完成以后需要使用optimum-cli工具把模型转换为OpenVINO支持格式,命令行格式如下:

代码语言:javascript
复制
optimum-cli export openvino --model <model_id_or_path> --task <task> <output_dir>

需要安装一下NNCF这个工具,

代码语言:javascript
复制
pip install nncf -i https://pypi.tuna.tsinghua.edu.cn/simple

帮助把大模型压缩量化支持INT8、INT4模式文件。转换的命令行如下:

代码语言:javascript
复制
optimum-cli export openvino --model ./qwen2.5_3b qwen2.5_3b/INT4 --task image-text-to-text --weight-format int4

官方文档给出转换命令行 没有--task参数会导致转换时候报错,错误提示就是必须指定--task参数,QWen2.5-VL模型支持的task参数如下:

代码语言:javascript
复制
--task image-text-to-text

表示多模态输入支持图像与文本。

转换之后生成INT4格式的qwen2.5-openvino格式文件

推理SDK与演示

首先需要安装QWen API工具支持包

代码语言:javascript
复制
pip install qwen-vl-utils[decord]

安装好以后,然后通过optimum openvino的插件OVModelForVisualCausalLM 加载模型,基于QWen API函数构建输入预处理与输出后处理,最终实现的代码如下:

代码语言:javascript
复制
import cv2 as cv
from transformers import AutoProcessor, AutoTokenizer
from qwen_vl_utils import process_vision_info
from transformers import TextStreamer
from optimum.intel.openvino import OVModelForVisualCausalLM
min_pixels = 256 * 28 * 28
max_pixels = 1280 * 28 * 28
model_dir = "D:/LLMs/qwen2.5_3b/INT4"
processor = AutoProcessor.from_pretrained(model_dir, min_pixels=min_pixels, max_pixels=max_pixels)
model = OVModelForVisualCausalLM.from_pretrained(model_dir, device="CPU")
if processor.chat_template is None:
    tok = AutoTokenizer.from_pretrained("D:/LLMs/qwen2.5_3b")
    processor.chat_template = tok.chat_template
image = cv.imread("D:/pedestrian.png")
question = "how many persons in the image?"
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": "D:/pedestrian.png",
            },
            {"type": "text", "text": question},
        ],
    }
]
# Preparation for inference
text = processor.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
    text=[text],
    images=image_inputs,
    videos=video_inputs,
    padding=True,
    return_tensors="pt",
)

QWen2.5-VL 零样本的图像分类与内容检测演示

QWen2.5-VL OCR识别演示

OpenVINO+QWen2.5-VL大模型部署真香。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档