本地部署体验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

几种报错解决方法:

  1. 下载包失败
    例:“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

  2. 安装包版本冲突
    例:“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”

  3. 就是下不下来
    例: “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(我说怎么就给我用了呢)
    超出内存一般有几种解决办法

    1. 减少模型的大小: 可以考虑减少模型的大小,例如通过选择更小的模型、减少模型的层数或通道数等方式,来降低内存需求。
    2. 减少批量大小:尝试减少输入数据的批量大小,降低每次前向计算所需的内存。可以尝试减小batch_size参数的值。
    3. 释放不需要的显存:在某些情况下,可能存在一些不需要的显存被占用,可以使用torch.cuda.empty_cache() 来释放不需要的显存。
    4. 启用混合精度训练:可以尝试启用混合精度训练,即使用半精度浮点数 (torch.float16 代替默认的单精度浮点数 (torch.float32。这可以显著降低内存使用,但可能会影响模型的训练效果。
    5. 调整 PyTorch 内存管理设置:可以尝试调整 PyTorch 的内存管理设置,例如通过设置max_split_size_mb 来避免内存碎片化。可以在 PyTorch 的文档中查找有关内存管理和PYTORCH_CUDA_ALLOC_CONF 的详细信息。

    进行如下改动:

    1. 将13B模型替换为7B模型
    2. model_max_length:512–>256;lora_r:8–>4
    3. 训练精度:bf16–>fp16
    4. load_in:8bit–>4bit
    5. 设置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了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/67109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电动汽车电机驱动系统的组成和作用

1.电机驱动系统的作用与组成电动汽车电机驱动系统是新能源汽车的核心技术之一&#xff0c;它的主要任务是按驾驶员的驾驶意图&#xff0c;将动力电池的化学能高效地转化为机械能&#xff0c;经过变速器、驱动轴等机构驱动车轮。电动机驱动系统主要有电动机、功率器件和控制系统…

消灭怪物的最大数量【力扣1921】

一、题目分析 需要满足的条件&#xff1a; 只能在每分钟的开始使用武器武器能杀死距离城市最近的怪兽怪兽到达城市就会输掉游戏 游戏最优策略&#xff1a;我们可以在每分钟的开始都使用一次武器&#xff0c;用来杀死距离城市最近的怪兽。这样可以在力所能及的范围内&#xf…

mp代码生成插件

mp代码生成插件 1.下载下面的插件 2.连接测试 3.生成代码的配置 4.生成代码 红色的是刚刚生成的。 我觉得不如官方的那个好用&#xff0c;唯一的好处就是勾选的选项能够看的懂得。

COSCon'23 开源市集:共赴一场草坪上的开源派对

一年一度的开源盛会&#xff0c;第八届中国开源年会&#xff08;COSCon23 &#xff09;&#xff0c;将于10月28~29日&#xff0c;在四川成都市高新区菁蓉汇召开&#xff01;本次大会的主题是&#xff1a;“开源&#xff1a;川流不息、山海相映”&#xff01; 我们预期会有超过1…

哈希表与有序表

哈希表与有序表 Set结构 key Map结构 key-value 哈希表 哈希表的时间复杂度都是常数项级别的&#xff0c;但常数较大 增删改查的时间都是常数级别的&#xff0c;与数据量无关 当哈希表存储的值是基础数据类型&#xff08;Integer - int&#xff09;&#xff0c;哈希表中内…

有趣,复试竟不算专业课!信号学的不好,就选它!

一、学校及专业介绍 广西民族大学&#xff08;简称广西民大&#xff0c;GuangXi University for Nationalities&#xff09;&#xff0c;坐落于广西壮族自治区南宁市&#xff0c;是国家民族事务委员会和广西壮族自治区人民政府共建高校。 创建于1952年&#xff0c;原为中央民…

如何使用CSS实现一个带有动画效果的折叠面板(Accordion)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 带有动画效果的折叠面板&#xff08;Accordion&#xff09;⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个…

C语言_初识C语言指针

文章目录 前言一、指针 ... 一个内存单元多大比较合适&#xff1f;二、地址或者编号如何产生&#xff1f;三、指针变量的大小 前言 内存是电脑上特别重要的存储器&#xff0c;计算机中程序的运行都是在内存中进行的。 所以为了有效的使用内存&#xff0c;就把内存划分成一个个…

计算机竞赛 基于深度学习的人脸专注度检测计算系统 - opencv python cnn

文章目录 1 前言2 相关技术2.1CNN简介2.2 人脸识别算法2.3专注检测原理2.4 OpenCV 3 功能介绍3.1人脸录入功能3.2 人脸识别3.3 人脸专注度检测3.4 识别记录 4 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于深度学习的人脸专注度…

vue+element-ui el-table组件二次封装实现虚拟滚动,解决数据量大渲染DOM过多而卡顿问题

一、此功能已集成到TTable组件中 二、最终效果 三、需求 某些页面不做分页时&#xff0c;当数据过多&#xff0c;会导致页面卡顿&#xff0c;甚至卡死 四、虚拟滚动 一、固定一个可视区域的大小并且其大小是不变的&#xff0c;那么要做到性能最大化就需要尽量少地渲染 DOM 元素…

使用ppt和texlive生成eps图片(高清、可插入latex论文)

一、说明 写论文经常需要生成高清的图片插入到论文中&#xff0c;本文以ppt画图生成高质量的eps图片的实现来介绍具体操作方法。关于为什么要生成eps图片&#xff0c;一个是期刊要求&#xff08;也有不要求的&#xff09;&#xff0c;另一个是显示图像的质量高。 转化获得eps…

Agile Management

Agile Management 敏捷管理

大数据学习06-Spark分布式集群部署

Spark完全分布式部署 前期准备&#xff0c;每台服务器都需要配置安装Scala下载Scala安装包配置环境变量 安装spark解压配置环境修改配置 前期准备&#xff0c;每台服务器都需要配置 配置好IP vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE"Ethernet" PROX…

Facebook message tag 使用攻略

Messenger 讯息传不出去&#xff1f;无法发送FB 讯息给非好友&#xff1f; 2020年3月&#xff0c;Facebook 为了防止用户被过多的推广或垃圾讯息困扰而更新使用条款&#xff0c;现在商家要用FB传讯息给所有人&#xff08;包括非好友&#xff09;&#xff0c;应该使用 Facebook …

如何将Word转成PDF?试一下这个转换方法

Word转成PDF是现代办公中常见的需求&#xff0c;它可以确保文件的格式和内容在不同平台上保持一致&#xff0c;并且更加方便共享和打印。在这个数字化时代&#xff0c;我们经常需要将Word文档转换为PDF格式&#xff0c;无论是个人用户还是商务用户都会遇到这样的需求。那么如何…

[ 云计算 | AWS ] Java 应用中使用 Amazon S3 进行存储桶和对象操作完全指南

文章目录 一、前言二、所需 Maven 依赖三、先决必要的几个条件信息四、创建客户端连接五、Amazon S3 存储桶操作5.1. 创建桶5.2. 列出桶 六、Amazon S3 对象操作6.1. 上传对象6.2. 列出对象6.3. 下载对象6.4. 复制、重命名和移动对象6.5. 删除对象6.6. 删除多个对象 七、文末总…

企业数字化转型的关键技术有哪些?_光点科技

随着科技的不断进步和信息技术的快速发展&#xff0c;企业数字化转型已经成为保持竞争力和适应市场变化的关键举措。在这个数字化时代&#xff0c;企业需要借助先进的技术来优化业务流程、提升效率&#xff0c;以及更好地满足客户需求。以下是企业数字化转型过程中的关键技术。…

【机器学习】人工智能概述(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

华为云云服务器评测 | 从零开始:云耀云服务器L实例的全面使用解析指南

文章目录 一、前言二、云耀云服务器L实例要点介绍2.1 什么是云耀云服务器L实例2.1.1 浅析云耀云服务器L实例 2.2 云耀云服务器L实例的产品定位2.3 云耀云服务器L实例优势2.4 云耀云服务器L实例支持的镜像与应用场景2.5 云耀云服务器L实例与弹性云服务器&#xff08;ECS&#xf…

深度解析BERT:从理论到Pytorch实战

本文从BERT的基本概念和架构开始&#xff0c;详细讲解了其预训练和微调机制&#xff0c;并通过Python和PyTorch代码示例展示了如何在实际应用中使用这一模型。我们探讨了BERT的核心特点&#xff0c;包括其强大的注意力机制和与其他Transformer架构的差异。 关注TechLead&#x…