以下为Linux环境下的部署
1.首先应该按照文档进行克隆LLaVA folder:
git clone https://github.com/haotian-liu/LLaVA.git
cd LLaVA
2.安装需要用到的环境
conda create -n llava python=3.10 -y
conda activate llava
pip install --upgrade pip # enable PEP 660 support
pip install -e .
在pip install -e.时出现了错误,原因是在LLaVA文件夹上没有写权限,修改之后继续安装就好
安装-e.时建议加上镜像
3.安装训练依赖包
pip install -e ".[train]"
pip install flash-attn --no-build-isolation
4.更新到最新的代码
git pull
pip install -e .
5.下载预训练模型(采取先下载到本地在上传到服务器的方法)
7B:https://huggingface.co/liuhaotian/llava-v1.5-7b/tree/main
在服务器新建一个名为llava-v1.5-7b的权重保存文件夹
将下载好的文件全部整到这个文件夹中
继续下载视觉模型
https://huggingface.co/openai/clip-vit-large-patch14-336
在上面网址上下载需要的文件,在服务器上新建一个名为clip-vit-large-patch14-33的文件夹
同样将下载好的文件整到这个文件夹中
配置文件
在创建好的llava-v1.5-7b文件夹中找到config.json文件,将其中的“mm_vision_tower"修改为clip-vit-large-patch14-336文件夹路径
启动LLaVA
1. 在终端命令进行推理
python -m llava.serve.cli --model-path {模型权重llava-v1.5-7b的路径} --image-file "https://llava-vl.github.io/static/images/view.jpg"(也可以改为自己的图片路径) --load-4bit
以我自己的为例
python -m llava.serve.cli --model-path /root/qxy/LLaVA/llava-v1.5-7b --image-file
"https://llava-vl.github.io/static/images/view.jpg" --load-4bit
2. 在浏览页面进行推理(比较方便,直接把图片拖进去就可以进行推理了)
(需要打开三个终端)
2.1 在第一个终端启动控制器(192.###.###.###为远程服务器IP地址)
python3 -m llava.serve.controller --host 192.###.###.### --port 20000
2.2在第二个终端启动 gradio Web 服务器
python3 -m llava.serve.gradio_web_server --controller http://192.###.###.###:20000 --model-list-mode reload --share
2.3 第三个终端启动model worker
python3 -m llava.serve.model_worker --host 192.###.###.### --controller http://192.###.###.###:20000 --port 40000 --worker http://192.###.###.###:40000 --model-path /root/qxy/LLaVA/llava-v1.5-7b --load-4bit
打开本地浏览器,找到第二个终端显示的端口:
将http://0.0.0.0:7860 改成本地IP,也就是http://192.###.###.###:7860打开即可,页面如下: