本地部署体验LISA模型(LISA≈图像分割基础模型SAM+多模态大语言模型LLaVA)

GitHub地址:https://github.com/dvlab-research/LISA
该项目论文paper reading:https://blog.csdn.net/Transfattyacids/article/details/132254770
在GitHub上下载源文件,进入下载的文件夹,打开该地址下的命令控制台,执行指令:
pip install -r requirements.txt
pip install flash-attn --no-build-isolation
几种报错解决方法:
下载包失败
例:“pip install numpy”
解决:“pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/”
其他源:
清华: https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云: http://mirrors.aliyun.com/pypi/simple/
豆瓣:https://pypi.doubanio.com/simple安装包版本冲突
例:“tensorflow-intel 2.12.0 requires numpy<1.24,>=1.22, but you have numpy 1.24.2 which is incompatible.”
解决:带上具体版本号,如“pip install numpy==1.23”就是下不下来
例: “ERROR: Could not build wheels for XXX, which is required to install pyproject.toml-based projects”
解决:去网站下安装包,“.whl”文件到本地安装,列几个下载网站:
https://download.pytorch.org/whl/
https://pypi.org/project(除了这2个,法1中的3个源也可以使用)
(还是下不下来,去对应包的GitHub,下载对应版本的releases)
下载完后执行:pip install file_name.whl(file_name是绝对地址)之前https://www.lfd.uci.edu/~gohlke/pythonlibs/也可以下载whl,现在点进去是这样的下不了了
4. 还有一个很奇怪的方法:conda install -c conda-forge XXX
- 下载预训练权重
如果想要自训练:
LLaVA:https://huggingface.co/decapoda-research
SAM:https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth
直接使用提供的权重:
LISA:https://huggingface.co/xinlai
有6个版本

我下载了LISA-13B-llama2-v0-explanatory(别下这个,我当时是因为作者只发布了两个版本,才下的,后面没用上,要下就选择v1的版本,内存大的下13B,小的下7B)

