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

NeurIPS 2024 | 像素级LLM实现图像视频理解、生成、分割和编辑大统一(昆仑万维等)

Accepted by NeurIPS 2024

文章链接:https://arxiv.org/pdf/2412.19806
项目链接:https://vitron-llm.github.io/
Github链接:https://github.com/SkyworkAI/Vitron

亮点直击

  • 首次提出了一种通用的视觉多模态大语言模型(MLLM)——VITRON,能够在像素级对图像和视频进行理解、生成、分割和编辑。

  • 引入了一种更高效的LLM到解码器的指令传递机制,结合了离散文本和连续信号嵌入。

  • 提出了针对多模态大语言模型的像素级视觉语言时空对齐学习,使其能够达到最优的细粒度视觉能力。
    设计了一种协同模块,最大化任务持久的细粒度视觉特征在所有不同视觉任务之间的共享能力,通过此机制,VITRON的性能超越了现有的最先进(SoTA)专业模型。

总结速览

解决的问题

  • 多模态大语言模型(MLLMs)在支持多任务方面缺乏统一性,特别是图像和视频的联合处理能力不足。

  • 模型在细粒度像素级理解上存在局限,无法实现高精度的视觉区域定位与编辑。

  • 视觉功能单一,难以支持从视觉理解到生成、分割、编辑等全方位任务。

  • 多任务间存在协作性不足,任务间可能互相影响,难以实现统一优化。

**提出的方案 **

  • 统一架构设计:VITRON 采用基于 LLM 的框架,前端集成图像、视频和像素级区域视觉编码器,后端结合最先进的图像与视频模块,支持视觉理解、生成、分割和编辑等多任务。

  • 混合指令传递方法:结合离散文本指令与连续信号嵌入,确保 LLM 决策能够精确传递到后端模块。

  • 跨任务协作模块:通过增强任务不变的细粒度视觉特征共享,提升不同视觉任务间的协同能力。

  • 精细化像素级时空对齐学习:设计基于像素的视觉语言对齐与时空预测调优,增强模型的细粒度视觉感知能力。

  • 对抗训练:将任务特定特征与任务不变特征解耦,提升跨任务间的表现稳定性。

应用的技术

  • 视觉-语言对齐学习:通过前端编码器与 LLM 的对齐优化,实现视觉与语言模态的深度协同。

  • 任务调用定向调优:训练 LLM 以更好地生成适合后端模块的调用指令。

  • 嵌入对齐调优:优化 LLM 与后端模块间的信号嵌入对齐,提高信息传递精度。

  • 多模态协作训练:融合像素级感知与时空预测,通过细粒度感知与对抗学习实现任务间协同优化。

达到的效果

  • 在图像和视频任务上实现了真正的统一支持,从静态图像到动态视频均表现出色。

  • 覆盖 12 项视觉任务,基于 22 个数据集的实验表明,VITRON 在多任务性能上与专用的单任务模型相媲美,甚至超越了某些任务的最优模型。

  • 实现了从视觉理解到生成、分割、编辑等全流程的高效支持,展现了卓越的多模态通用能力。

  • 模型设计的各项组件通过分析验证了其有效性,为未来多模态模型的进一步发展提供了参考。

VITRON架构

VITRON采用了现有流行多模态大语言模型(MLLMs)中最常见的“编码器-LLM-解码器”架构范式。整体框架如下图2所示,包含三个关键模块:

  1. 前端视觉和语言编码器;

  2. 用于语义理解和文本生成的中心LLM;

  3. 后端解码器模块,用于用户响应和视觉操作。

前端视觉-语言编码

对于图像和视频,分别使用CLIP ViT-L/14@336px作为编码器。视频编码器独立处理每一帧,并通过在时间维度上进行平均池化来生成整体的时间表示特征。随后,采用区域像素感知视觉提取器作为草图编码器,用于用户交互(如点击、绘制框或多边形、涂鸦)。主要参考[125],使用来自用户输入的mask区域的基于对象的表示,这不仅编码了像素级视觉特征,还收集了每个区域的空间位置信息。这些区域特征与对象区域的二进制空间几何掩膜一起进行池化,生成的嵌入特征被使用。随后,这些多模态特征表示通过线性投影传递给LLM。

核心LLM

在VITRON中,LLM作为核心代理。遵循最常见的实践 [15, 94, 128],使用Vicuna(7B,版本1.5)。LLM处理来自语言和视觉模态的输入,以执行语义理解和推理,然后做出决策。对于视觉理解任务,LLM直接为用户输出文本响应。同时,LLM还需向后端模块传递信号和指令,引导其执行超越文本生成的更复杂任务,例如视觉分割、生成和编辑。

