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

MLLMS_KNOW尝鲜版

背景(个人流水账,可毫不犹豫跳过)

最近项目中有涉及到小物体检测的内容,昨天晚上讨论的时候有提出是否可以将关注区域放大的idea,不过后来没有就着这个东西深入,结果好巧不巧地,今天关注到这篇文章,这谁能忍住不验证下,哈哈。
当然,更重要的原因是,之前一个clip的坑至今还没有填,该文中有使用升级版blip,赶紧填上。不得不感叹技术日新月异,当时用clip的时候还觉得自己老时髦了,看看现在,已然变成时代的眼泪了。

install

老生常谈,但还是适当记录一下

按照readme里面的步骤依葫芦画瓢:

# Create and activate conda environment
conda create -n mllms_know python=3.10
conda activate mllms_know# Install dependencies
pip install -r requirements.txt# Install modified transformers library
cd transformers
pip install -e .
cd ..

不负所望,出问题了,报错如下:

ImportError: cannot import name 'Tensor' from 'torch' (unknown location)

在网上搜了下,大致定位到是torch版本不匹配的问题,降低了一下版本:

Installing collected packages: triton, torch, torchvision, torchaudioAttempting uninstall: tritonFound existing installation: triton 3.2.0Uninstalling triton-3.2.0:Successfully uninstalled triton-3.2.0Attempting uninstall: torchFound existing installation: torch 2.6.0Uninstalling torch-2.6.0:Successfully uninstalled torch-2.6.0Attempting uninstall: torchvisionFound existing installation: torchvision 0.21.0Uninstalling torchvision-0.21.0:Successfully uninstalled torchvision-0.21.0
Successfully installed torch-2.5.1 torchaudio-2.5.1 torchvision-0.20.1 triton-3.1.0

查看torch版本:

import torch# 查看 PyTorch 版本
print("PyTorch version:", torch.__version__)# 查看 CUDA 是否可用
print("CUDA available:", torch.cuda.is_available())

复现Benchmark Evaluation部分

textvqa数据集准备

下载然后按照步骤处理即可,需要提一句的是这个数据集还不小6个G多

7z使用

我这边遇到一个个性化问题,需要将数据从一个主机搬运到另一个上面,每次搬运不能超过4G,不太明白这个设置是为了什么,哈哈。
步骤:利用7z切片->7z x 第一个分片(合并回去)-> 7z解压

Running Evaluations

网络不好的话,需要提前下载模型:

huggingface-cli download --resume-download --local-dir-use-symlinks False llava-hf/llava-1.5-7b-hf --local-dir ./llava/

4070上推不动

