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

阿里千问大模型(Qwen2.5-VL-7B-Instruct)部署

参考链接

知乎帖子
B站视频
huggingface 镜像网站(不太全,比如 Qwen/Qwen2.5-VL-7B-Instruct就没有)
huggingface 5种下载方式汇总
通过huggingface-cli下载模型

在这里插入图片描述

不一样的部分是预训练权重的下载和demo

首先安装huggingface_hub

pip install -U huggingface_hub

设置镜像

export HF_ENDPOINT=https://hf-mirror.com

windows端需要添加系统变量。

名称:HF_ENDPOINT,值: "https://hf-mirror.com"

然后通过huggingface-cli下载模型,

huggingface-cli download --resume-download  Qwen/Qwen2.5-VL-7B-Instruct --local-dir ./ --local-dir-use-symlinks False --resume-download

参考:通过huggingface-cli下载模型

运行DEMO

加载模型方式

如果希望下载到指定的目录,可以往from_pretrained方法传入cache_dir 参数,如下所示:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("internlm/internlm2-chat-7b", torch_dtype=torch.float16, trust_remote_code=True, cache_dir='/home/{username}/huggingface').cuda()

运行以下代码

import gradio as gr
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
from qwen_vl_utils import process_vision_info
import torch# 加载模型和处理器
model = Qwen2_5_VLForConditionalGeneration.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct", torch_dtype="auto", device_map="auto"
)
processor = AutoProcessor.from_pretrained("Qwen/Qwen2.5-VL-7B-Instruct")def process_image_and_text(image, text_prompt):if image is None:return "请上传一张图片。"# 构建消息格式messages = [{"role": "user","content": [{"type": "image","image": image,  # Gradio将自动处理图片路径},{"type": "text", "text": text_prompt if text_prompt else "Describe this image."},],}]try:# 准备推理输入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",)inputs = inputs.to(model.device)# 生成输出with torch.no_grad():generated_ids = model.generate(**inputs, max_new_tokens=128)generated_ids_trimmed = [out_ids[len(in_ids):] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)]output_text = processor.batch_decode(generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False)return output_text[0]except Exception as e:return f"处理过程中出现错误: {str(e)}"# 创建Gradio界面
with gr.Blocks() as demo:gr.Markdown("# Qwen2.5-VL 图像理解演示")with gr.Row():with gr.Column():image_input = gr.Image(type="filepath", label="上传图片")text_input = gr.Textbox(placeholder="请输入提示语(如不输入,默认描述图片)", label="提示语")submit_btn = gr.Button("提交")with gr.Column():output = gr.Textbox(label="输出结果")submit_btn.click(fn=process_image_and_text,inputs=[image_input, text_input],outputs=output)gr.Examples(examples=[["path/to/example1.jpg", "这张图片里有什么?"],["path/to/example2.jpg", "描述图中的场景"],],inputs=[image_input, text_input],)# 启动应用
if __name__ == "__main__":demo.launch(share=True)

相关文章:

阿里千问大模型(Qwen2.5-VL-7B-Instruct)部署

参考链接 知乎帖子 B站视频 huggingface 镜像网站(不太全,比如 Qwen/Qwen2.5-VL-7B-Instruct就没有) huggingface 5种下载方式汇总 通过huggingface-cli下载模型 不一样的部分是预训练权重的下载和demo 首先安装huggingface_hub pip insta…...

【人工智能】随机森林的智慧:集成学习的理论与实践

随机森林(Random Forest)是一种强大的集成学习算法,通过构建多棵决策树并结合投票或平均预测提升模型性能。本文深入探讨了随机森林的理论基础,包括决策树的构建、Bagging方法和特征随机选择机制,并通过LaTeX公式推导其偏差-方差分解和误差分析。接着,我们详细描述了随机…...

Javascript基础语法详解

面向对象的语言.脚本语言,不需要编译,浏览器解释即可运行 .用于控制网页的行为.浏览器的source可以打断点调试, console输入代码可以执行 use strict指令: 在“严格模式”下运行js代码, 防止意外创建全局变量等, 提高代码安全性和执行效率. 使用: 全局严格模式:…...

前端状态管理 pinia和vuex高频面试题

前端状态管理 Pinia 和 Vuex 是 Vue 生态中常用的状态管理方案,在面试中经常涉及 基本概念、对比、最佳实践、性能优化 等多个方面。以下是 高频面试题 详细答案,共 20 题,助你轻松应对面试!🚀 🔥 基础概念…...

【Go学习实战】03-3-文章评论及写文章