正如前文所强调的,LLM有效、精确传递信息的能力对复杂多模态任务的性能至关重要。本文提出了充分结合两种常见信息传递方法的优点:离散文本指令和连续信号嵌入。前者有助于准确调用不同的后端模块(得益于LLM在任务调度中的能力),而后者补充了无法通过离散文本直接描述的丰富模态保留视觉特征。如前面图2所示,LLM输出以下内容:

  • 用户的文本响应;

  • 模块调用的文本指令;

  • 特殊token的特征嵌入。

特征嵌入分为任务特定特征和任务不变的细粒度视觉-语言特征。这些文本指令和特征嵌入被传递给后端模块。

后端视觉专家

为了使MLLM具备多种视觉任务能力,将一系列独立的视觉专家集成到LLM中。

  • 对于图像生成和编辑,集成了基于扩散模型的GLIGEN。

  • 对于图像和视频分割,选择了SEEM。

  • 对于视频生成,分别使用ZeroScope和I2VGen-XL处理文本到视频和图像到视频任务。

  • 最后,对于视频编辑功能,集成了StableVideo。

LLM的文本指令首先确定调用哪个任务模块;同时,特征嵌入被传递给对应模块的特征编码器,以协助任务执行。特别设计了一种结构化调用模板,包括:

  • 模块名称;

  • 调用命令;

  • 区域(可选),用于特定任务需要的细粒度视觉特征。

特征嵌入包括任务特定特征和任务不变的细粒度特征。这一设计旨在实现特征解耦,并尽可能广泛地在所有任务中共享任务不变的细粒度特征,以促进不同任务之间的协同作用。

像素感知的协同视觉-语言理解调优

通过VITRON框架,在训练中设置了三个阶段的目标:首先赋予模型基本的多模态能力(理解和生成);接着进行精细化的视觉定位指令调优,增强模型的像素级感知能力;最后执行跨任务协同学习,最大化所有任务之间共享的细粒度特征。

基本多模态理解与生成技能训练

在训练的第一阶段,主要目标是为MLLM赋予基本的多模态理解和生成能力,包括前端的编码器与LLM对齐以及后端的LLM与解码器对齐。使用了以下三种训练方法:

  • 总体视觉-语言对齐学习
    这一过程旨在确保输入的视觉和语言特征被映射到统一的特征空间中。遵循先前的通用实践,利用包含“图像-描述”对(如CC3M)、“视频-描述”对(如Webvid)、以及“区域-描述”对(如RefCOCO)的数据集。在输入图像、视频或特定视觉区域时,调用冻结的LLM生成与参考描述一致的文本描述或标题。

  • 文本调用指令调优
    此训练步骤的目的是让系统具备精准执行指令的能力,使LLM能够生成适当且正确的调用文本指令。为此,收集了总计55,000+的指令调优样本。

  • 面向嵌入的解码器对齐调优
    除了使用显式的文本指令调用下游模块外,还需要将信号特征嵌入(来自LLM)输入到模块中。参考[114],通过解码侧投影层对齐特征嵌入与所有视觉模块输入编码器,即通过最小化特征距离来实现对齐。

精细化时空视觉定位指令调优

一个通用的视觉模型需要具备像素感知的视觉理解能力,适用于图像和视频。因此,为VITRON提出了精细化的时空视觉定位指令调优。核心思想是使LLM能够定位图像的精细空间性以及视频的详细时间性。提供了以下三个学习方面:

  • 图像空间定位
    考虑到LLM本身只能输出文本,设计了响应机制,使其生成相应的边界框区域。关注两类任务:定位图像描述和参照图像分割。

  • 视频时空定位
    对于视频,LLM需要识别空间区域并在视频的时间上下文中对其进行定位,本质上是实现视频追踪。类似地,探索了定位视频描述和参照视频追踪等任务。

  • 基于定位的视觉问答 (Grounding-aware Vision QA) 上述定位任务仅触及视觉感知的低层次方面。然而,在许多场景下,要求LLM具备更高阶、深入的视觉推理能力,这需要建立在基础的像素级定位能力之上。因此,我们进一步引入了基于定位的视觉问答(Grounding-aware Vision QA),包括图像问答(Image-QA)和视频问答(Video-QA)。通过这些任务,LLM能够在已定位的结果基础上进行语义层次的问答。

跨任务协同学习

作为通用模型,直接调用不同的专家模块会引发一个关键问题:如何确保不同模块(任务)之间协同工作?如果没有这种协作,将它们整合到一个复合系统中将毫无意义。为了解决这个问题,提出将信号特征嵌入分解为任务特定特征任务无关的细粒度特征