CUDA_VISIBLE_DEVICES=0 python run.py --chunk_id 0 --total_chunks 1 --model llava --task textvqa --method rel_att                                                                                      ─╯llava-hf/llava-1.5-7b-hf
Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:07<00:00,  2.62s/it]
Traceback (most recent call last):File "/home/stardust/Documents/a_20250113_toilet_clean/small_object/mllms_know/run.py", line 248, in <module>main(args)File "/home/stardust/Documents/a_20250113_toilet_clean/small_object/mllms_know/run.py", line 175, in mainmodel = LlavaForConditionalGeneration.from_pretrained(args.model_id, torch_dtype=torch.bfloat16, low_cpu_mem_usage=True, attn_implementation="eager").to(args.device)File "/home/stardust/Documents/a_20250113_toilet_clean/small_object/mllms_know/transformers/src/transformers/modeling_utils.py", line 3096, in toreturn super().to(*args, **kwargs)File "/home/stardust/.aip_conda/mllms_know/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1340, in toreturn self._apply(convert)File "/home/stardust/.aip_conda/mllms_know/lib/python3.10/site-packages/torch/nn/modules/module.py", line 900, in _applymodule._apply(fn)File "/home/stardust/.aip_conda/mllms_know/lib/python3.10/site-packages/torch/nn/modules/module.py", line 900, in _applymodule._apply(fn)File "/home/stardust/.aip_conda/mllms_know/lib/python3.10/site-packages/torch/nn/modules/module.py", line 900, in _applymodule._apply(fn)[Previous line repeated 3 more times]File "/home/stardust/.aip_conda/mllms_know/lib/python3.10/site-packages/torch/nn/modules/module.py", line 927, in _applyparam_applied = fn(param)File "/home/stardust/.aip_conda/mllms_know/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1326, in convertreturn t.to(
torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 86.00 MiB. GPU 0 has a total capacity of 11.71 GiB of which 90.44 MiB is free. Including non-PyTorch memory, this process has 10.21 GiB memory in use. Of the allocated memory 10.02 GiB is allocated by PyTorch, and 16.20 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

有没有什么招哦?有没有大佬现身说一下法?

转战服务器

也是有点子慢,不过至少是运行起来了。

jupyter 使用问题

设置IP port
切换conda环境
加载模型部分卡住,原因还没有查到。

程序运行及结果分析

待更

相关文章:

MLLMS_KNOW尝鲜版

背景&#xff08;个人流水账&#xff0c;可毫不犹豫跳过&#xff09; 最近项目中有涉及到小物体检测的内容&#xff0c;昨天晚上讨论的时候有提出是否可以将关注区域放大的idea&#xff0c;不过后来没有就着这个东西深入&#xff0c;结果好巧不巧地&#xff0c;今天关注到这篇…...

《软件设计师》复习笔记(12.2)——成本管理、配置管理

目录 一、项目成本管理 1. 定义 2. 主要过程 3. 成本类型 4. 其他概念 真题示例&#xff1a; 二、软件配置管理 1. 定义 2. 主要活动 3. 配置项 4. 基线&#xff08;Baseline&#xff09; 5. 配置库类型 真题示例&#xff1a; 一、项目成本管理 1. 定义 在批准…...

《AI赋能职场:大模型高效应用课》第8课 AI辅助职场沟通与协作

【本课目标】 掌握AI辅助邮件、沟通话术的优化技巧。学习利用AI快速生成高效的会议纪要。通过实操演练&#xff0c;提升职场沟通效率与协作能力。 【准备工具】 DeepSeek大模型&#xff08;deepseek.com&#xff09;百度文心一言&#xff08;yiyan.baidu.com&#xff09; 一…...

Spring 中的 @Cacheable 缓存注解

1 什么是缓存 第一个问题&#xff0c;首先要搞明白什么是缓存&#xff0c;缓存的意义是什么。 对于普通业务&#xff0c;如果要查询一个数据&#xff0c;一般直接select数据库进行查找。但是在高流量的情况下&#xff0c;直接查找数据库就会成为性能的瓶颈。因为数据库查找的…...

settimeout和setinterval区别

1. setTimeout&#xff1a;单次延迟执行 语法&#xff1a; const timeoutId setTimeout(callback, delay, arg1, arg2, ...); 核心功能&#xff1a;在指定的 delay&#xff08;毫秒&#xff09;后&#xff0c;执行一次 callback 函数。 参数&#xff1a; callback&#x…...

UE5编辑器静止状态下(非 Play 模式)睫毛和眼睛的渲染是正常的,而在 Play 模式下出现模糊

这通常指向以下几个 运行时&#xff08;Runtime&#xff09; 特有的原因&#xff1a; 抗锯齿 (Anti-Aliasing) 方法&#xff0c;特别是 Temporal Anti-Aliasing (TAA): 这是最可能的原因。 UE5 默认启用的 TAA 通过混合多帧信息来平滑边缘和减少闪烁&#xff0c;尤其是在运动中…...

怎样选择适合网站的服务器带宽?

合适的服务器带宽对于网站的需求起着至关重要的作用&#xff0c;服务器带宽会直接影响到网站的访问速度和用户体验&#xff0c;本文将介绍一下企业该怎样选择适合网站需求的服务器带宽&#xff01; 不同类型的网站对于服务器带宽的需求也是不同的&#xff0c;小型博客网站的访问…...

Kaamel隐私与安全分析报告:Microsoft Recall功能评估与风险控制

本报告对Microsoft最新推出的Recall功能进行了全面隐私与安全分析。Recall是Windows 11 Copilot电脑的专属AI功能&#xff0c;允许用户以自然语言搜索曾在电脑上查看过的内容。该功能在初次发布时因严重隐私和安全问题而备受争议&#xff0c;后经微软全面重新设计。我们的分析表…...

linux 4.14内核jffs2文件系统不自动释放空间的bug

前段时间在做spi-nor flash项目的时候&#xff0c;使用jffs2文件系统&#xff0c;发现在4.14内核下存在无法释放空间的bug&#xff0c;后来进行了修复&#xff0c;修复后功能正常&#xff0c;现将修复patch公开&#xff0c;供后来者学习&#xff1a; diff --git a/fs/jffs2/ac…...

Thymeleaf简介

在Java中&#xff0c;模板引擎可以帮助生成文本输出。常见的模板引擎包括FreeMarker、Velocity和Thymeleaf等 Thymeleaf是一个适用于Web和独立环境的现代服务器端Java模板引擎。 Thymeleaf 和 JSP比较&#xff1a; Thymeleaf目前所作的工作和JSP有相似之处&#xff0c;Thyme…...

uniapp中uni-easyinput 使用@input 不改变绑定的值

只允许输入数字和字母 使用input 正则replace后赋值给A 遇到问题: 当输入任意连续的非法字符时, 输入框不变. 直到输入一个合法字符非法字符才成功被过滤. <uni-forms-item label"纳税人识别号" name"number"><uni-easyinput v-model"numb…...

前端零基础入门到上班:Day7——表单系统实战全解析

&#x1f9e9;前端零基础入门到上班&#xff1a;Day7——表单系统实战全解析 ✅ 目标&#xff1a;不仅掌握 HTML 表单标签&#xff0c;更深入理解其在实战中的作用、验证方式、美化技巧与 JS 联动&#xff0c;为后续接入 Vue、后端接口打下坚实基础。 &#x1f31f; 一、HTML 表…...

【特殊场景应对1】视觉设计:信息密度与美学的博弈——让简历在HR视网膜上蹦迪的科学指南

写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offe…...

o3和o4-mini的升级有哪些亮点?

ChatGPT是基于OpenAI GPT系列的高性能对话生成AI&#xff0c;经过多代迭代不断提升自然语言理解和生成能力。 在过去的一年中&#xff0c;OpenAI先后发布了GPT-4、GPT‑4.1及多种mini版本&#xff0c;为不同使用场景提供灵活选择。​ 随着用户需求向更高效、更精准的推理和视觉…...

影楼精修行业浅见-序言

影楼及商业摄影行业对高效、智能化的图像精修需求日益增长。传统修图流程耗时长、人工成本高&#xff0c;且修图师水平参差不齐影响最终成片质量。AI驱动的影像精修软件通过自动化、批量处理和智能算法&#xff0c;显著提升了修片效率和一致性&#xff0c;成为影楼数字化升级的…...

MATLAB 控制系统设计与仿真 - 36

鲁棒工具箱定义了个新的对象类ureal,可以定义在某个区间内可变的变量。 函数的调用格式为&#xff1a; p ureal(name,nominalvalue) % name为变量名,nominalValue为标称值&#xff0c;默认变化值为/-1 p ureal(name,nominalvalue,PlusMinus,plusminus) p ureal(name,nomin…...

Spring数据访问全解析:ORM整合与JDBC高效实践

目录 一、Spring ORM集成深度剖析 &#x1f31f; ORM模块架构设计 核心集成特性&#xff1a; 整合MyBatis示例配置&#xff1a; 二、Spring JDBC高效实践指南 &#x1f31f; 传统JDBC vs Spring JDBC对比 &#x1f31f; JdbcTemplate核心操作示例 批量操作优化&#xf…...

【HCIA】使用Access port实现简易的VLAN间通信

前言 当我们拥有一台三层交换机与两个vlan&#xff0c;我们可以使用简易的Vlanif配置实现VLAN间通信。 文章目录 前言1. 拓扑图2. 配置交换机3. 配置PC1与PC2的网络4. port link-type后记修改记录 1. 拓扑图 2. 配置交换机 <Huawei>system-view [Huawei]undo info-cent…...

6.VTK 颜色

文章目录 概念RGB示例HSV示例 概念 RGB颜色系统&#xff1a;通过红(R)、绿(G)、蓝(B)三个颜色分量的组合来定义颜色。每个分量的取值范围是0到1&#xff0c;其中(0, 0, 0)代表黑色&#xff0c;而(1, 1, 1)代表白色。可以使用vtkProperty::SetColor(r, g, b)方法为Actor设置颜色…...

shiro使用

shiro是apache提供的一种安全框架。他可以将登录&#xff0c;权限这一方面简单化。 使用shiro需要引入 <dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.9.0</version></depend…...

光谱相机的成像方式

光谱相机的成像方式决定了其如何获取物体的空间与光谱信息&#xff0c;核心在于分光技术与扫描模式的结合。以下是主要成像方式的分类解析&#xff1a; ‌一、滤光片切换型‌ ‌1. 滤光片轮&#xff08;Filter Wheel&#xff09;‌ ‌原理‌&#xff1a;通过旋转装有多个窄带…...

浅析MySQL事务锁

在 MySQL 中,事务锁是用于确保数据一致性和并发控制的重要机制。事务锁可以帮助防止多个事务同时修改同一数据,从而避免数据不一致和脏读、不可重复读、幻读等问题。 以下是 MySQL 事务锁的关键点总结: 事务锁:用于确保数据一致性和并发控制。锁的类型: 行级锁:InnoDB,粒…...

算法-链表

小细节 初始化问题 我们这样子new一个ListNode 它里面的默认值是0&#xff0c;所以我们不能这样 如果我们为空&#xff0c;我们要返回null 节点结束条件判断&#xff08;多创建节点问题&#xff09; 参考示例3217 解析&#xff1a; 我的答案是多了一个无用节点 这是因为我每…...

ON DUPLICATE KEY UPDATE 更底层解释它的优势

从更底层来看&#xff0c;ON DUPLICATE KEY UPDATE 的优势主要源于以下几个方面&#xff1a; 1. 减少网络往返次数 先查询再更新&#xff1a;这种方式需要客户端和数据库服务器之间进行多次网络通信。首先&#xff0c;客户端发送一个 SELECT 查询请求&#xff0c;然后等待服务…...

3.8/Q1,GBD数据库最新文章解读

文章题目&#xff1a;Regional and National Burden of Traumatic Brain Injury and Spinal Cord Injury in North Africa and Middle East Regions, 1990-2021: A Systematic Analysis for The Global Burden of Disease Study 2021 DOI&#xff1a;10.1007/s44197-025-00372-…...

51单片机实验二:数码管静态显示

目录 一、实验环境与实验器材 二、实验内容及实验步骤 1.单个数码管显示 2.六个数码管依次从0~F变换显示 3.proteus仿真 一、实验环境与实验器材 环境&#xff1a;Keli&#xff0c;STC-ISP烧写软件,Proteus. 器材&#xff1a;TX-1C单片机&#xff08;STC89C52RC…...

Linux驱动开发进阶(八)- GPIO子系统BSP驱动

文章目录 1、前言2、pinctrl子系统3、pinctrl bsp驱动4、gpio子系统5、gpio bsp驱动 1、前言 学习参考书籍以及本文涉及的示例程序&#xff1a;李山文的《Linux驱动开发进阶》本文属于个人学习后的总结&#xff0c;不太具备教学功能。 2、pinctrl子系统 在讨论gpio子系统时&…...

【Windows】安装或者点击OneDrive没有任何反应的解决方案

一些Windows企业版或者神州网信政府版的策略会禁止使用OneDrive&#xff0c;双击OneDrive安装程序或者点击OneDrive软件会没有任何反应。通过下面的设置可以解除相关的限制。 1、修改注册表 打开注册表管理器。依次HKEYLOCAL_MACHINE\Software\Policies\Microsoft\Windows\One…...

Android tinyalsa库函数剖析

1. PCM 流控制函数 打开、关闭及状态检查 pcm_open(unsigned int card, unsigned int device, unsigned int flags, struct pcm_config *config) 打开指定声卡&#xff08;card&#xff09;和设备&#xff08;device&#xff09;的 PCM 流。 flags 参数确定流的方向&#xff1…...

PyCharm Flask 使用 Tailwind CSS v3 配置

安装 Tailwind CSS 步骤 1&#xff1a;初始化项目 在 PyCharm 终端运行&#xff1a;npm init -y安装 Tailwind CSS&#xff1a;npm install -D tailwindcss3 postcss autoprefixer初始化 Tailwind 配置文件&#xff1a;npx tailwindcss init这会生成 tailwind.config.js。 步…...