【Go学习实战】03-3-文章评论及写文章 文章评论注册valine获取凭证加载评论页面 写文章修改cdn位置完善功能查看页面 发布文章POST发布文章发布文章测试 查询文章详情查询详情测试 修改文章修改文章测试 写文章图片上传前端后端逻辑测试 文章评论 这里我们的博客因为是个轻量级…...

从零开始用AI开发游戏(一)

1. 核心玩法设计 核心目标:玩家需在随机生成的3D迷宫中寻找出口,躲避陷阱、收集道具、解开谜题。核心机制: 随机生成迷宫:每次游戏生成不同结构的迷宫(递归分割算法或深度优先搜索)。第一人称视角&#xf…...

AI-大模型中的流式输出与非流式输出

1.前言 在大模型API开发中,流式与非流式输出对应着两种不同的数据交互,在代码中stream中通过参数true与false来进行设定。 2.流式输出与非流式输出的原理 2.1.非流式输出-请求一次响应返回完整数据 非流式输出,传统的请求-响应模式&#xf…...

【HarmonyOS Next】鸿蒙加固方案调研和分析

【HarmonyOS Next】鸿蒙加固方案调研和分析 一、前言 根据鸿蒙应用的上架流程,本地构建app文件后,上架到AGC平台,平台会进行解析。根据鸿蒙系统的特殊设置,仿照IOS的生态闭环方案。只能从AGC应用市场下载app进行安装。这样的流程…...

树莓集团现状最新进展:宜宾园区业务有何新突破​

树莓集团宜宾园区在当下取得了令人瞩目的最新进展和新突破。在技术创新方面,园区加大研发投入,成功攻克了多项关键技术难题。 例如,在人工智能图像识别技术上取得重大突破,该技术已应用于园区内的智能安防系统和工业生产检测环节…...

蓝桥杯javaB组备战第二天 题目 区间次方和 编号3382

这是一个前缀和问题,但是不同于以为前缀和问题 前缀和问题求解思路: 创建一个前缀数组 s[] ,存储输入的元素的a[1]到a[n]的和 及:s[1] s[i-1]a[i] ,i>1 这样比暴力算法的复杂度要低很多可以将 时间复杂度从O(q*n*m)下降到 O(n*mq) …...

SpringBoot设置过滤器(Filter)或拦截器(Interceptor)的执行顺序:@Order注解、setOrder()方法

Java Web 过滤器、拦截器、监听器,系列文章: (1)过滤器(Filter)的使用: 《Servlet过滤器(Filter)的使用:Filter接口、@WebFilter注释》 《SpringMVC使用过滤器(Filter)解决中文乱码》 《SpringBoot过滤器(Filter)的使用:Filter接口、FilterRegistrationBean类配…...

【git】补丁文件

项目中总有一些本地修改是既不能上传到远程分支又不能直接加入到.gitignore文件中的。 固然可以使用stash但它毕竟只是一种临时保存更改的机制,更适用于本地开发过程中需要频繁切换任务的场景。 如果想要共享代码更改,那还是补丁文件更合适一些。git d…...

linux自启动服务

在Linux环境中,systemd是一个系统和服务管理器,它为每个服务使用.service文件进行配置。systemctl是用于控制系统服务的主要工具。本文将详细介绍如何使用systemctl来管理vsftpd服务,以及如何设置服务自启动。 使用Systemd设置自启动服务 创…...

Yashan DB 对象管理

一、什么是数据库对象 数据库对象是数据库里面用来存储和指向数据的各种概念和结构的总称。数据库支持的对象包括: • 表:表是一个逻辑概念,是数据库组织管理数据的基本单位。 • 索引:索引是建立在表上的逻辑对象,索…...

《Android 平台架构系统启动流程详解》

目录 一、平台架构模块 1.1 Linux 内核 1.2 硬件抽象层 (HAL) 1.3 Android 运行时 1.4 原生 C/C 库 1.5 Java API 框架 1.6 系统应用 二、系统启动流程 2.1 Bootloader阶段 2.2 内核启动 2.3 Init进程(PID 1) 2.4 Zygote与System Serv…...

强化学习(赵世钰版)-学习笔记(3.最优策略与贝尔曼最优方程)