直观上,由于所有视觉任务都是细粒度的,任务无关的细粒度特征在不同任务之间共享得越广泛,各任务之间的互惠性就越强,从而获得更大的协同效应。因此,引入了一个跨任务协同学习模块,如下图3所示。

对抗训练用于特征解耦
采用对抗训练来解耦任务特定特征和任务无关特征。具体而言,首先让不同的视觉专家骨干网络根据这两类特征(通过拼接)进行任务预测。同时,引入一个第三方判别器(充当分类器),仅基于共享特征表征来判断当前任务是哪一类。

理想情况下,一旦判别器无法准确识别任务类型,说明共享特征已经被最大程度纯化,并且可以广泛应用于各个任务之间,从而实现真正的跨任务协同效应。

实验

现在尝试量化 VITRON 在四个视觉任务组上的性能,这些任务覆盖了 12 个任务和 22 个数据集。所有 VITRON 的训练均在 10×A100 (80G) GPU 上进行。为了确保公平比较,所有后续实验均采用与基线系统相同或相似的设置,并按照既定实践进行评估。

视觉分割结果

图像分割
下表 2 显示了在三个数据集 RefCOCO、RefCOCO+ 和 RefCOCOg 上的图像分割结果。与多个重要模型进行了比较,包括最新的非 MLLM 方法以及 MLLM 基线模型 NExT-Chat。显然,尽管 VITRON 在 RefCOCO Val 和 TestA 数据集上略逊于 NExT-Chat,但在其余数据集上表现优越。

视频分割
对于视频分割,我们研究了两个任务:视频空间定位(带边界框)和视频目标分割(又称视频跟踪,带掩码)。下表 3 展示了 VITRON 与当前最先进(SoTA)视频 MLLM 在视频空间定位任务上的比较。可以看出,VITRON 显著优于 PG-Video-LLaVA。下表 4 显示了 VITRON 与一些 SoTA 系统在视频跟踪任务上的比较,其中我们的系统继续表现出卓越的性能。

细粒度视觉理解结果

接下来,我们评估 VITRON 在细粒度视觉理解任务中的能力,主要关注图像和视频的区域级任务。

区域级图像理解 我们在图像指代表达理解和图像区域描述等任务上测试了 VITRON。表 5 中的比较和结果表明,VITRON 在多个数据集和指标上超越了最佳基线模型,证明其在图像细粒度语义理解上的强大和准确性。

上述两个任务仅关注模型在区域级别上的识别能力。进一步地,我们深入评估了模型对图像语义理解的能力,特别是通过基于图像的视觉问答(VQA)任务。这些任务能够有效反映模型对图像深层语义内容的理解能力。下表 6 显示了基于图像的 VQA 在六个数据集上的结果。主要比较了两组模型:一组具有像素级视觉对齐能力,另一组没有。结果表明,具备细粒度对齐能力的模型在任务性能上表现更强,这表明细粒度对齐有助于更深入的语义理解。值得注意的是,VITRON 在评估的模型中表现出最高的性能。

区域级视频理解 同样地,对于视频,我们评估了区域级视频理解能力。在图像观察的基础上,我们直接进行了视频问答(QA)任务。下表 7 展示了在四个代表性数据集上的视频 QA 结果。有趣的是,虽然 PG-Video-LLaVA 具有视频对齐能力,但其表现并未优于缺乏对齐能力的 Video-LLaVA。然而,VITRON 实现了更优异的性能。这间接证明了我们的系统具备更准确的视频对齐能力(如下表 8 所示),从而促进了更好的视频语义理解。

视觉生成结果

本文评估了系统在视觉生成任务中的能力,重点关注三种最具代表性的生成任务类型:文本生成图像(text-to-image generation)、文本生成视频(text-to-video generation)和图像生成视频(image-to-video generation)。这些任务广泛覆盖了图像生成的需求。下表 8、表 9 和表 10 展示了 VITRON 与其他最新技术(SoTA)系统的比较结果,包括 MLLM 和非 MLLM 的生成器。结果清楚地表明,VITRON 在所有三种任务中均表现优异。例如,在文本生成图像和文本生成视频任务中,VITRON 的性能优于 NExT-GPT。同样,在图像生成视频任务中,VITRON 超越了 SoTA 基线 VideoCrafter1,展现了更出色的结果。

视觉编辑结果

