当前位置: 首页 > news >正文

BM1684X平台:Qwen-2-5-VL图像/视频识别应用

一、 简介

Qwen-2-5-VL 是阿里巴巴通义千问团队推出的多模态大语言模型(MLLM),属于 Qwen-2 系列模型的一部分,支持视觉(Vision)与语言(Language)的多模态交互。

1、特性

  • 动态分辨率处理:自适应调整图像分辨率以平衡精度与计算效率。
  • 跨模态对齐:通过对比学习对齐视觉-语言特征空间,提升模态交互能力。
  • 低资源适配:支持量化、LoRA微调等轻量化部署方案。

2、工程目录

    Qwen2-5-VL├── datasets│   ├──images                        # 默认为一张panda.jpg的图片│   └──videos                        # 默认为一段carvana_video.mp4的视频├── models│   └── BM1684X│       └── qwen2.5-vl-3b_bm1684x_w4bf16_seq2048.bmodel    # BM1684X qwen2.5-vl-3b模型├── python│   ├── __pycache__│   ├── configs                       # 配置文件│   ├── qwen2_5_vl.py                 # 启动程序│   ├── README.md                     # 说明文档│   ├── vision_process.py             # 视觉数据预处理文件│   └── requirements.txt              # python依赖├── scripts│   ├── compile.sh│   ├── datasets.zip│   ├── download_bm1684x_bmodel.sh       # 1684X盒子模型下载脚本│   ├── download_bm1688_bmodel.sh        # 1688盒子模型下载脚本│   └── download_datasets.sh             # 数据集下载脚本└── tools                              # 工具包

二、运行步骤

1、准备Python环境、数据与模型

1.1 首先升级python版本为3.10
    sudo add-apt-repository ppa:deadsnakes/ppasudo apt updatesudo apt install python3.10 python3.10-dev# 创建虚拟环境(不含pip包),以后每次运行都要按照步骤切换虚拟环境cd /data# 创建虚拟环境(不包含 pip)python3.10 -m venv --without-pip myenv# 进入虚拟环境source myenv/bin/activate# 手动安装 pipcurl https://bootstrap.pypa.io/get-pip.py -o get-pip.pypython get-pip.pyrm get-pip.py# 安装依赖库pip3 install torchvision pillow qwen_vl_utils transformers --upgrade
1.2 复制算能官方的Qwen2-5-VL工程目录(或者复制后将Qwen2_5-VL上传到盒子中的/data下)
    git clone https://github.com/sophgo/sophon-demo.gitcd sophon-demo/sample/Qwen2_5-VLcd /data/Qwen2_5-VL  ##如果只上传了LLM_api_server,则只需进入此目录下操作
1.3 准备运行环境

在PCIe上无需修改内存,以下为soc模式相关:

对于1684X系列设备(如SE7/SM7),都可以通过这种方式完成环境准备,使其满足Qwen2.5-VL运行条件。

首先,确保使用V24.04.01 SDK,可以通过bm_version命令检查SDK版本,如需要升级,可从sophgo.com获取v24.04.01版本SDK,刷机包位于sophon-img-xxx/sdcard.tgz中,参考对应的产品手册进行刷机。

确保SDK版本后,在1684x SoC环境上,参考如下命令修改设备内存

    cd /data/mkdir memedit && cd memeditwget -nd https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/09/11/13/DeviceMemoryModificationKit.tgztar xvf DeviceMemoryModificationKit.tgzcd DeviceMemoryModificationKittar xvf memory_edit_{vx.x}.tar.xz #vx.x是版本号cd memory_edit./memory_edit.sh -p #这个命令会打印当前的内存布局信息./memory_edit.sh -c -npu 7615 -vpu 2048 -vpp 2048 #如果是在1688平台上请修改为:./memory_edit.sh -c -npu 10240 -vpu 0 -vpp 3072sudo cp /data/memedit/DeviceMemoryModificationKit/memory_edit/emmcboot.itb /boot/emmcboot.itb && syncsudo reboot
1.4 安装unzip以及测试数据集准备
    sudo apt install unzipchmod -R +x scripts/./scripts/download_bm1684x_bmodel.sh  ##下载模型文件./scripts/download_datasets.sh  ##下载数据集

2、python例程