这是本章在课程中的位置,属于基础工具中的最后一章,主要讨论了最优状态值(Optimal State Value)与最优策略(Optimal Policy),并介绍了对应的计算方法-贝尔曼最优方程(Bellman Optima…...

六十天前端强化训练之第十一天之事件机制超详解析

欢迎来到编程星辰海的博客讲解 目录 一、事件模型演进史 1.1 原始事件模型(DOM Level 0) 1.2 DOM Level 2事件模型 1.3 DOM Level 3事件模型 二、事件流深度剖析 2.1 捕获与冒泡对比实验 2.2 事件终止方法对比 三、事件委托高级应用 3.1 动态元…...

调试正常 ≠ 运行正常:Keil5中MicroLIB的“量子态BUG”破解实录

调试正常 ≠ 运行正常:Keil5中MicroLIB的“量子态BUG”破解实录——从勾选一个选项到理解半主机模式,嵌入式开发的认知升级 📌 现象描述:调试与烧录的诡异差异 在线调试时 程序正常运行 - 独立运行时 设备无响应 ! 编译过程 0 Err…...

基于SpringBoot实现旅游酒店平台功能八

一、前言介绍: 1.1 项目摘要 随着社会的快速发展和人民生活水平的不断提高,旅游已经成为人们休闲娱乐的重要方式之一。人们越来越注重生活的品质和精神文化的追求,旅游需求呈现出爆发式增长。这种增长不仅体现在旅游人数的增加上&#xff0…...

ArcGIS Pro中字段的新建方法与应用

一、引言 在地理信息系统(GIS)的数据管理和分析过程中,字段操作起着至关重要的作用。 无论是进行地图制作、空间分析还是数据统计,字段都是承载属性信息的基本单元。 ArcGIS Pro作为一款功能强大的GIS软件,为用户提…...

c#面试题12

1.ApplicationPool介绍一下 c#里没有 2.XML 可扩展标记语言,一般以.xml文件格式的形式存在。可用于存储结构化的数据 3.ASP.NET的用户控件 将原始的控件,用户根据需要进行整合成一个新的控件 4.介绍一下code-Behind 即代码后置技术,就是…...

Matlab中快速查找元素索引号

1、背景介绍 在算法设计过程中,有时候需要从一维/二维数组中,快速查找是否某个元素,以及该元素所在的位置。如一维矩阵[1 2 3 4 5 6 6 7 8]所示,元素6所在的位置为6 7。 2、函数测试 matlab中函数find()可以快速查找到指定元素所…...

LabVIEW非线性拟合实现正弦波参数提取

LabVIEW的Nonlinear Curve Fit.vi基于Levenberg-Marquardt算法,能够实现非线性最小二乘拟合,包括正弦波三参数(幅值、频率、相位)的精确求解。该工具适用于非均匀采样、低信噪比信号等复杂场景,但需注意初始参数设置与…...

S19文件格式详解:汽车ECU软件升级中的核心镜像格式

文章目录 引言一、S19文件格式的起源与概述二、S19文件的核心结构三、S19在汽车ECU升级中的应用场景四、S19与其他格式的对比五、S19文件实例解析六、工具链支持与安全考量七、未来趋势与挑战结语引言 在汽车电子控制单元(ECU)的软件升级过程中,S19文件(也称为Motorola S-…...

Redis 缓存穿透、缓存击穿与缓存雪崩详解:问题、解决方案与最佳实践

目录 引言 1. 缓存穿透 1.1 什么是缓存穿透? 示例: 1.2 缓存穿透的原因 1.3 缓存穿透的解决方案 1.3.1 缓存空对象 1.3.2 布隆过滤器(Bloom Filter) 1.3.3 参数校验 2. 缓存击穿 2.1 什么是缓存击穿? 示例&…...

Mamba| Miniforge3 安装和配置

参考教程: B站 教程概要 安装最新的 Mamba,建议通过安装 Miniforge 来实现,因为 Miniforge 默认包含 Mamba。Miniforge 下载:建议使用南京大学镜像站mamba 设置镜像源:清华镜像源修改默认环境安装路径设置 pip 镜像&a…...

Qt入门笔记

目录 一、前言 二、创建Qt项目 2.1、使用向导创建 2.2、最简单的Qt应用程序 2.2.1、main函数 2.2.2、widget.h文件 2.2.3、widget.cpp文件 2.3、Qt按键Botton 2.3.1、创建一个Botton 2.3.2、信号与槽 2.3.3、按键使用信号与槽的方法 2.4、文件Read与Write-QFile类 2…...

C语言每日一练——day_4

引言 针对初学者,每日练习几个题,快速上手C语言。第四天。(连续更新中) 采用在线OJ的形式 什么是在线OJ? 在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用…...

下降路径最⼩和(medium)

题目描述: 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列&#xff08…...

redux_旧版本

reduxjs/toolkit(RTK)是 Redux 官方团队推出的一个工具集,旨在简化 Redux 的使用和配置。它于 2019 年 10 月 正式发布,此文章记录一下redux的旧版本如何使用,以及引入等等。 文件目录如下: 步骤 安装依…...