图像编辑
使用了 MagicBrush 数据集,该数据集通过需要一系列复杂编辑操作的查询挑战模型。这些编辑操作包括移除、更改、修复和添加元素。目前尚无支持图像编辑的 MLLM 系统,因此我们的比较仅限于非 LLM 的专业系统。下表 11 展示了不同模型在各种指标上的表现。VITRON 在所有指标上均表现更强,表明其在图像编辑任务中的稳定能力。

视频编辑
对于视频编辑,当前社区缺乏像图像编辑那样的标准化基准和评估方法。因此,选择了手动评估方法。要求不同的视频编辑系统基于相同的查询编辑相同的视频,之后五位评审员对编辑过的视频进行评分。评估主要关注 1) 目标内容修改的成功与否,2) 非目标内容的忠实度/保真度。下表 12 展示了视频编辑的手动评估结果。显然,VITRON 在这两个方面均优于两个基线系统,展示了卓越的视频编辑能力。随后,可视化了 VITRON 视频编辑的过程。

讨论

本文通过广泛的定量比较展示了 VITRON 的整体效能。现在进一步探讨系统如何以及为何能够进步,通过深入分析进行探索。

离散文本指令还是连续信号嵌入,哪种更优?
首先,我们探索了不同的消息传递机制,以确定离散文本指令是否更有利,或者连续信号嵌入是否更适合构建多模态通用模型。同时,我们验证了所提出的混合消息传递方法的优缺点。在 6 个任务上进行测试,比较了使用混合方法(默认设置)、没有信号嵌入和没有文本指令的 VITRON 任务表现,以及后端任务模块的成功执行率。下图 4 展示了结果。如图所示,整体上,使用这两种方法的场景性能始终更好,这证实了我们的混合模式的有效性。同时,我们发现文本指令的方法更有利于后端模块的成功执行,但软特征嵌入似乎在特定任务表现方面更有用。

每种精细视觉对齐学习的贡献有多大?
接下来,验证了在中提出的不同精细视觉对齐学习策略的具体贡献。图 5(顶部的 4 个与图像任务相关,底部的 4 个与视频任务相关)展示了当移除某个学习策略时对性能的影响。总体而言,这 3 种精细视觉对齐学习策略对不同的下游任务至关重要。例如,对齐和引用分割任务直接影响精细视觉识别任务,而针对对齐的视觉问答调优则显著提升认知层次的问答任务。这验证了我们提出的精细视觉对齐调优策略的有效性。

VITRON 是否真的实现了跨任务协同?
最后,探讨了本文的系统是否能够充分支持跨任务协同。根据表 2 至表 12 中关于“协同模块”消融实验的结果,我们可以观察到协同学习机制确实对整体性能产生了积极影响。在下图 6 中,进一步研究了不同任务之间是否存在协同作用及其合作关系。为了便于研究,考虑了任务之间的一对一映射关系,逐一研究任务对之间的合作。显然,不同任务之间的合作效应有所不同。那些更加依赖精细视觉特征的任务或骨干模块获得了更显著的改进。这也证明了协同学习模块可以成功促进跨任务协同。

结论

VITRON,一种统一的像素级视觉大语言模型,能够无缝理解(感知和推理)、生成、分割(对齐和追踪)以及编辑(修补)图像和视频。进一步介绍了一种新的混合消息传递方法,结合了离散文本指令和连续信号嵌入,以确保精确的功能调用。此外,VITRON 采用像素级时空视觉-语言对齐来增强其精细视觉能力。同时,开发了跨任务协同模块,以优化任务无关的精细视觉特征的使用,提升各类视觉任务之间的协同作用。在 22 个数据集上的 12 个视觉任务中,VITRON 展现了在视觉分割、精细视觉理解、生成和编辑等方面的广泛能力。总体而言,本研究展示了构建一个视觉-语言通用系统的巨大潜力,推动向更统一的人工智能迈进。

参考文献

[1] VITRON: A Unified Pixel-level Vision LLM for Understanding, Generating, Segmenting, Editing

相关文章:

NeurIPS 2024 | 像素级LLM实现图像视频理解、生成、分割和编辑大统一(昆仑万维等)

Accepted by NeurIPS 2024 文章链接:https://arxiv.org/pdf/2412.19806 项目链接:https://vitron-llm.github.io/ Github链接:https://github.com/SkyworkAI/Vitron 亮点直击 首次提出了一种通用的视觉多模态大语言模型(MLLM&…...

基于 GPUTasker 的 GPU 使用情况钉钉推送机器人实现

引言 https://github.com/cnstark/gputasker 随着 AI 模型的广泛应用,GPU 成为团队中最重要的资源之一。然而,如何实时监控 GPU 的使用情况并及时通知团队是一个值得关注的问题。为了更好地管理显卡资源,本文基于 GPUTasker,实现了…...