2.1 环境准备
    # 此外您可能还需要安装其他库cd /data/Qwen2_5-VL/pythonpip3 install dfss -i https://pypi.tuna.tsinghua.edu.cn/simple --upgradepip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple# 您需要安装SILK2.Tools.loggerpython3 -m dfss --url=open@sophgo.com:tools/silk2/silk2.tools.logger-1.0.2-py3-none-any.whlpip3 install silk2.tools.logger-1.0.2-py3-none-any.whl --force-reinstallrm -f silk2.tools.logger-1.0.2-py3-none-any.whl# 本例程依赖sophon-sail,可直接安装sophon-sail,执行如下命令:pip3 install dfss --upgradepython3 -m dfss --install sail# 需要下载运行配置文件,执行如下命令python3 -m dfss --url=open@sophgo.com:sophon-demo/Qwen2_5_VL/configs.zipunzip configs.ziprm configs.zip
2.2 启动测试
参数说明

可以通过修改qwen2_5_vl.py中的内容进行测试运行。内容如图:

TOOL

需要将其中896行的bmodel默认路径改为:../models/BM1684X/qwen2.5-vl-3b_bm1684x_w4bf16_seq2048.bmodel

使用方式
    # 视频识别python3 qwen2_5_vl.py --vision_inputs="[{\"type\":\"video_url\",\"video_url\":{\"url\": \"../datasets/videos/carvana_video.mp4\"},\"resized_height\":420,\"resized_width\":630,\"nframes\":2}]"# 图片识别python3 qwen2_5_vl.py --vision_inputs="[{\"type\":\"image_url\",\"image_url\":{\"url\": \"../datasets/images/panda.jpg\"}, \"max_side\":420}]"# 同时python3 qwen2_5_vl.py --vision_inputs="[{\"type\":\"video_url\",\"video_url\":{\"url\": \"../datasets/videos/carvana_video.mp4\"},\"resized_height\":420,\"resized_width\":630,\"nframes\":2},{\"type\":\"image_url\",\"image_url\":{\"url\": \"../datasets/images/panda.jpg\"}, \"max_side\":840}]"# 纯文本对话python3 qwen2_5_vl.py --vision_inputs=""
使用效果

TOOL

TOOL

http://www.dtcms.com/a/313982.html

相关文章:

  • 从医学视角深度解析微软医学 Agent 服务 MAI-DxO
  • 深入解析 Apache Tomcat 配置文件
  • 2025.08.04 移除元素
  • 【分享】拼团交易平台系统,分布式、高并发、微服务
  • 算法128. 最长连续序列
  • 大型软件系统的主要指标是什么?
  • 电商直播流量爆发式增长,华为云分布式流量治理与算力调度服务的应用场景剖析
  • Win11 下解决 VScode/Trae 插件加载慢, 整个 VScode/Trae 很卡
  • 电脑忘记开机密码怎么办?【图文详解】5种方法重置/更改/取消/设置开机密码?
  • windows双系统下ubuntu20.04安装教程
  • [Oracle] || 连接运算符
  • iOS混淆工具有哪些?功能测试与质量保障兼顾的混淆策略
  • lodash的替代品es-toolkit详解
  • kubernets命令行创建Token并附加权限给dashboard控制台登录
  • 远程测控终端RTU:工业物联的“神经末梢”与远程操控核心
  • 如何安装 nvm-setup.exe?Windows 安装 NVM 管理 Node.js 版本的完整流程(附安装包下载)
  • IPIDEA:全球领先的企业级代理 IP 服务商
  • 开源的现代数据探索和可视化平台:Apache Superset 在 Kubernetes 上安装
  • Seurat的FetchData()函数
  • Redis缓存详解及常见问题解决方案
  • 【编号443】黄河中上游极端降水指数数据(1961-2020年)
  • 安全扫描:目标主机支持RSA密钥交换问题
  • Ubuntu24.04的VSCode中安装MoonBit和MoonBit Toolchain(moon-pilot)
  • 存储函数与触发器:数据库自动化与业务逻辑封装的核心技术
  • ES-301A :让 Modbus 设备无缝接入工业以太网的高效桥梁
  • 408数据结构排序部分知识的复盘:从原理到辨析的系统化梳理
  • Calcite自定义扩展SQL案例详细流程篇
  • Mac中M系列芯片采用rbenv管理ruby版本
  • Tomcat虚拟主机配置详解和多实例部署
  • ubuntu22.04系统实践 linux基础入门命令(三) 用户管理命令