qwen-vl本地部署记录

写在前面:本次部署版本为Qwen-VL-Chat-Int4(卑微),电脑配置:ubuntu22.04;显卡:RTX4090 24G,以下为搬运工记录

三个参考链接:

  1. qwen-vl代码仓库链接:https://github.com/QwenLM/Qwen-VL
  2. Qwen-VL-Chat-Int4模型权重链接:Qwen/Qwen-VL-Chat-Int4 at main
  3. 使用参考文档链接:魔搭社区

部署:只需4步

(前提:已经安装了anaconda)

1、下载代码:

git clone https://github.com/QwenLM/Qwen-VL.git

2、配置环境:python建议使用3.10,本人尝试过3.12会导致failed to build totenizers从而环境安装失败。

conda create -name qwenvl python=3.10
cd Qwen-VL
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
###建议添加清华镜像提高包的安装时间

3、配置Qwen-VL-Chat-Int4额外依赖库:

pip install optimum -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install auto-gptq -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install modelscope -U -i https://pypi.tuna.tsinghua.edu.cn/simple

4、测试Demo:代码test.py内容如下:执行python test.py即可

from modelscope import (
    snapshot_download, AutoModelForCausalLM, AutoTokenizer, GenerationConfig
)
from auto_gptq import AutoGPTQForCausalLM

import torch
torch.manual_seed(1234)

##Qwen-VL-Chat-Int4模型权重文件夹路径,可通过第三个链接下载
model_dir = "./Qwen-VL-Chat-Int4"

# Note: The default behavior now has injection attack prevention off.
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)

# use cuda device
model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="cuda", trust_remote_code=True,use_safetensors=True).eval()

# 1st dialogue turn
query = tokenizer.from_list_format([
    {'image': 'https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg'},
    {'text': '这是什么'},
])
response, history = model.chat(tokenizer, query=query, history=None)
print(response)
# 图中是一名年轻女子在沙滩上和她的狗玩耍,狗的品种可能是拉布拉多。她们坐在沙滩上,狗的前腿抬起来,似乎在和人类击掌。两人之间充满了信任和爱。

# 2nd dialogue turn
response, history = model.chat(tokenizer, '输出"击掌"动作的检测框', history=history)
print(response)

image = tokenizer.draw_bbox_on_latest_picture(response, history)
if image:
  image.save('1.jpg')
else:
  print("no box")

结果显示:

分割线:


以下内容可忽略,对部署没有贡献但是确实遇到的问题记录



遇到报错:ERROR: Could not build wheels for tokenizers, which is required to install pyproject.toml-based projects

 解决方法:安装rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

直接安装太慢,需要配置安装源

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf > rust.sh && chmod +x rust.sh
##设置环境变量
##export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
./rust.sh
##安装成功

安装成功后依旧解决不了问题,最后将python3.12降低到python3.10后得以解决

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值