Linux-Ubuntu之RTC实时时钟显示

Linux-Ubuntu之RTC实时时钟显示 一,原理二,代码实现三,小结1.为什么这个显示不出来? 一,原理 这个RTC的和计数器差不多,往对应寄存器中放入初始化的时间,然后在时钟的作用下,进行累…...

rouyi(前后端分离版本)配置

从gitee上下载,复制下载地址,到 点击Clone,下载完成, 先运行后端,在运行前端 运行后端: 1.配置数据库,在Navicat软件中,连接->mysql->名字自己起(rouyi-vue-blog),用户名roo…...

【2025优质学术推荐】征稿控制科学、仪器、智能系统、通信、计算机、电子信息、人工智能、大数据、机器学习、软件工程、网络安全方向

【2025优质学术推荐】征稿控制科学、仪器、智能系统、通信、计算机、电子信息、人工智能、大数据、机器学习、软件工程、网络安全方向 【2025优质学术推荐】征稿控制科学、仪器、智能系统、通信、计算机、电子信息、人工智能、大数据、机器学习、软件工程、网络安全方向 文章目…...

C# 设计模式(结构型模式):适配器模式

C# 设计模式(结构型模式):适配器模式 在软件开发中,我们经常会遇到需要将不同接口的组件结合在一起的情况。此时,适配器模式(Adapter Pattern)就派上了用场。它属于结构型设计模式,…...

贪心算法概述

贪心算法总是作出当前看来最好的选择,是局部最优 可以使用贪心算法的问题一般具有两个重要的性质 贪心选择性质最优子结构性质 贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择来达到 其与动态规划的问题区别在于,动态规划算法通…...

自从学会Git,感觉打开了一扇新大门

“同事让我用 Git 提交代码,我居然直接把项目文件压缩发过去了……”相信很多初学者都经历过类似的窘境。而当你真正掌握 Git 时,才会发现它就像一本魔法书,轻松解决代码管理的种种难题。 为什么 Git 能成为程序员的标配工具?它究…...

jrc水体分类对水体二值掩码修正

使用deepwatermap生成的水体二值掩码中有部分区域由于被云挡住无法识别,造成水体不连续是使用jrc离线数据进行修正,jrc数据下载连接如下:https://global-surface-water.appspot.com/download 选择指定区域的数据集合下载如图: 使…...

Scala Collection(集合)

Scala的集合框架非常丰富和灵活,主要包括三大类:序列(Seq)、集(Set)和映射(Map)。这些集合类都扩展自Iterable特质,并且Scala为几乎所有集合类提供了可变和不可变的版本。…...

121.【C语言】数据结构之快速排序(未优化的Hoare排序存在的问题)以及时间复杂度的分析

目录 1.未优化的Hoare排序存在的问题 测试代码 "量身定制"的测试代码1 运行结果 "量身定制"的测试代码2 运行结果 "量身定制"的测试代码3 运行结果 分析代码1、2和3栈溢出的原因 排有序数组的分析 分析测试代码1:给一个升序数组,要求排…...

js 文档注释

在 JavaScript 中,文档注释(也叫 JSDoc 注释)是一种用于为代码提供结构化说明的注释方式。JSDoc 注释通常用于生成 API 文档、提高代码可读性,并为 IDE 提供智能提示。下面是如何在 JavaScript 中编写文档注释的基本指南。 基本语…...

chatgpt model spec 2024

概述 这是模型规范的初稿,该文档规定了我们在OpenAI API和ChatGPT中的模型的期望行为。它包括一组核心目标,以及关于如何处理冲突目标或指令的指导。 我们打算将模型规范作为研究人员和数据标注者创建数据的指南,这是一种称为从人类反馈中进…...

路由技术在网络中的作用及特点

作用:路径选择:在复杂的网络拓扑结构中,路由技术能够根据网络的当前状态和目标地址,为数据报文选择一条最佳的传输路径,确保数据能够快速、准确地到达目的地。例如,在互联网中,当用户访问一个网…...

No.1十六届蓝桥杯备战|第一个C++程序|cin和cout|命名空间

第一个C程序 基础程序 使用DevC5.4.0 写一个C程序 在屏幕上打印hello world #include <iostream> using namespace std;int main() {cout << "hello world" << endl;return 0; } 运行这个C程序 F9->编译 F10->运行 F11->编译运行 mai…...

vim 按下esc后取消高亮