要用梯子,大文件要使用LFS,git clone不能克隆需要LFS的文件,大文件我都是一个个单独下的(漫长的下载过程orz
记得修改chat.py里权重的地址(图中第20行)

- 运行chat.py
不出意料的报错了

模型加载不成功,应该归因于我过小的内存orz,借了一个云服务器
尝试运行的过程就是不断产生新的错误orz
这里不将遇到的报错一一罗列(太多太杂了),只展示遇到的最后两个error,uu们如果有其他问题可以在评论区提出了,我看到了且会解决的,就回复。
下面先展示一下我使用的云服务器的配置
- 虚拟机
- 显卡
- python版本
- torch和torchvision
- ERORR_1:

原因: 我刚拿到时cuda版本(如图)与PyThorch不兼容
解决: 升级CUDA(以及driver)的版本
# 禁用现有NVIDIA驱动程序并卸载
sudo systemctl stop nvidia-persistenced
sudo systemctl stop nvidia-fabricmanager
sudo apt-get remove --purge '^nvidia-.*'
# 关闭xserver
systemctl stop gdm.service
# 下载对应的CUDA包
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
# 安装(一路默认安装)
sudo sh cuda_11.7.0_515.43.04_linux.run
# 安装完毕后,启动X Server
systemctl start gdm.service
-
ERROR_2:

谁能想到还是报OutOfMemoryError了呢orz(我说怎么就给我用了呢)
超出内存一般有几种解决办法- 减少模型的大小: 可以考虑减少模型的大小,例如通过选择更小的模型、减少模型的层数或通道数等方式,来降低内存需求。
- 减少批量大小:尝试减少输入数据的批量大小,降低每次前向计算所需的内存。可以尝试减小batch_size参数的值。
- 释放不需要的显存:在某些情况下,可能存在一些不需要的显存被占用,可以使用torch.cuda.empty_cache() 来释放不需要的显存。
- 启用混合精度训练:可以尝试启用混合精度训练,即使用半精度浮点数 (torch.float16 代替默认的单精度浮点数 (torch.float32。这可以显著降低内存使用,但可能会影响模型的训练效果。
- 调整 PyTorch 内存管理设置:可以尝试调整 PyTorch 的内存管理设置,例如通过设置max_split_size_mb 来避免内存碎片化。可以在 PyTorch 的文档中查找有关内存管理和PYTORCH_CUDA_ALLOC_CONF 的详细信息。
进行如下改动:
- 将13B模型替换为7B模型
- model_max_length:512–>256;lora_r:8–>4
- 训练精度:bf16–>fp16
- load_in:8bit–>4bit
- 设置max_split_size_mb
进入batch文件(vim ~/.bashrc)
添加:export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:32
esc、:wq、source ~/.bashrc
调整完后,终于是可以运行了
输入:
CUDA_VISIBLE_DEVICES=1 python chat.py --version='./LISA-7B-v1' --precision='fp16' --load_in_4bit
p.s. --version是你下载的模型地址,这里附上我项目目录
还有就是为了控制云服务器我使用的软件有:WinSCP(进行文件传输和代码修改)和PuTTY(命令行控制)
(下面是PuTTY运行截图)

根据提示输入propmt语句和待分割图片路径:

分割后的图像存储再了./vis_output文件夹中。
但是结果不正确,可能是调整了模型的缘故吧,没分割出LISA,分割出了ROSÉ

算了,这个模型就先到这里,等有再好一点的卡再试试,去读paper了。

相关文章:
本地部署体验LISA模型(LISA≈图像分割基础模型SAM+多模态大语言模型LLaVA)
GitHub地址:https://github.com/dvlab-research/LISA 该项目论文paper reading:https://blog.csdn.net/Transfattyacids/article/details/132254770 在GitHub上下载源文件,进入下载的文件夹,打开该地址下的命令控制台,…...
SpotBugs代码检查:instanceof总是返回true(BC_VACUOUS_INSTANCEOF)
https://spotbugs.readthedocs.io/en/latest/bugDescriptions.html#bc-instanceof-will-always-return-true-bc-vacuous-instanceof 使用instanceof判断的时候,总是返回true,除非被检测的结果是null。遇到这种告警,可能是写代码的人理解错误…...
Redis的Java客户端:Jedis入门
Jedis的优点在于方法名称和Redis命令基本一致,不过存在线程安全问题,在多线程操作时需要引入线程池。 一、引入依赖 <!--jedis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifa…...
【完整代码】2023数学建模国赛C题代码--蔬菜类商品的自动定价与补货决策
C 题 蔬菜类商品的自动定价与补货决策 在生鲜商超中,一般蔬菜类商品的保鲜期都比较短,且品相随销售时间的增加而变差, 大部分品种如当日未售出,隔日就无法再售。因此,商超通常会根据各商品的历史销售和需 求情况每天进…...
idea:java: Compilation failed: internal java compiler error
java: Compilation failed: internal java compiler error错误 检查下面2个即可:...
普罗米修斯(Prometheus)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、普罗米修斯(Prometheus)是什么?1.下载Prometheus工具(切记和操作系统版本对应)2.解压命令3.修改prom…...
JAVA面试题2012年版本
1、已知a10,b15,在不用第三方变量的情况下,将a、b的值调换? 2、Session容易丢值,cookie不安全,用什么可以代替它们? 3、简述多态的特征及意义 4、冒泡排序 5、已知int array[]{3,7,5,12,20};实现从大到小排序并返回数组输出…...
IED设备模型
IED设备模型 IED设备模型是指对工业电子设备进行详细描述和建模的模型。它的核心是通过设备的特性和功能来建立相应的数学模型,以便进行仿真、测试和优化等操作。 建立IED设备模型需要遵循以下步骤: 设备描述:首先需要详细描述设备的功能、特性、参数等信息,以便建立相应…...
HTTP代理如何设置
HTTP代理是一种非常重要的网络工具,它可以帮助我们在访问互联网时提高访问速度,保护用户隐私等等。在使用HTTP代理时,需要先进行设置。下面就来介绍一下HTTP代理如何设置。 一、了解HTTP代理 在开始设置HTTP代理之前,我们需要先了…...
【设计模式】单例设计模式
目录 1、前言 2、基本语法 2.1、懒汉式单例 2.2、饿汉式单例 2.3、双重检验锁单例模式 2.4、静态内部类单例模式 2.5、枚举单例模式 2.6、ThreadLocal单例模式 2.7、注册单例模式 3、使用场景 4、使用示例 5、常见问题 5、总结 1、前言 单例模式是一种设计模式&…...
SpingBoot整合Sa-Token框架(1)
一、文档参考:框架介绍 (sa-token.cc) 框架生态——开源项目 (sa-token.cc) 二、与SpingBoot整合 1、创建项目 在 IDE 中新建一个 SpringBoot 项目,例如:sa-token-demo-springboot(不会的同学请自行百度或者参考:Sp…...
软件测试技术题目大全【含答案】
请看下面 你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己&#x…...
C#__线程的优先级和状态控制
线程的优先级: 一个CPU同一时刻只能做一件事情,哪个线程优先级高哪个先运行,优先级相同看调度算法。 在Thread类中的Priority属性(Highest,Above,Normal,BelowNormal,Lowest)可以影响线程的优先级 关于…...
103.36.167.X在服务器删除、复制文件的时候会出现卡的情况,是什么原因?
服务器硬盘在删除文件或复制文件时出现卡顿情况可能有多种原因。以下是一些常见的问题和解决方法: 硬盘性能低下:如果服务器硬盘的读写速度较慢,可能会导致卡顿现象。解决方法可以是升级到更高性能的硬盘或者使用RAID技术提升硬盘读写速度。 …...
Vim 插件应用篇 vim-plug:简洁高效的Vim插件管理工具
用插件管理插件 Vim-plug介绍 Vim-plug 是一个Vim插件管理器,利用异步并行可以快速地安装、更新和卸载插件。它的安装和配置都非常简单,而且在操作过程中会给出很多易读的反馈信息,是一个自由、开源、速度非常快的、并行地安装或更新插件&a…...
springboot 请求https的私有证书验证
一、方案描述 我这里采用RestTemplate的方式调用https请求,请求第三方接口获取数据,证书由第三方私自签发的证书,我们构建的是一个springboot的API项目。 1.pom文件引入jar <dependencies><dependency><groupId>org.spr…...
YOLO的基本原理详解
YOLO介绍 YOLO是一种新的目标检测方法。以前的目标检测方法通过重新利用分类器来执行检测。与先前的方案不同,将目标检测看作回归问题从空间上定位边界框(bounding box)并预测该框的类别概率。使用单个神经网络,在一次评估中直接…...
【UE 材质】制作飘动的旗帜
效果 步骤 1. 首先在建模软件中创建一个平面,注意分段数一定要多 2. 在UE中创建一个材质,这里命名为“Mat_Flag” 打开“Mat_Flag”,先将旗帜纹理连接到基础颜色 先选中导入的模型然后点击根据选中的模型预览材质 创建如下节点可以看到此时模…...
windows苹果商店上架ipa(基于appuploader)
参考文章: 上传ipa到appstore详细步骤 1、苹果商店地址:https://appstoreconnect.apple.com/apps 2、创建我的app 使用hbuilderx或apicloud云打包后,会生成一个ipa文件,而iphone是无法直接安装这个ipa文件的,需要将这…...
什么是SpringCloud Eureka服务注册与发现
😀前言 本篇博文是关于SpringCloud Eureka 介绍,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力&…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...






还有就是为了控制云服务器我使用的软件有:WinSCP(进行文件传输和代码修改)和PuTTY(命令行控制)