配置 ideavimrc文件 " 按下 Esc 键时自动取消高亮 " 在普通模式下按下 Esc 键取消高亮 nnoremap <Esc> :nohlsearch<CR> " 在插入模式下按下 Esc 键取消高亮 inoremap <Esc> <Esc>:nohlsearch<CR>" 额外&#xff1a;当退出…...

JS-判断字段值是否为空

1.js方法 /*** Description: 判断给定值是否为空* param {any} value 需要检查的值* return {boolean} 如果值为空&#xff0c;返回 true&#xff1b;否则返回 false */ export function isEmpty(value) {// 检查是否为 null 或 undefinedif (value null || value undefined…...

STM32-笔记22-sg90舵机

一、接线 二、实验实现 动手让 SG90 每秒转动一下&#xff0c;0 -> 20 -> 40 -> 100 -> 180 如此循环。 舵机接A6 复制18-呼吸灯&#xff0c;重命名24-sg90舵机 把PWM重命名sg90 打开项目文件 在魔术棒和品上把PWM都去掉&#xff0c;加载sg90文件夹 加载之后…...

智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之10 方案再探之1:特定于领域的模板 之1 随想交流

前面的项目再次不能继续。不得已再一次重新建了这个项目&#xff0c;并以当前修改版本的项目文件为附件开始了今天的沟通。所以 标明是“方案再探” 在新建这个项目的同时&#xff0c;就将项目文件作为附件添加进去&#xff0c;然后开始。 文件链接&#xff1a;智能工厂的设计…...

国内Ubuntu环境Docker部署Stable Diffusion入坑记录

国内Ubuntu环境Docker部署Stable Diffusion入坑记录 本文旨在记录使用dockerpython进行部署 stable-diffusion-webui 项目时遇到的一些问题&#xff0c;以及解决方案&#xff0c;原项目地址: https://github.com/AUTOMATIC1111/stable-diffusion-webui 问题一览&#xff1a; …...

速盾:服务器CDN加速解析的好处有哪些呢?

随着互联网应用的普及&#xff0c;越来越多的企业开始关注如何提升网站的访问速度和用户体验。为了实现这一目标&#xff0c;许多企业选择使用CDN&#xff08;内容分发网络&#xff09;来加速网站的内容分发。CDN通过在全球范围内分布多个节点&#xff0c;将内容缓存到离用户最…...

【sql】CAST(GROUP_CONCAT())实现一对多对象json输出

数据库&#xff1a;mysql 5.7版本以上 问题&#xff1a;一对多数据&#xff0c;实现输出一条数据&#xff0c;并将多条数据转换成json对象输出&#xff0c;可以实现一对多个字段。 项目中关系较为复杂&#xff0c;以下简化数据关系如下&#xff1a; t1是数据表&#xff0c;t…...

[创业之路-221]:企业的责任中心:收入中心、利润中心、成本中心、费用中心、投资中心

目录 一、大部分企业责任中心定义 投资中心&#xff1a;战略决策部 利润中心&#xff1a;事业部 收入中心&#xff1a;进账 成本中心&#xff1a;成本 费用中心&#xff1a;消耗 二、华为对责任中心定义 投资中心 利润中心&#xff08;事业部&#xff1a;BU&#xff0…...

人工智能之基于阿里云图像人脸融合部署

人工智能之基于阿里云图像人脸融合部署 需求描述 基于阿里云搭建图像人脸融合模型&#xff0c;模型名称&#xff1a;iic/cv_unet-image-face-fusion_damo使用上述模型输出人脸融合照片 模型路径&#xff1a;人脸融合 业务实现 阿里云配置 阿里云配置如下&#xff1a; SD…...

GXUOJ-算法-补题:22级《算法设计与分析》第一次课堂练习

2.最大子数组和 问题描述 代码解答 #include<bits/stdc.h> using namespace std; const int N1005; int sum,n,a[N]; int res-1;int result(){for(int i0;i<n;i){if(sum<0) suma[i];else{suma[i];resmax(res,sum);}}return res; } int main(){cin>>n;for(i…...

Redisson 分布式锁获取tryLock和lock的区别

问题 boolean isLock lock.tryLock(10, 30, TimeUnit.SECONDS); boolean isLock lock.lock(30, TimeUnit.SECONDS); boolean isLock lock.lock(); 三者的区别&#xff1f;&#xff1f; 这三个方法都是用于获取 Redisson 分布式锁的&#xff0c;但它们在获取锁的方式和行为…...

mysql及其兼容语法数据库对于注释的特殊要求

我司大部分数据库使用MS-SQL&#xff0c;其中使用大量–开头的行注释&#xff0c;由于业务需要&#xff0c;切换到了Starrocks数据库&#xff08;兼容mysql语法&#xff09;后发现使用with开头子查询的时候&#xff0c;大量报错&#xff0c;单独执行内部的子查询又正常&#xf…...

开源模型应用落地-工具使用篇-Spring AI(七)

一、前言 在AI大模型百花齐放的时代&#xff0c;很多人都对新兴技术充满了热情&#xff0c;都想尝试一下。但是&#xff0c;实际上要入门AI技术的门槛非常高。除了需要高端设备&#xff0c;还需要面临复杂的部署和安装过程&#xff0c;这让很多人望而却步。不过&#xff0c;随…...

多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测

多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测 目录 多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测预测效果基本介绍模型背景程序设计参考资料 预测效果 基本介绍 Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入…...

【golang学习之旅】使用VScode安装配置Go开发环境

1. 下载并安装Go 1.1 下载地址1.2 选择版本并下载1.3 安装目录1.4 验证是否安装成功 2. 配置环境变量 2.1 配置步骤2.2 GO部分环境变量说明 3. 下载或更新 Vscode 3.1 下载地址3.2 安装步骤 4. 为Go开发配置VScode 1. 下载并安装Go 1.1 下载地址 https://studygolang.com/dl…...

HarmonyOS Next“说书人”项目 单机版 实践案例

前段时间开发了一个软件&#xff0c;取名为“说书人”&#xff0c;后由于备案暂时没有通过&#xff0c;于是删除了联网功能&#xff0c;重新做了一个单机版&#xff0c;这里对于单机版的开发实践案例进行一个发出&#xff0c;希望能帮助到大家 文章最后给出了AtomGit仓库地址 p…...

Vue3 + ElementPlus动态合并数据相同的单元格(超级详细版)

最近的新项目有个需求需要合并单元列表。ElementPlus 的 Table 提供了合并行或列的方法&#xff0c;可以参考一下https://element-plus.org/zh-CN/component/table.html 但项目中&#xff0c;后台数据返回格式和指定合并是动态且没有规律的&#xff0c;Element 的示例过于简单&…...

前端开发中依赖包有问题怎么办

在前端开发中&#xff0c;如果你发现某个依赖包存在问题&#xff0c;可以考虑以下步骤来解决&#xff1a; 一、简单方案 1. 检查问题来源&#xff1a; 确认问题是否由依赖包引起&#xff0c;而不是你的代码或其他配置问题。查看错误信息、文档和相关的 GitHub issue&#xf…...

Oracle exp和imp命令导出导入dmp文件

目录 一. 安装 instantclient-tools 工具包二. exp 命令导出数据三. imp 命令导入数据四. expdp 和 impdp 命令 一. 安装 instantclient-tools 工具包 ⏹官方网站 https://www.oracle.com/cn/database/technologies/instant-client/linux-x86-64-downloads.html ⏹因为我们在…...

阿里云人工智能工程师ACA认证免费课程学习笔记

阿里云人工智能工程师ACA认证免费课程学习笔记 0. 引言第1章&#xff1a;人工智能基础课时1&#xff1a;人工智能概述课时2&#xff1a;人工智能产业结构课时3&#xff1a;人工智能项目开发的基本流程 第2章&#xff1a;机器学习PAI平台基础第3章&#xff1a;数据处理基础课时8…...

单片机库函数-io输出操作

1、需要使用模块 使用库函数做跑马灯&#xff0c;要用到: misc.h misc.c 时钟模块&#xff1a; stm32f10x_rcc.h stm32f10x_rcc.c gpio模块&#xff1a; 头文件:stm32f10x_gpio.h 源文件:stm32f10x_gpio.c 2、库函数 2.1、初始化GPIO void GPIO_Init(GPIO_TypeDef* …...

SpringAI从入门到熟练

学习SpringAI的记录情况 文章目录 前言 因公司需要故而学习SpringAI文档&#xff0c;故将自己所见所想写成文章&#xff0c;供大佬们参考 主要是为什么这么写呢&#xff0c;为何不抽出来呢&#xff0c;还是希望可以用的时候更加方便一点&#xff0c;如果大家有需求可以自行去…...

Javascript-web API-day04

文章目录 01-实例化日期对象02-常见的日期对象方法03-年月日案例04-年月日简化05-得到时间戳06-倒计时07-关闭节点08-子节点09-增加节点10-克隆节点11-删除节点12-m端时间13-(swiper插件的使用)移动端轮播图游乐园项目 学成在线重构 01-实例化日期对象 <!DOCTYPE html> …...

等待事件 ‘latch: row cache objects‘ 说明及解决方法

早上刚来的时候&#xff0c;收到zabbix 数据库连接数增长的告警&#xff0c;同时应用负责人也说查询很慢、很卡 查看该时间段 最多的等待事件 SELECT event,COUNT(1) num FROM V$ACTIVE_SESSION_HISTORY A WHERE A.SAMPLE_TIME BETWEEN TO_DATE(2025-01-02 09:00:00, YYYY-M…...

Mac电脑python多版本环境安装与切换

我当前是python3.9.6环境&#xff0c;需要使用3.9.8环境&#xff0c;通过brew安装3.9.8版本&#xff0c;然后通过pyenv切换环境 步骤 1: 安装 pyenv brew install pyenv brew install pyenv-virtualenv 步骤 2: 安装 Python 3.9.8&#xff08;使用 pyenv 安装指定版本的 Pyth…...

MySQL 锁那些事

Q1 : MySQL有哪些锁,功能是什么,如何项目中使用?Q2 : 行锁是如何实现的?什么情况下会使用行锁?Q3 : 四种事务隔离形式的行锁有什么不一样?读未提交读提交可重复读串行 Q4 : MySQL 的读写都是怎样加锁的?Q5 : 需要注意什么? Q1 : MySQL有哪些锁,功能是什么,如何项目中使用…...

面试手撕笔记ML/DL

数据集 数据集的批处理迭代器 Deep-ML | Batch Iterator for Dataset 实现一个批量可迭代函数&#xff0c;该函数在numpy数组X和可选numpy数组y中进行采样。该函数应该生成指定大小的批量。如果提供了y&#xff0c;则该函数应生成&#xff08;X, y&#xff09;对的批次&#…...

WPF使用ContentControl控件实现区域导航,并使用Prism依赖注入优化

背景&#xff1a;使用ContentControl控件实现区域导航是有Mvvm框架的WPF都能使用的&#xff0c;不限于Prism 主要是将ContenControl控件的Content内容在ViewModel中切换成不同的用户控件 下面是MainViewModel&#xff1a; private object body;public object Body {get { retu…...

NineData 荣获年度“创新解决方案奖”

近日&#xff0c;国内知名 IT 垂直媒体 & 技术社区 IT168 再次启动“技术卓越奖”评选&#xff0c;由行业 CIO/CTO 大咖、技术专家及 IT 媒体多方联合评审&#xff0c;NineData 凭借技术性能和产品创新等方面表现出色&#xff0c;在数据库工具领域荣获“2024 年度创新解决方…...

Windows 11 系统中npm-cache优化

在 Windows 11 系统中&#xff0c;C:\Users\K\AppData\Local\npm-cache 文件夹是 npm&#xff08;Node Package Manager&#xff09; 用于缓存已下载的包的目录。缓存的存在可以加快包的安装速度&#xff0c;因为当再次安装相同的包时&#xff0c;npm 可以直接从缓存中获取&…...

【运维工具】Ansible一款好用的自动化工具

Ansible一款好用的自动化工具 概述一、基本概念与特点二、核心组件三、主要功能与应用场景四、优缺点 如何使用一、安装Ansible二、配置Ansible三、使用Ansible四、注意事项 Playbook语法详解一、YAML文件的基本结构二、Playbook的主要组成部分三、Playbook示例四、注意事项 概…...

4.Web安全——JavaScript基础

一、JavaScript是什么&#xff1f; JavaScript 是一种高级的、解释型的编程语言&#xff0c;广泛应用于网页开发和各种软件应用程序中。 二、为什么要学习JavaScript XSS&#xff08;跨站脚本攻击&#xff09;防范 XSS 是一种常见的 Web 安全漏洞&#xff0c;攻击者将恶意脚…...

mysql删除无用用户

1、删除不用的账户 (1) 查看当前已存在账户 mysql> select user,host,password from mysql.user; 或下面的命令 #mysql> sELECT DISTINCT CONCAT(User: ,user,,host,;) AS query FROM mysql.user; --------------------------------------- | query …...

2025元旦源码免费送

我们常常在当下感到时间慢&#xff0c;觉得未来遥远&#xff0c;但一旦回头看&#xff0c;时间已经悄然流逝。对于未来&#xff0c;尽管如此&#xff0c;也应该保持一种从容的态度&#xff0c;相信未来仍有许多可能性等待着我们。 免费获取源码。 更多内容敬请期待。如有需要可…...

静态库封装之ComFile类

ComFile.h /* author:EricsT data:20241024 version:V1.0 history:author data version contentEricsT 20241024 V1.0 新增ComFile类[common、FILE以及stream部分] */#pragma once#include <string> #include <fstream> using namespace std;class ComFile { publi…...